Visualizzazione dei risultati da 1 a 10 su 39

Hybrid View

  1. #1
    Allora in anzitutto vi ringrazio per avermi risposto adesso vi dico, io uso due indici dichiarati globali, i (per le righe) e j per le colonne
    codice:
    int i=0;//indice delle righe
    int j=0;//indice delle colonne
    poi quindi ho come detto precedentemente ho due array bidimensionali paralleli, che hanno le stesse righe
    codice:
    char citta[7][15];
        int  temp [7][4] = {6,12,16,00};
    ho inizializzato la prima riga del array tempo perchè contiene gli orari delle temperature..
    dopo aver letto le citta
    codice:
    void inseriscicitta(char citta[][15]){     
          for(i=1;i<=6;i++){
           printf("Inserisci una citta': "); 
           gets(citta[i]);                    
           }             
    
    
         return;
         }
    e le temperature:
    codice:
    void inseriscitemp(int temp[][4],char citta[][15]){     
          for(i=1;i<=6;i++){
           printf("Inserisci la temperatura per %s:\n",citta[i]);
               for(j=0;j<4;j++){
               printf("Alle ore %d: ",temp[0][j]);
               scanf("%d",&temp[i][j]);
               }                              
           }
         return;
         }
    devo fare l'ordinamento... che è l'unica cosa del programma in cui mi sono trovato un po' nel panico insomma...
    allora io ho fatto così come ho detto prima:
    codice:
    void ordinamento(char citta[][15],int temp[][4]){     for(i=0;i<6;i++){
         for(j=i+1;j<6;j++){
         if(citta[i][0]>citta[j][0]){
         scambiocitta(&citta[0]); 
         scambiotemp(&temp[0]);}
         }
         }
         return;
         }
         
    void scambiocitta(char citta[][15]){
         char *stringapp;
              stringapp = citta[i];
               citta[i] = citta[j];
               citta[j] = stringapp;
         return;
         }
    
    
    void scambiotemp(int temp[][4]){
         int intapp[4];
         
         for(j=0;j<4;j++){
         intapp[j]=temp[i][j];                 
         }
         for(j=0;j<4;j++){
                          
         
         }
                    
         
         
         return;
         }
    la prima procedura è solo quella di inizializzazione, poi ho la procedura che scambia le stringhe delle citta e li ho un problema nella compilazione infatti il compilatore mi dice a questa riga:
    codice:
    citta[i] = citta[j];
    questo errore: ISO C++ forbids assignment of arrays
    e a questa riga:
    codice:
    citta[j] = stringapp;
    questo errore: incompatible types in assignment of `char*' to `char[15]'

    e non so proprio come risolverli
    inoltre non riesco a effettuare lo scambio dei valori delle temperature, ho solo dichiarato un vettore con dimensione 4 che sarà un vettore di appoggio per lo scambio

  2. #2
    Utente di HTML.it L'avatar di minomic
    Registrato dal
    Nov 2010
    Messaggi
    635
    Quote Originariamente inviata da tommasoperilli Visualizza il messaggio
    inoltre non riesco a effettuare lo scambio dei valori delle temperature, ho solo dichiarato un vettore con dimensione 4 che sarà un vettore di appoggio per lo scambio
    Hai provato a guardare il mio post di prima? Puoi operare sull'array direttamente dall'interno della funzione, dato che il nome di un array non è altro che un puntatore all'array stesso. Se fai uno scambio alla volta (ad esempio con l'algoritmo di bubble sort) quella funzione dovrebbe essere sufficiente.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.