Buongiorno sono alle prese con un esercizio che data una matrice1 di partenza di N=40(righe x colonne) che si deve generare con valori random compresi tra 0 e 10 si deve costruire una seconda matrice2 che abbia la seguente forma:
alla matrice2 assegni per ogni cella di
posizione i,j la somma delle celle della prima matrice dalla cella 0,0 alla cella i,j.
Io ho agito cosi , ma alla visualizzazione della matrice2 mi mette un paio di numerii dispersi qua e la sullo schermo .
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#define N 40
void stampamatrice1(int matrice1[N][N]);
void stampamatrice2(int matrice2[N][N]);
int main ()
{
int i,j;
int t=0,s=0;
int somma=0;
int matrice1[N][N];
int matrice2[N][N];
srand(time(NULL));
for(i=0;i<N;i++)
for(j=0;j<N;j++)
matrice1[i][j]=rand()%10;
printf("\n Genero una matrice1 di dimensioni %dX%d:\n\n",N,N);
stampamatrice1(matrice1);
for(i=0;i<N;i++){
for(j=0;j<N;j++){
if ((t<=i)&&(s<=j))
somma=somma+matrice1[i][j];
matrice2[t][s]=somma;
t++;
s++;
}
}
stampamatrice2(matrice2);
system("pause");}
void stampamatrice1(int matrice1[N][N]){
int i,j;
for(i=0;i<N;i++)
{
for(j=0; j<N; j++)printf("%4d",matrice1[i][j]);
printf("\n\n");
}
}
void stampamatrice2(int matrice2[N][N]){
int t,s;
for(t=0;t<N;t++)
{
for(s=0;s<N;s++)printf("%4d",matrice2[t][s]);
printf("\n\n");
}
}