Accedi

Contenuto del vettore bidimensionale

PROBLEMA

Caricare un array bidimensionale di interi, (le dimensioni sono fornite dall’utente) acquisire un numero intero(fornito anch’esso dall’utente) e porre a zero le celle delle righe la cui somma è maggiore del numero dato. Stampare a video la matrice modificata.


CODICE SORGENTE

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[]){
 //sezione dichiarativa
 int i, j, somma_diagonale_1=0, somma_diagonale_2=0, colonne, righe, numero, somma_riga;
 printf("Inserisci il numero di colonne\n>");
 scanf("%i", &colonne);
 printf("Inserisci il numero di righe\n>");
 scanf("%i", &righe);
 printf("Inserire il numero\n>");
 scanf("%i", &numero);
 int tab[righe][colonne];
 //caricamento array
 for (i=0;i<righe;i++){
  for (j=0;j<colonne;j++){
   system("Cls");
   printf("Riga %i Colonna %i\nInserire il valore\n>", i+1, j+1);
   scanf("%i", &tab[i][j]);
  }
  printf("\n");
 }
 //output array
 system("cls");
 printf(">Visualizzazione tabella\n");
 for (i=0;i<righe;i++){
  printf(">|");
  for (j=0;j<colonne;j++){
   printf(" %i ", tab[i][j]);
  }
  printf("|");
  printf("\n");
 }
 //somma righe
 for (i=0;i<righe;i++){
  for (j=0;j<colonne;j++){
   somma_riga=somma_riga+tab[i][j];
  }
  if (somma_riga>numero){
   for (j=0;j<colonne;j++){
    tab[i][j]=0;
   }
  }
  somma_riga=0;
 }
 //output array
 printf(">Visualizzazione tabella dopo modifiche\n");
 for (i=0;i<righe;i++){
  printf(">|");
  for (j=0;j<colonne;j++){
   printf(" %i ", tab[i][j]);
  }
  printf("|");
  printf("\n");
 }
 system("PAUSE");
 return 0;
}