Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 26
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2013
    Messaggi
    19

    [C++]Aiuto nella compilazione di un programma

    Salve a tutti,
    ho iniziato a compilare un programma nel quale mi viene chiesto di digitare un numero n di città.Di tali città poi devo inserire rispettivamente la temperatura massima e minima e dopo devo calcolare la media di ciascuna.Fin qui credo di aver fatto tutto bene. Ciò che non riesco a fare
    è stampare a video la città con la temperatura minima più bassa.Ho pensato ai puntatori ma non riesco a capire come impostarli.
    Questo è il mio elaborato:
    codice:
     
    #include<stdio.h>
    #include<stdlib.h>
    #include<math.h>
    #include<string.h>
    
    int n;
    int i;
    char digit[]="Digitare il nome di una citta':";
    char tmax[]="Inserisci la temperatura massima di marzo:";
    char tmin[]="Inserisci la temperatura minima di marzo:";
    char citta[20];
    int max[100];
    int min[100];
    float somma1;
    float somma2;
    float media1;
    float media2;
    
    int main(){
    	printf("Inserire il numero di citta' che si preferisce:");
    	scanf("%d",&n);
    
    	for(i=1;i<=n;i++){
    		printf("\n%s",digit);
    		scanf("%s",citta);
    		while(getchar() != '\n');
    	    printf("%s",tmax);
    		scanf("%d",&max[i]);
    		printf("%s",tmin);
    		scanf("%d",&min[i]);
    		
    		
    		
    	}
    	for(i=1;i<=n;i++){
    		somma1=somma1+max[i];
    		somma2=somma2+min[i];
    	}
    	media1=somma1/n;
    	media2=somma2/n;
    	printf("\nLa media delle temperature massime e':%f\n",media1);
    	printf("La media delle temperature minime e':%f\n",media2);
    
    	
    
    
    
    	system("pause");
    	return 0;
    }
    Chiedo l'aiuto di qualcuno nel capire come procedere.
    Grazie in anticipo

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Tanto per cominciare occhio agli indici degli array.

    Questi vanno da 0 a n-1 e non da 1 a n.

    Le for quindi dovranno essere

    for(i=0; i<n; i++)

    Detto questo, se devi memorizzare il nome di tante città allora un semplice vettore di char come

    char citta[20];

    non è sufficiente. Devi usare una matrice di char.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2013
    Messaggi
    19
    Scusami ma se imposto i=0 quando vado ad inserire il numero di città n in input, in output me ne stamperà n+1.

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    No, perchè il controllo che devi fare è

    i<n

    come ti ho scritto nella for
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2013
    Messaggi
    19
    Hai pienamente ragione.Scusami.
    Senti ma per il char matrice che valori imposto?
    Char citta [100][100]?

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Così avrai al massimo 100 città con un nome di 99 lettere + nul.

    Dipende dalle tue esigenze, io non posso risponderti.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2013
    Messaggi
    19
    Non credo che esista un valore indefinito.O sbaglio?

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Ovviamente no.

    Se vuoi decidere al momento dell'input allora devi "allocare dinamicamente" l'array.

    Ma non so se hai studiato l'argomento "allocazione dinamica della memoria" ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2013
    Messaggi
    19
    No,ma lo farò subito autonomamente.
    E ora come proseguo?

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Come prosegui ?

    Non so ... che problemi hai ? Hai usato l'array ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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.