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

Scrieţi un program C/C++ care citeşte de la tastatură două numere naturale n şi m

(2≤m≤10, 2≤n≤10) şi care construieşte în memorie şi apoi afişează o matrice A cu n linii

(numerotate de la 1 la n) şi m coloane (numerotate de la 1 la m) cu proprietatea că fiecare

element Aij memorează cea mai mare dintre valorile indicilor i şi j (1≤i≤n, 1≤j≤m).

Matricea se va afişa pe ecran, câte o linie a matricei pe câte o linie a ecranului, elementele

fiecărei linii fiind separate prin câte un spaţiu. (10p.)

Exemplu: pentru n=4 şi m=5 se va afişa matricea alăturată.

.
1 2 3 4 5

2 2 3 4 5

3 3 3 4 5

4 4 4 4 5

Răspunsuri la întrebare

Răspuns de Druff
1
#include <stdio.h>

#define MAX_N 10

short A[MAX_N][MAX_N];

int main(void) {
  int n, m;

  scanf("%d%d", &n, &m);
  for (int i = 1; i <= n; ++i) {
    for (int j = 1; j <= m; ++j) {
      if (i > j) {
        A[i][j] = i;
      } else {
        A[i][j] = j;
       }
     }
   }

  for (int i = 1; i <= n; ++i)  {
    for (int j = 1; j <= m; ++j) {
      printf("%hd ", A[i][j]);
    }
    printf("\n");
  }
  return 0;
}
Anexe:

andarline: Multumesc mult!
Alte întrebări interesante