Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    153

    invertire una colonna per una riga in una matrice [c]

    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!



  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    153

    riga a scelta dell’utente.

    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!

  3. #3
    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...

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    153
    E' vero scusate! ero convinto di avere continuato la conversazione di prima.. il linguaggio e [c]. e comunque è una domanda!

  5. #5
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    Manca il classico fflush(stdin) dopo le scanf

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304

    Moderazione

    Ho riunito le discussioni.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.