mam program, który ma za zadanie wpisać liczby do kwadratu, tak aby nie powtarzały się.
#include <iostream>
#include <cstdlib>
#include <conio.h>
using namespace std;
int main()
{
int temp, blad, roz_K, kwadrat;
cout << "Podaj wielkosc boku kwadratu.\n";
cin >> roz_K;
int tab[roz_K][roz_K];
kwadrat = roz_K * roz_K;
for(int i = 0; i < roz_K; i++)
for(int j = 0; j < roz_K; j++)
{
do
{
blad = 0;
temp = rand() % kwadrat + 1;
for(int k = 0; k < i; k++)
for(int l = 0; l < j; l++)
if(tab[k][l] == temp)
blad = 1;
} while(blad);
tab[i][j] = temp;
}
system("cls");
for(int k = 0; k < roz_K; k++)
{
for(int l = 0; l < roz_K; l++)
cout << tab[k][l] << " ";
cout << endl;
}
getch();
return 0;
}
Niestety coś jest nie tak. Program powtarza liczby ale tylko wtedy gdy identyczna liczba leży w innym rzędzie.