Informatică, întrebare adresată de adelina122qmea, 9 ani în urmă

Cerința
Se consideră o progresie aritmetică cu primul termen a1 și rația r, precum și un număr n. Să se construiască și apoi să se afișeze o matrice pătratică cu n linii și n coloane care să conțină termenii acestei progresii astfel:

prima coloană va conține primii n termeni, în ordine, de sus în jos
a doua coloană va conține următorii n termeni, în ordine, de sus în jos
etc.
Date de intrare
Programul citește de la tastatură numerele a1 r n.

Date de ieșire
Programul va afișa pe ecran elementele matricei, câte o linie a matricei pe o linei a ecranului, elementele de pe fiecare linie fiind separate prin câte un spațiu.

Restricții și precizări
1 ≤ n ≤ 200
elementele matricei vor fi numere întregi ce pot fi reprezentate pe 4 octeți cu semn.
Exemplu
Intrare

-7 3 4
Ieșire

-7 5 17 29
-4 8 20 32
-1 11 23 35
2 14 26 38

Răspunsuri la întrebare

Răspuns de blindseeker90
8
#include <iostream>
using namespace std;

int main(){
int a[200][200];
int n,a1,r,i,j;
cin>>a1>>r>>n;
//formula generala pentru al nlea termen este an=a1+(n-1)*r 
//in matrice, termenul al nlea va fi nr_coloane_parcurse*(nr_linii_total)+nr_linii_curente
for(j=0;j<n;j++){
for(i=0;i<n;i++){
a[i][j]=a1+(j*n+i)*r;
}
}
for(i=0;i<n;i++){
for(j=0;j<n;j++){
cout<<a[i][j]<<" ";
}
cout<<endl;
}

return 0;
}
Alte întrebări interesante