Vettore bidimensionale 5 righe 5 colonne v2
PROBLEMA
Scrivere un programma che letto da tastiera un array bidimensionale di caratteri( 5 righe-5 colonne) restituisce a video:
- gli elementi inseriti;
- gli elementi della diagonale secondaria;
- sostituire le consonanti con zero e le vocali con 1;
- scrivere a video l’array dopo le sostituzioni del punto 3.
CODICE SORGENTE
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define RIGHE 5
#define COLONNE 5
int main(int argc, char *argv[]){
//sezione dichiarativa
char tab[RIGHE][COLONNE];
int i, j;
char temp;
//caricameto array
for (i=0;i<RIGHE;i++){
for (j=0;j<COLONNE;j++){
system("Cls");
printf("Riga %i Colonna %i\nInserire il carattere\n>", i+1, j+1);
fflush(stdin);
tab[i][j]=getchar();
}
}
//output array
system("cls");
printf(">Visualizzazione tabella\n");
for (i=0;i<RIGHE;i++){
printf(">|");
for (j=0;j<COLONNE;j++){
printf(" %c ", tab[i][j]);
}
printf("|");
printf("\n");
}
//output diagonale considerata grafica matrice quadrata
printf(">Diangonale secondaria della matrice\n");
for (i=0;i<RIGHE;i++){
printf(">|");
for (j=0;j<COLONNE;j++){
if (i+j==COLONNE-1)
printf(" %c ", tab[i][j]);
else
printf(" ");
}
printf("|");
printf("\n");
}
//scambio valori
for (i=0;i<RIGHE;i++){
for (j=0;j<COLONNE;j++){
temp=tab[i][j];
strlwr(&temp);
if (temp=='b' || temp=='c' || temp=='d' || temp=='f' || temp=='g' || temp=='h' || temp=='j' || temp=='k' || temp=='l' || temp=='m' || temp=='n' || temp=='p' || temp=='q' || temp=='r' || temp=='s' || temp=='t' || temp=='v' || temp=='w' || temp=='x' || temp=='y' || temp=='z')
tab[i][j]='0';
else if (temp=='a' || temp=='e' || temp=='i'|| temp=='o' || temp=='u')
tab[i][j]='1';
}
}
//out con scambio valori
printf(">Visualizzazione tabella dopo modifiche\n");
for (i=0;i<RIGHE;i++){
printf(">|");
for (j=0;j<COLONNE;j++){
printf(" %c ", tab[i][j]);
}
printf("|");
printf("\n");
}
//sezione conclusiva
printf("\nPreme un tasto per chiudere");
getch();
return 0;
}