ciao a tutti,
e da un pò che ci provo.. o certato nel forum ma non ho trovato nulla che mi potesse servire.. dovrei fare un programma che inserendo da tastiera la riga che voglio invertire la inverti con la colonna.
codice:
#include <stdio.h>
#include<stdlib.h>
#include <time.h>
#define riga 3
#define colonna 3
int main ()
{
char risp;
int i,j;
int mat[colonna][riga];
int massimo,minimo;
massimo=99;
minimo=0;
srand(time(NULL));
do
{
printf("\n\n ***INVERTI by Luca***\n\n\n\n");
for(i=0;i<colonna;i++)
for(j=0;j<riga;j++)
{
{
mat[i][j]= (rand() %(massimo-minimo))+minimo;
}
}
for(i=0;i<colonna;i++)
{
for(j=0;j<riga;j++)
{
printf("%d\t",mat[i][j]);
}
printf("\n");
}
printf("inserisci la riga che vuoi invertire con la colonna");
scanf("%d",&mat[i][j]);
if (mat[i][j]==1)
{
for (i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
printf("%d\t",mat[j][i]);
}
printf("\n");
}
}
else if(mat[i][j]!=1)
{
printf("errore");
}
printf("\n\n Digita N per uscire o un altra lettera per continuare : ");
scanf("%c",&risp);
}
while(risp!='n' && risp!='N');
system ("pause");
}
Per prima cosa non so perchè il ciclo do-while non si ripete come vorrei, salta subito in testa.
non esegue questa istruzione ( o meglio scrive quello che c'è dentro alla parentesi del printf ma poi va subito in testa al programma senza legge la tua risposta)
printf("\n\n Digita N per uscire o un altra lettera per continuare : ");
scanf("%c",&risp);
}
while(risp!='n' && risp!='N');
poi per secondo con capisco perchè mi inverte tutti gli elementi della matrice.
io ho provato a farlo solo con la riga 1 perchè volevo che si invertisse con la colonna 1 ma se l'utente inserisce 2 devo invertire la riga 2 con la colonna 2 e così via....
come posso fare per risolvere tutto questo..
grazie in anticipo delle vostre risposte!