Hello,
I'd like to ask you for help. I want to create a program which ask an user for 3 values. These values will be stored in the table. Later on the program will draw two of them, but these values can not be the equal.
I wrote such a code but somewhere there is a mistake but unforunetaly I can not find them. I will appreciate if you could help me to find them.
Witam,
Mam mały problem. Moją intencją było napisanie programu który zapisuje do tablicy 3 podane przez usera liczby a następnie losuje dwie z nich (bez powtórzeń) i wyświetla je na monitorze.
W kodzie jest coś nie tak bowiem wyświetlane są również powtórki. Będę bardzo wdzięczny za wskazanie błędu- nie mogę się go dopatrzeć!
[cpp]
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
bool bezPowtorek (int aWylosowana, int aJ)
{
int tab [2];
if (aJ <1)
{
aWylosowana = tab[aJ];
return false;
}
int i=0;
do
{
if(tab[i] == aWylosowana)
return true;
i++;
}while(i<aJ);
tab[aJ] = aWylosowana;
return false;
}
int losowanie (int max, int min)
{
return (rand ()%max) +min;
}
int main()
{
int tablica [3];
cout << "Podaj pierwsza liczbe " <<endl;
cin >> tablica [0];
cout << "Podaj druga liczbe" <<endl;
cin >> tablica [1];
cout << "Podaj trzecia liczbe" <<endl;
cin >> tablica [2];
srand(time(0));
int j=0;
do
{
int wylosowana = losowanie (3, 0);
if (bezPowtorek (wylosowana, j) == false)
{
cout <<tablica[wylosowana];
j++;
}
}while (j<2);
return 0;
}
[/cpp]
Witam,
Mam mały problem. Moją intencją było napisanie programu który zapisuje do tablicy 3 podane przez usera liczby a następnie losuje dwie z nich (bez powtórzeń) i wyświetla je na monitorze.
W kodzie jest coś nie tak bowiem wyświetlane są również powtórki. Będę bardzo wdzięczny za wskazanie błędu- nie mogę się go dopatrzeć!
[cpp]
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
bool bezPowtorek (int aWylosowana, int aJ)
{
int tab [2];
if (aJ <1)
{
aWylosowana = tab[aJ];
return false;
}
int i=0;
do
{
if(tab[i] == aWylosowana)
return true;
i++;
}while(i<aJ);
tab[aJ] = aWylosowana;
return false;
}
int losowanie (int max, int min)
{
return (rand ()%max) +min;
}
int main()
{
int tablica [3];
cout << "Podaj pierwsza liczbe " <<endl;
cin >> tablica [0];
cout << "Podaj druga liczbe" <<endl;
cin >> tablica [1];
cout << "Podaj trzecia liczbe" <<endl;
cin >> tablica [2];
srand(time(0));
int j=0;
do
{
int wylosowana = losowanie (3, 0);
if (bezPowtorek (wylosowana, j) == false)
{
cout <<tablica[wylosowana];
j++;
}
}while (j<2);
return 0;
}
[/cpp]
To copy to clipboard, switch view to plain text mode
Bookmarks