Scrieţi un program C/C++ care citeşte de la tastatură două numere naturale din intervalul [2,20], n și k, şi construieşte în memorie un tablou bidimensional cu n linii şi n∙k coloane, numerotate începând cu 1, astfel încât fiecare linie i (i∈[1,n]) memorează un şir crescător de termeni cu proprietatea că primul termen este i, fiecare valoare apare în şir de exact k ori și oricare doi termeni alăturați au valori egale sau consecutive.
Răspunsuri la întrebare
Răspuns de
15
Răspuns:
#include <iostream>
using namespace std;
int a[20][40];
int main()
{int n,k,i,j;
cin>>n>>k;
for(i=1;i<=k*n;i++)
a[1][i]=(i-1)/k+1;
for(i=2;i<=n;i++)
for(j=1;j<=n*k;j++)
a[i][j]=a[i-1][j]+1;
for(i=1;i<=n;i++)
{
for(j=1;j<=n*k;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
return 0;
}
Explicație:
am construit prima linie (am gasit o formula)
celelalte linii le formez folosindu-ma de prima
Alte întrebări interesante
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Engleza,
8 ani în urmă
Matematică,
8 ani în urmă
Germana,
8 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă