Informatică, întrebare adresată de vladsarandan, 8 ani în urmă

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 unidimensional cu n∙k elemente astfel: tabloul memorează un
şir crescător de termeni cu proprietatea că primul termen este n, fiecare valoare apare în şir de exact k
ori și oricare doi termeni alăturați au valori egale sau consecutive. Programul afişează pe ecran tabloul
construit, cu valorile separate prin câte un spaţiu.
Exemplu: dacă n=3 și k=4, se obține tabloul alăturat.

3 3 3 3 4 4 4 4 5 5 5 5 6 6 6 6

Răspunsuri la întrebare

Răspuns de Florin2k
4

Răspuns:

#include <iostream>

using namespace std;

int main(){

   int n,k,i,j,nk;

   cout<<"n=";cin>>n;

   cout<<"k=";cin>>k;

   nk=n*k;

   int v[nk];

   i=0;j=0;

   while(i<nk){

       v[i]=n;

       j++;i++;

       if (j==k){

           j=0;

           n++;

       }

   }

   for (i=0;i<nk;i++)

       cout<<v[i]<<" ";

return 0;

}

Explicație:

Am pus codul in codeblocks. In exemplul tau pentru n=3 si k=4 ai 16 elemente si nu 12 cat ar trebui.

Alte întrebări interesante