Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] Pobieranie z tablicy dwuwymiarowej losowego elementu i zapisanie go do nowej tablicy.

Ostatnio zmodyfikowano 2015-11-19 13:16
Autor Wiadomość
AsusPL
Temat założony przez niniejszego użytkownika
[C++] Pobieranie z tablicy dwuwymiarowej losowego elementu i zapisanie go do nowej tablicy.
» 2015-11-19 10:30:51
Witam, mam do napisania grę PASJANS. Jestem obecnie na etapie utworzenia tablicy, w której mam zapisane wszystkie 52 karty (X - Hearts, x - Diamonds, Y - Spades, y - Clubs) (0-Ace; 2-1; ... A - Jack, B - Queen, C- King). Teraz muszę ułożyć losowo karty tak jak na schemacie.
http://scr.hu/58mi/xesh9


Muszę pobrać losowe elementy z mej tablicy bez powtórzenia, i jeszcze zapisać to do nowej tablicy j/w na schemacie.

#include <iostream>
#include <fstream>
#include <cstdio>
#include <cstdlib>
#include <stdio.h>
#include <stdlib.h>
#include <iomanip>
#include <ctime>
using namespace std;

void menu()
{
cout<<"*PASJANS*"<<endl<<endl<<endl;
cout<<"--MENU--[1-4]"<<endl<<endl<<endl;
cout<<"1. NOWA GRA"<<endl<<"2. POMOC"<<endl<<"3. POKAZ HISTORIE RUCHOW"<<endl<<"4. WYJSCIE"<<endl;
}

int pomoc()
{
string linia;
fstream plik;
cout<<"Jak grac?"<<endl<<endl;
plik.open("pomoc.txt", ios::in);
if(plik.good() == true)
{
while(!plik.eof())
{
getline(plik, linia);
cout<<linia<<endl;
}
plik.close();
}
}

int nowagra()
{
string a;
string tab1[4][13]={{"0X","1X","2X","3X","4X","5X","6X","7X","8X", "9X", "AX", "BX", "CX"},{"0Y","1Y","2Y","3Y","4Y","5Y","6Y","7Y","8Y", "9Y", "AY", "BY", "CY"},{"0x","1x","2x","3x","4x","5x","6x","7x","8x", "9x", "Ax", "Bx", "Cx"},{"0x","1x","2x","3x","4x","5x","6x","7x","8x", "9x", "Ay", "By", "Cy"}};
srand( time( NULL ) );
int xx=0;
int yy=0;
int xxx=3;
int yyy=12;

xx=rand()% 4;

yy=rand()% 13;
cout<<xx<<endl;
cout<<yy<<endl;




cout<<tab1[xx][yy];

cout<<"Wyswietlenie talii kart"<<endl;
  for(int i=0; i<4; i++)
{
for(int j=0; j<13;j++)
{
cout<<tab1[i][j]<<" ";
}
cout<<endl;
}


for(int i=0; i<7; i++)
{
for (int j=0; j<7-i; j++)
{
cout<<"1"<<" ";
}

cout<<endl;
}




}

int main()
{
int x;
menu();
cin>>x;
switch (x)
{
case 1:
 
   nowagra();
  



    break;
   
case 2:
   
   pomoc();
    break;
   
    //...
case 3:
  cout<<"TEST3";
  //* historia();
break;
   
case 4:
 
    break;
   
default:
    cout<<"Podano zły numer, spróbuj jeszcze raz";
   
   
}








}
 
P-140374
carlosmay
» 2015-11-19 13:16:13
Łatwiej (chyba) przy losowaniu kart będzie posłużyć się wskaźnikiem.
Losujesz liczbę z zakresu całej tablicy (52).
Przesuwasz wskaźnik o wylosowaną liczbę miejsc względem początku tablicy.
Sprawdzasz czy to na co obecnie wskazuje wskaźnik znajduje się w tablicy wynikowej.
Jeśli nie dopisz do tablicy. Jeśli tak losuj ponownie.

Możesz skorzystać z kontenerów STL.
P-140376
« 1 »
  Strona 1 z 1