Accedi

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:

  1. gli elementi inseriti;
  2. gli elementi della diagonale secondaria;
  3. sostituire le consonanti con zero e le vocali con 1;
  4. 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;
}