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
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;
}
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
Matematică,
8 ani în urmă
Chimie,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Biologie,
9 ani în urmă