Programul complet macar al unei probleme va rog
Răspunsuri la întrebare
Răspuns:
I.
#include <iostream>
using namespace std;
int a[4][5];
int main() {
int i, j;
for(int i = 0; i <= 3; i++)
{
for(int j = 0; j <= 4; j++)
{
a[i][j] = i + 4 * j + 1;
}
}
for(int i = 0; i <= 3; i++)
{
for(int j = 0; j <= 4; j++)
{
cout << a[i][j] << " ";
}
cout << endl;
}
return 0;
}
Explicație:
Formula i + 4 * j + 1 deriva din faptul ca vrem sa memoram in matrice valorile de la 1 la 20, iar fiecare linie are o diferenta de 4 intre elementele sale (intre primul element de pe coloana 0 si primul de pe coloana 1 este diferenta de 4 ( 5 - 1 ), precum si intre restul elementelor), iar matricea este indexata de la 0, de aici venind acel +1, ca pe linia 0 coloana 0 sa avem 1.
II.
#include <iostream>
using namespace std;
int a[4][5];
int main() {
int i, j;
for(int i = 0; i <= 3; i++)
{
for(int j = 0; j <= 4; j++)
{
a[i][j] = 20 - j * 4 - i;
}
}
for(int i = 0; i <= 3; i++)
{
for(int j = 0; j <= 4; j++)
{
cout << a[i][j] << " ";
}
cout << endl;
}
return 0;
}
Explicatie:
Formula 20 - j * 4 - i deriva din faptul ca vrem sa memoram in matrice valorile de la 20 la 1 de aceasta data, iar, asemanator primului exercitiu, fiecare linie are o diferenta de 4 intre elementele sale, doar ca de aceasta data pornim de la 20, iar acesta trebuie sa fie primul element (20 - 0 * 4 - 0 = 20).
Pe masura ce ne deplasam in matrice, scadem din acest 20 de 4 ori valoarea coloanei ( j ), si o data valoarea liniei ( i ).