Salut,am si eu nevoie de ajutor la problema asta:
Să se scrie un program C/C++/ Pascal care citeşte de la tastatură două numere naturale n şi p (2≤n≤20, 1≤p≤20) construieşte și afișează pe ecran un tablou bidimensional cu n linii şi p coloane. Tabloul parcurs pe linii va contine sirul primelor n*p, pătrate perfecte impare, ordonat strict crescător, ca în exemplu.
Exemplu: pentru n=2, p=3 programul va afişa tabloul alăturat:
1 9 25
49 81 121
Răspunsuri la întrebare
Răspuns de
6
int a[50][50]
int main()
{ int n,p, d, x;
cin>>n>>p; //citim n si p
d=1; //initializam variabila pe care o vom folosi sa gasim nr patrate perfecte impare
for(int i=1;i<=n;i++) //construim matricea, initial goala.
for(int j=1;j<=p;j++)
x=d*d;
if(d == sqrt(x) ) // verificam daca e patrat perfect (ex. 3 e egal cu radical din 9)
{a[i][j] = x;
d=d+2; // mergem din 2 din 2, pt a scapa de verificare daca e nr impar.
}
else d=d+2;
for(int i=1;i<=n;i++) //afisam matricea
{for(int j=1;j<=p;j++)
{cout<<a[i][j]<<" ";}
cout<<endl;
}
return 0;
}
int main()
{ int n,p, d, x;
cin>>n>>p; //citim n si p
d=1; //initializam variabila pe care o vom folosi sa gasim nr patrate perfecte impare
for(int i=1;i<=n;i++) //construim matricea, initial goala.
for(int j=1;j<=p;j++)
x=d*d;
if(d == sqrt(x) ) // verificam daca e patrat perfect (ex. 3 e egal cu radical din 9)
{a[i][j] = x;
d=d+2; // mergem din 2 din 2, pt a scapa de verificare daca e nr impar.
}
else d=d+2;
for(int i=1;i<=n;i++) //afisam matricea
{for(int j=1;j<=p;j++)
{cout<<a[i][j]<<" ";}
cout<<endl;
}
return 0;
}
Vladutzull:
Multumesc mult.
Alte întrebări interesante
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Engleza,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă