Informatică, întrebare adresată de Utilizator anonim, 9 ani în urmă

Scrieţi un program C/C++ care citeşte de la tastatură un număr natural n (2<n<20) şiconstruieşte în memorie o matrice cu n linii şi n coloane, numerotate de la 1 la n, în carefiecare element aflat pe chenarul exterior al matricei este egal cu suma dintre indicele linieişi indicele coloanei pe care se află, iar fiecare dintre celelalte elemente este egal cu sumacelor trei “vecini” situaţi în matrice pe linia anterioară. Două elemente din matrice se numescvecine dacă se găsesc alături pe linie, coloană sau diagonală. Chenarul exterior al unei matrice este format din prima linie, ultima linie, prima coloană şi ultima coloană.
.Elementele matricei vor fi afişate pe ecran, câte o linie a matricei pe câte o linie a ecranului cu câte un spaţiu între elementelefiecărei linii.Exemplu: pentru n=5 se va obţine matricea alăturată. (10p.) 
2 3 4 5 6
 3 9 12 15 7
 4 24 36 34 8
 5 64 94 78 9
 6 7 8 9 10


Utilizator anonim: cred ca ai scris gresit matricea de la date de iesire, nu da bine
Utilizator anonim: Pentru n = 5 trebuie sa ai 5*5=25 elemente, tu ai doar 20. Mai uite-te atent
Utilizator anonim: in 10 minute vin cu rezolvarea
Utilizator anonim: te superi daca il fac in C?
Utilizator anonim: zice in C/C++

Răspunsuri la întrebare

Răspuns de Utilizator anonim
1
#include <stdio.h>
int main () {
    unsigned int n;
    do{
        scanf("%d", &n);
    } while ((n <= 2) || (n >= 20));
   
    int m[n][n];
   
    int i, j;
   
    for(i = 0; i < n; i++) {
        for(j = 0; j < n; j++) {
            if((i == 0) || (j == 0) || (i == n-1) || (j == n-1)) {
                m[i][j] = i+1 + j+1;
            } else {
                m[i][j] = m[i-1][j-1] + m[i-1][j] + m[i-1][j+1];
            }
        }
    }
   
    for(i = 0; i < n; i++) {
        printf("\n");
        for(j = 0; j < n; j++) {
            printf("\t%d", m[i][j]);
        }
    }
   
    return 0;
   
}


A compilat si a rulat perfect pentru testul tau.

Utilizator anonim: stai sa il editez ca vad ca l-a pus urat
Utilizator anonim: cred ca e bine acum
Alte întrebări interesante