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

Ma ajutati va rog? Scrieti un program c++ care citeste de la tastatura un numar natural nenul, cu maximum 8 cifre,care construieste in memorie si afiseaza apoi pe ecran o matrice patratica ,avand numarul de linii si de coloane egal cu numarul de cifre ale numarului dat, completata cu cifrele numarului citit.. exemplu, pentru numarul 1346 se va afisa
1 3 4 6
1 3 4 6
1 3 4 6
1 3 4 6


artur99: not so hard ;) iei cifrele, le pui intr-un array, apoi pui in m[i][j] = v[j]; :))
artur99: (array == vector)
Raven1: m-ai lamurit
artur99: :)

Răspunsuri la întrebare

Răspuns de artur99
0
#include <iostream>
using namespace std;
int main(){
  int n, k=0, v[10], m[10][10], i, j;
  cin>>n;
  while(n) v[k]=n%10,n/=10,k++;
  for(i=0;i<k;i++){
      for(j=0;j<k;j++){
          m[i][j]=v[k-j-1];
          cout<<m[i][j]<<" ";
      }
      cout<<"\n";
  }
}

artur99: Daca vrei sa il compilezi & rulezi: http://cpp.sh/3bea
Raven1: thanks :*
artur99: cp :)
Răspuns de AntiEaglesDavids
0
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;

string n;
void aduna(char a) { cout << a << ' '; }

int main()
{
    cin >> n;
    for(auto dicky : n) for_each(n.begin(), n.end(), aduna), cout << '\n';
    return 0;
}


artur99: si atunci unde e "construieste in memorie"? :P
Alte întrebări interesante