Hej
Mam tablicę dwuwymiarową wypełnioną jedynkami. I teraz:
- jak wymienić losową jedynkę na zero?
- jak zliczyć wszystkich jedynki w tablicy?
- jak zliczyć ilość jedynek w wierszu/kolumnie?
Hej
Mam tablicę dwuwymiarową wypełnioną jedynkami. I teraz:
nie wiem w jakim języku piszesz ale zakładam, że w C++
1:
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
int tab[3][3]; // 2-wymiarowa tablica
for(int i = 0; i < 3; i++) // wypełnienie jej jedynkami
for(int j = 0; j < 3; j++)
tab[i][j] = 1;
srand((unsigned)time(0));
int wiersz = rand() % 3 ; // losowanie nr wiersza
int kolumna = rand() % 3 ; // losowanie nr kolumny
tab[wiersz][kolumna] = 0; // wstawienie 0 w odpowiedni (wylosowany) wiersz i kolumnę
#include <iostream>
using namespace std;
int main()
{
int zlicz = 0;
int tab[3][3]; // tablica 2-wymiarowa
for(int i = 0; i < 3; i++) // wypełnienie jej jedynkami
for(int j = 0; j < 3; j++)
tab[i][j] = 1;
for(int i = 0; i < 3; i++)
for(int j = 0; j < 3; j++)
if(tab[i][j] == 1) // warunek, jeżeli tab[i][j] == 1 to zlicz++
zlicz++;
cout << "Jedynek w tablicy: " << zlicz << "\n"; //wyswietlenie ilości jedynek w tablicy (zlicz zawiera tę ilość)
#include <iostream>
using namespace std;
int main()
{
int zlicz_wiersz = 0;
int zlicz_kolumne = 0;
int tab[3][3]; // tablica 2-wymiarowa
for(int i = 0; i < 3; i++)
for(int j = 0; j < 3; j++)
tab[i][j] = 1; // wypełnienie jedynkami
for(int i = 0; i < 3; i++)
{
zlicz_kolumne = 0;
zlicz_wiersz = 0;
for(int j = 0; j < 3; j++)
{
if(tab[j][i] == 1) // zlicza kolumny gdzie jest 1
zlicz_kolumne++;
if(tab[i][j] == 1) // zlicza wiersze gdzie jest 1
zlicz_wiersz++;
}
cout << i+1 << " kolumna: " << zlicz_kolumne << "\n"; // dlatego i+1 bo i numeruje od 0
cout << i+1 << " wiersz: " << zlicz_wiersz << "\n"; // to samo co up
}
Co do punktu 3 na pewno jest jakiś inny szybszy lepszy sposób ale na tym poziomie nauki tylko tyle umiem ;)
P.S - > Nie bierz kopiuj -> wklej, ponieważ nie dokańczałem funkcji main, tzn nie ma 'return 0' ani końcowych klamer, to jest tylko taki wycięty kod z visuala ; D
Dzięki wielkie, zaraz spróbuję to dopasować do tego co mam i w razie czego będę pytać dalej ;)
Dobrze, mam pierwszy problem.
Wymiar tablicy mam określony jako 'n'. Nie mogę więc dać rand() %3, tylko powinno mi losować do (n-1) jeśli dobrze rozumiem... Jak to zrobić?
rand() %n nie działa. wychodzi coś poza zakres
podaj dokładny błąd ale myślę że wychodzi Ci poza zakres tablicy. Jak deklarujesz tą Twoją tablicę o wymiarze 'n' ?
Pokaż błędy jakie Ci wywala, ew. kod