C/C++ :: Sorting A 10 Card Poker Hand Using Qsort?
Nov 8, 2014
I almost finished a program but am stuck on sorting the hand im dealing with qsort. sorting by the face values and if they have the same faces im suppose to follow this suit order to determine which one is greater (Clubs, Diamond, Hearts, and Spades) how would i adjust my comparator function to do this for me ?
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define DECK_SIZE 52
struct card {
const char *face;
const char *suit;
[code]....
View 4 Replies
ADVERTISEMENT
Aug 21, 2013
put enumerated data type in c++ for a poker program (specially for color and cardtype)?
Here are some codes:
//card.cpp
#include "cCard.h"
using namespace std;
cCard::cCard()
[Code]....
View 1 Replies
View Related
Mar 31, 2013
I am versed in qsorting struct members within a struct instance, as in the example below:
Code:
#include <iostream>
#include <stdlib.h>
using namespace std;
struct item_database {
[Code]....
What I CANT do however is to sort an array of structs by one of its members. This is a complete different problem even if it sounds similar.
In other words, the problem is this; Say we have a struct:
Code:
struct item_database {
int key;
string token;
};
Then we declare an array of this struct in the heap:
Code: item_database *idptr = new item_database[700000]; and initialize its values.
How would one go about sorting this heap array of structs by its member function "token"?
I used the following call to qsort (standard library) and call to the compare function but it doesnt work:
Code:
qsort (idptr, 1000, sizeof(string), compare);
Code: int compare (const void* a, const void* b){
if (*(char*)a >= *(char*)b)
return 1;
else
return -1;
}
Or in more lamens terms say we have the following stuct instances:
Key: Token:
1 Hello
2 World
3 How
4 Are
5 You
Then I need those structs to order according to token (alphabetically, increasing or decreasing depending whats in our compare function).....
View 3 Replies
View Related
Mar 2, 2013
I want to be honest, this is FOR homework, but is NOT homework. I have created this example to work from in order to understand qsort further because the next assignment requires it's use.
Our teacher gave us this small piece of example code and I am trying to expand on it to serve my purpose.
[C] Sorting - Pastebin.com
The code gives me no errors, but does not sort the array. Need to clarify the use of qsort in this instance.
I am imagining that the reason it's not sorting properly ( or at all ) is because of my comparison function. That is really just an assumption. Or perhaps I just don't understand the pointer array i'm using.
View 3 Replies
View Related
Sep 26, 2014
I am starting a new thread. So I try to sort an array with qsort and then save the new order, so this means if I have a list like:
4 3 7 2 [0] [1] [2] [3],
after sorting it becomes:
2 3 4 7 [3] [1] [0] [2] <== this is what I want to have!
Which works fine, with following code:
void qsort_my(int *a, int l, int r, int *array_order) {
int j;
if( l < r ) {
j = split( a, l, r, array_order);
qsort_my( a, l, j-1, array_order);
qsort_my( a, j+1, r, array_order);
[Code]...
I tried to add the criteria :
(if (a[i] != a[j] || (a[i] == a[j] && array_order[i] > array_order[j])))
before calling switch_pos, but it is not working since sometimes you swap two numbers like:
11 9 15 9 <= here the 11 and 15 are swapped, but the two 9's will never be swapped <=> compared.I mean I could run it again with the array_order on the first parameter position, but this would increase my runtime enormously!
View 6 Replies
View Related
Mar 20, 2013
i am facing some problem with qsort() function it work well if the last element of array is larger then the 2nd last element. But in case if last element of array is smaller then the 2nd last it will sort the whole array and remains the last as it is. For example
Code:
int group_id_local[max_j]={2,1,4,5};// it work fine, output should be {1,2,4,5} but if i have this one
int group_id_local[max_j]={2,1,4,3};
// output should be {1,2,4,3}
/* COMPARE FUNCTION FOR USING QSORT()*/
int cmpfunc (const void* a, const void* b)
{
if (*(int *)a < *(int *)b) return -1;
if (*(int *)a > *(int *)b) return 1;
return 0;
[Code]....
why it will not sort the last element?
View 5 Replies
View Related
Jun 5, 2014
Write a program that scores a blackjack hand. In blackjack, a player receives from two to five cards. The cards 2 through 10 are scored as 2 through 10 points each. The face cards - jack, queen, and king are scored as 10 points. The goal is to come as close to a score of 21 as possible without going over 21. Hence, any score over 21 is called "busted". The ace can count as either 1 or 11, whichever is better for the user. For example, and ace and a 10 can be scored as either 11 or 21. Since 21 is a better score, this hand is scored as 21. An ace and two 8s can be scored as either 17 or 27. Since 27 is a "busted" score, this hand is scored as 17.
The user is asked how many cards she or he has, and the user responds with one of the integers 2,3,4, or 5. The user is then asked for the card values. Card values are 2 through 10, jack, queen, king, and ace. A good way to hande input is to use the type char so that the card input 2, for example, is read as the character '2', rather than as the number 2. Input the values 2 through 9 as the characters '2' through '9'. Input the values 10, jack, queen, king, and ace as the characters 't', 'j', 'q', 'k', and 'a'. (Of course, the user does not type in the single quotes.) Be sure to allow upper - as well as lowercase letters as input.
After reading in the values, the program should convert them from character values to numeric card scores, taking special care for aces. The output is either a number between 2 and 21 (inclusive) or the word Busted. Use fucntions, multiway branches, switch statements or nested if-else statements. Your program should include a loop that lets the user repeat the calculation until they are done doing so.
The code runs properly for the first card but then it asks if the user wishes to repest the program. I need to claculate the value of all cards before it asks for that. Here is my code:
#include <iostream>
using namespace std;
int main()
{
[Code].....
View 5 Replies
View Related
Nov 1, 2014
I am creating a right hand maze solution, and it actually works for the most part, but it gets stuck at the sixth spot and will not proceed any further. I cannot seem to find my error even though I know it's probably a small one in my code, here is what I have at the moment:
#include "stdafx.h"
#include <iostream>
#include <Windows.h>
[Code].....
View 6 Replies
View Related
Sep 28, 2014
How do i sort numbers from highest to lowest using qsort? I dont have a code. I dont know how to use this one.
View 1 Replies
View Related
May 19, 2013
How do you add a value to the beginning of a string instead of the end?
This is for an assignment and I have to convert the user input (always assuming its a valid decimal number) to binary and store it in a string. I've got up to dividing by two to get the remainder ...
View 19 Replies
View Related
Dec 3, 2014
I get Error this error. Did I miss something or is that some kind of bug?
Code:
error C2679: binary '<<' : no operator found which takes a right-hand operand of type 'const std::string' (or there is no acceptable conversion)301
Code:
2IntelliSense: no operator "<<" matches these operands
operand types are: std::ostream << const std::string307
Code:
#include <iostream>
#include <fstream>
using namespace std;
const string Alphabet1 = "abcdefgijklmnopqrstuvwxyz";
[Code] .....
View 3 Replies
View Related
May 17, 2014
while (getline(inStream, line))
{
while (inStream >> Student.getId() >> Student.FNAME >> Student.MINIT >> Student.LNAME >> Student.GENDER >> Student.UNITS >> Student.getGpa())
{
while (Student.getId() != id)
{
outStream << line << endl;
}
}
}
This is what I have right now. It shouldn't be a problem, but for some reason I am getting an error trying to >> Student.getGpa()
Error1error C2679: binary '>>' : no operator found which takes a right-hand operand of type 'double' (or there is no acceptable conversion)c:location1301Project 5
I will post more code if needed, but... I just don't know. I have a TON of code so I would rather not if I don't have to.
View 2 Replies
View Related
Mar 25, 2014
The deck of cards so it is populated with all 52 cards. Once you have populated the deck, you need to shuffle the deck. Here is a simple algorithm you might consider for this purpose:
For each card up to the middle of the deck generate a random number modulus the size of the deck, swap the current card with the card at that location done
To implement this requirement you need to implement and use the following functions:
void initDeck(Card * deck);
View 4 Replies
View Related
Sep 9, 2013
i was reading trying to get it how to display the out put, all i got to is how to declare the arrays. How to start it also i saw some examples have " struct card"
the display should look like this:
2c 2h 2s 2d
3c 3h 3s 3d
4c 4h 4s 4d
5c 5h 5s 5d
6c 6h 6s 6d
7c 7h 7s 7d
8c 8h 8s 8d
9c 9h 9s 9d
10c 10h 10s 10d
Jc Jh Js Jd
Qc Qh Qs Qd
Kc Kh Ks Kd
Ac Ah As Ad
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
int deck [13][4];
string suits [4] = {"h", "d","c","s"};
string values [13] = { "2", "3", "4", "5","6", "7"," 8" ,"9", "10"," J", "Q"," K" , "A"};
system ("pause");
return (0);
}
View 2 Replies
View Related
Mar 24, 2010
I have to develop an application named smart client score board in c#
Main requirements for this application are that application should display the live scores, detailed score board, running commentary (in text), players and team profiles, statistics of matches, results and fixtures for cricket.
sort out websites which support rss feeds for full score card.
View 6 Replies
View Related
Aug 28, 2013
For a school homework i had to make a c++ program to generate a report card so i made this program
#include<iostream.h>
#include<conio.h>
void main()
{
[Code].....
The problem is that it does not take any values ps I have been learning C++ for 3 months so we don't have any arrays,at max we have iterations
View 5 Replies
View Related
Jan 2, 2014
I want to get or view the SIM card number from the dongle (the dongle will b already connected to the computer where the SIM card will be inserted into it) but the coding should be done by C programming / Language.
View 5 Replies
View Related
Jan 27, 2014
I found a card shuffling function on a long dead thread.
Code:
for (int x = 52; x > 0 ; x--)
{ y = rand() % x;
temp = deck[x];
deck[x] = deck[y];
deck[y] = temp; }
I do not understand how numbers are not repeated in the function. It seems like it would be possible to get 2 cards with the same number with the above function.
I also am getting incorrect numbers. It seems like I should only get numbers between 1 and 52 (which is what I want). However, I am getting the number 0, and some number between 1 and 52 will be missing, but I will have a total of 52 unique numbers.
I played around with using 51 instead of 52, x > 1, and changed to --x and none of those produced the desired results.
View 5 Replies
View Related
Nov 17, 2014
We have to ask the user to select either a Visa card type or Mastercard type. Then, we must ask the user to enter the 16 digit card number and determine if the card is valid or not using module 10. If the answer is zero then it is a valid Visa card and if the answer is zero the answer is a valid MasterCard. My problem is that the I have not separated the validation for MasterCard separate from visa.
Here is what I have so far:
#include <iostream>
#include <iomanip>
#include <string>
using namespace std;
int main() {
string type, num;
[Code] ...
View 5 Replies
View Related
Jul 19, 2013
I'm writing a card game and I'm having trouble getting the first part of it right, which is picking out a random card from the deck and displaying it to screen. So it's supposed to display a different card every time i run the function in the program. The problem is, I keep getting the same output every time "Nine of Hearts".
This is what I have so far,
#include <iostream>
using namespace std;
//declare two string arrays
//one holds the "suit" of the cards, the other hold the "value"
string suit[] = {"Diamonds", "Hearts", "Spades", "Clubs"};
string faceValue[] = {"Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ace", "King", "Queen", "Jack"};
[Code] ......
This is the output I keep getting every time I run the program:
Nine of Hearts
This "random selection" function I'm trying to do is meant to work as a means of shuffling the cards in the beginning of every round in the game and displaying only the top card from the deck.
View 1 Replies
View Related
Jul 18, 2014
How can I get scanned barcodes from the barcode card scanner as a result to use it in c# database.
the platform is xp,7,8 and net framework 4
View 1 Replies
View Related
Sep 19, 2013
My specific request is for retrieving values that are stored to a CompactFlash card. I am able to store values (we call them recipes) to the CompactFlash card as .csv file. I just haven't been able to figure out the code to retrieve this information back to the touchscreen.
Code:
// Create a new folder if it doesn't exist
CreateDirectory("/recipes");
//Create the file if it doesn't exist
CreateFile("/recipes/recipe.csv");
//open the file
hfile = OpenFile("/recipes/recipe.csv", 2);
[Code]....
Now with that said, I would like to retrieve these values from the .csv file.
View 7 Replies
View Related
Nov 25, 2014
In this project I need to develop few functions to work with graphics card. I work in minix and this is pretty rubbish.
I'm having an hard time to read a pixel map, or atleast to print it on my main function.
I have a read_xpm function, which is given, therefore, working.
Code:
char *read_xpm(char *map[], int *wd, int *ht)
Then I have a pixmap.h file which gives some examples of pixmap images that I can use as example:
Code:
static char *pic1[] = {
"32 13 4",
". 0",
"x 2",
"o 14",
"+ 4",
[Code] ....
The doubt is. I have a test_xpm function and I need to call this char array but this is so many pointers that I can't even figure out where I'm pointed to (?)
Code: int test_xpm(unsigned short xi, unsigned short yi, char *xpm[])
I tried something like read_xpm(xi, yi, *xpm[0]); but I'm guessing I need to index that array and run all those chars in order to show them.
View 11 Replies
View Related
Mar 28, 2013
I am working on a c program which recovers jpeg files from .raw file of a memory card. My code is here-
Code:
#include<stdio.h>
#include<stdlib.h>
int main(void) {
File* inptr=fopen("card.raw","r")
if(inptr==NULL)
[Code]...
But while compiling it I get this error-
Makefile:2: *** missing separator. Stop.
View 2 Replies
View Related
Apr 23, 2013
I am struggling to finish up my game of War. There are a few problems I have ran in to. My shuffle function seems to work fine. I believe my problem lies within my game rules. When I run my code, the game usually plays all the way through but almost always ends in 'War'. I am struggling to get the game to restart after running once. I am not sure how to clear the list and start over.
Code:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
#include <Windows.h>
[Code] ....
View 4 Replies
View Related
Mar 25, 2013
I need do read a text file from memory card using threading.
I am able to do it with out using thread but because of some limitations, i have to do it with threading only.
Here is the code to read file from memory card with out thread:
Code: ##########################################
#include <stdio.h>
#include <stdlib.h>
#include <XMC4500.h> /* SFR declarations of the selected device */
#include <DAVE3.h> /* Declarations from DAVE3 Code
#include <stdio.h>
#include <string.h>
#include <stdbool.h>
[Code]...
View 4 Replies
View Related