Accedi

Vettore bidimensionale 5 righe 5 colonne

PROBLEMA

Scrivere un programma che letto da tastiera un array bidimensionale di interi( 5 righe-5 colonne) restituisce a video:

  1. gli elementi inseriti;
  2. gli elementi della diagonale principale;
  3. il numero di elementi pari presenti nella matrice;
  4. il numero di elementi dispari presenti nella matrice.

CODICE SORGENTE

#include <stdio.h>
#include <stdlib.h>
#define RIGHE 5
#define COLONNE 5

int main(int argc, char *argv[]){
 //sezione dichiarativa
 int tab[RIGHE][COLONNE];
 int i, j, pari=0, dispari=0;
 //caricameto 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");
 }
 //output diagonale
 printf(">Diangonale principale della matrice\n");
 for (i=0;i<RIGHE;i++){
  printf(">|");
  for (j=0;j<COLONNE;j++){
   if (j==i)
    printf(" %i ", tab[i][j]);
   else
    printf("   ");
  }
  printf("|");
  printf("\n");
 }
 //output pari
 for (i=0;i<RIGHE;i++){
  for (j=0;j<COLONNE;j++){
   if (tab[i][j]%2==0)
    pari++;
  }
 }
 printf(">Valori pari della matrice %i\n", pari);
 for (i=0;i<RIGHE;i++){
  printf(">|");
  for (j=0;j<COLONNE;j++){
   if (tab[i][j]%2==0)
    printf(" %i ", tab[i][j]);
   else
    printf("   ");
  }
  printf("|");
  printf("\n");
 }
 //outpur dispari
 for (i=0;i<RIGHE;i++){
  for (j=0;j<COLONNE;j++){
   if (tab[i][j]%2!=0)
    dispari++;
  }
 }
 printf(">Valori dispari della matrice %i\n", dispari);
 for (i=0;i<RIGHE;i++){
  printf(">|");
  for (j=0;j<COLONNE;j++){
   if (tab[i][j]%2==0)
    printf("   ");
   else
    printf(" %i ", tab[i][j]);
  }
  printf("|");
  printf("\n");
 }
 //sezione conclusiva
 printf("\nPreme un tasto per chiudere");
 getch();
 return 0;
}