PDA

Visualizza la versione completa : [C] Invertire una colonna per una riga in una matrice


trek
16-10-2007, 12:23
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.



#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!


:dhò: :dhò:

trek
16-10-2007, 13:40
Inserite da tastiera in un array bidimensionale dei numeri interi. Visualizzate alla fine solo una riga a scelta dell’utente.
Avrei inoltre questo problema...
una volta stampata la matrice non so + che fare.. idee??
grazie!

pallinopinco
16-10-2007, 13:48
Inserite da tastiera in un array bidimensionale dei numeri interi. Visualizzate alla fine solo una riga a scelta dell’utente.


È un'affermazione? È una domanda? È un'esortazione agli utenti del forum? :master:

Avessi almeno specificato il linguaggio nel titolo come impone il regolamento... :fagiano:

trek
16-10-2007, 13:51
E' vero scusate! ero convinto di avere continuato la conversazione di prima.. il linguaggio e [c]. e comunque è una domanda!
:ciauz:

shodan
16-10-2007, 13:56
Manca il classico fflush(stdin) dopo le scanf

LeleFT
16-10-2007, 16:52
Ho riunito le discussioni.


Ciao. :ciauz:

Loading