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
Răspunsuri la întrebare
Răspuns de
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.
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.
Alte întrebări interesante
Matematică,
8 ani în urmă
Fizică,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
9 ani în urmă
Franceza,
9 ani în urmă
Matematică,
9 ani în urmă