Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [C] selezione di sottomatrice

    ciao a tutti come faccio a trovare il massimo il minimo oppure dei valori percentuali compresi tra 0 e 200 ad esempio all interno di una regione? per esempio data una matrie 4x4 contentente i valori:

    210 630 22 102
    240 500 35 923
    0 611 152 883
    14 57 64 613



    e voglio selezionare la regione compresa tra (x1y1 in alto a sx) e (x2y2 in basso a dx) della matrice 4x4? il dubbio è come lavorare su una sottomatrice. io ho eseguito i 2 doppi cicli for ma quando verifico la statistica mi escono valori sballati di percentuali o di max e min. grazie ancora!

    codice:
    while (fgets(riga, MAX, f) != NULL) 
     { for(i=0; i<N; i++) 
    for(j=0; j<N; j++) {
    
     if(r<=x2 && r>=x1 && s<=y2 && s>=y1) 
    cont=0; { 
    for(c=0; c<N-r; c++) 
    for(d=0; d<N-s; d++) {
     if(mappa[c][d]>max) max=mappa[c][d]; 
     if(mappa[c][d]<min && mappa[c][d]!=0)
     min=mappa[c][d];
     if(mappa[c][d]==0) mare++; 
    //conto “quanto mare c’è”
     if(mappa[c][d]>0 && mappa[c][d]<200) 
    pianura++; 
    if(mappa[c][d]>=200 && mappa[c][d]<=600) 
    collina++; if(mappa[c][d]>600) 
    montagna++;
     while (isdigit(mappa[c][d])); cont++;
     //fin quando la riga contiene un carattere incrementa la c. esce quando la riga contiene spazio vuoto.
     c++; }
       }
    
    
                    }
    
                }}
    
    nval = (x2-x1+1)*(y2-y1+1); //salvo la variabile nval in modo da non doverla riscrivere per il calcolo delle percentuali.
           printf("Altitudine massima: %d\n", max);
           printf("Altitudine minima: %d\n", min);
           printf("Mare: %.2f%%\n", mare*100/nval); //calcolo di una semplice percentuale
           printf("Pianura: %.2f%%\n", pianura*100/nval);
           printf("Collina: %.2f%%\n", collina*100/nval);
           printf("Montagna: %.2f%%\n", montagna*100/nval);
           return 0;
                  }

  2. #2
    allora nessuno è disposto ad aiutarmi!!!!!!!! help

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.