Scrieţi programul C/C++ care citeşte de la tastatură două valori naturale m şi n (1
- elementele liniei 1 şi 2 sunt egale cu 0;
- elementele liniei 3 şi 4 sunt egale cu 1;
- elementele liniei 5 şi 6 sunt egale cu 0; şi aşa mai departe.
Matricea astfel obţinută se va afişa pe ecran, câte o linie a matricei pe o linie a ecranului, cu câte un spaţiu între elementele fiecărei linii.
Exemplu: pentru m = 7 şi n = 5 se va afişa matricea alăturată.
00000
00000
1 1 1 1 1
1 1 1 1 1
00000
00000
1 1 1 1 1
Răspunsuri la întrebare
Salut!
Ai rezolvarea in C++ mai jos
#include <iostream>
using namespace std;
int main() {
int n, m;
cin >> n >> m;
bool unu = false, zero = true;
for (int i = 1; i <= n; ++i) {
if (i % 2 != 0 && i != 1 && zero) {
zero = false;
unu = true;
}
else if (i % 2 != 0 && unu) {
unu = false;
zero = true;
}
for (int j = 1; j <= m; ++j) {
if (zero) {
cout << 0;
}
else {
cout << 1;
}
}
cout << '\n';
}
return 0;
}
Explicatie:
In cazul acesta eu doar am afisat 0 respectiv 1. Am folosit 2 variabile booleane unu si zero, incepand cu zero = true si unu = false, dupa aceea le schimb corespunzator.
Daca chiar se doreste creearea propriu-zisa a tabloului bidimensional, atunci se poate face asta atribuind la m[i][j] = 0 respectiv 1 in al 2 lea for, iar la sfarsitul programului sa se afiseze.
for (int i = 0; i < n; ++i) {
for (int j = 1; j <= m; ++j) {
cout << i % 4 / 2;
}
cout << '\n';
}
)