Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 25

Discussione: programmazione c

  1. #11
    Quote Originariamente inviata da Scara95 Visualizza il messaggio
    Non hai inizializzato n.
    size non lo devi toccare in quanto contiene la dimensione attuale del tuo array.
    L'algoritmo di ordinamento non è propriamente giusto.
    Non capisco...

  2. #12
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Quote Originariamente inviata da lukafulmine Visualizza il messaggio
    Non capisco...
    Prendi la prima risposta

    "Non hai inizializzato n"

    cosa non capisci ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #13
    se mi dite dove ho sbagliato...io ho inizializzato i. e anche il bubble sort non l'ho mai utilizzato...qualcuno mi sa far vedere come si fa???? e cosa devo mettere tra le parentesi...evitate risposte del tipo
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Prendi la prima risposta

    "Non hai inizializzato n"

    cosa non capisci ?
    se mi dite dove ho sbagliato...io ho inizializzato i. e anche il bubble sort non l'ho mai utilizzato...qualcuno mi sa far vedere come si fa???? e cosa devo mettere tra le parentesi...evitate risposte del tipo "pappa pronta" grazie

  4. #14
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    Quote Originariamente inviata da lukafulmine Visualizza il messaggio
    io ho inizializzato i.
    Se ti dicono firma qui tu scrivi la data?
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  5. #15
    Quote Originariamente inviata da Scara95 Visualizza il messaggio
    Se ti dicono firma qui tu scrivi la data?
    intendevo che ho inizializzato n.

  6. #16
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    Quote Originariamente inviata da lukafulmine Visualizza il messaggio
    intendevo che ho inizializzato n.
    [Sarcasmo]Ah, sì?[/Sarcasmo] E dove?
    In ogni caso comincia col usare propriamente size. Come ti ho detto non ci devi assegnare niente perchè contiene la dimensione del tuo array. Altrimenti come fai a sapere quanti elementi ci sono?
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  7. #17
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Quote Originariamente inviata da lukafulmine Visualizza il messaggio
    evitate risposte del tipo
    E perché mai dovremmo evitarle? Invece dovresti rispondere ...

    Ci riprovo .... se ti dicono che "non hai inizializzato n" cosa pensi di fare per rimediare?


    P.S. Un chiarimento così capirai se continuare la discussione ... qui non si propone un esercizio e gli altri te lo scrivono, chiaro? Qui si ottengono suggerimenti con cui "impari" a risolvere il problema da solo.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #18
    Quote Originariamente inviata da oregon Visualizza il messaggio
    E perché mai dovremmo evitarle? Invece dovresti rispondere ...

    Ci riprovo .... se ti dicono che "non hai inizializzato n" cosa pensi di fare per rimediare?


    P.S. Un chiarimento così capirai se continuare la discussione ... qui non si propone un esercizio e gli altri te lo scrivono, chiaro? Qui si ottengono suggerimenti con cui "impari" a risolvere il problema da solo.
    codice:
    #include <stdio.h>
    #include <stdlib.h>
    #define MAX 100
    
    
    typedef struct
        {
            char luogo[20];
            float valore;
        }rilevazione;
    
    
    void BubbleSort(float valore, int n);
    
    
    int main()
    {
        int i=0, n=0, j=0;
        rilevazione*dato=NULL;
    
    
        dato=(rilevazione*)malloc(MAX*sizeof(rilevazione));
    
    
        while(i<MAX)
        {
            printf("inserisci luogo %d: ", i+1);
            scanf("%s", dato[i].luogo);
            printf("inserisci valore %d: ", i+1);
            scanf("%f", &dato[i].valore);
    
    
            if(strcmp(dato[i].luogo, "end")==0) break;
            i++;
        }
    
    
        n=i;
        printf("il numero di misure e' %d", n);
        scanf("%d", &n);
    
    
        BubbleSort(dato.valore, n);
        for(j=0; j<n; j++)
        {
            printf("valore: %d  luogo: %s", dato[i].valore, dato[i].luogo);
        }
    
    
    
    
    
    
    
    
    
    
    return 0;
    }
    
    
    void BubbleSort(float valore[], int n)
    {
        int i=0, temp=0, j=0;
        int scambi=1;
    
    
      while(i<=n && scambi!=0)
      {
          scambi=0;
          j=n;
          while(j>=i)
          {
              if(valore[j]>valore[j+1])
              {
                  temp=valore[j];
                  valore[j]=valore[j+1];
                  valore[j+1]=temp;
                  scambi=1;
              }
    
    
              j=j-1;
          }
         i=i+1;
      }
      return;
    }
    mi da conflicting type for BubbleSort...dove sta il problema???

  9. #19
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    La funzione è dichiarata come

    void BubbleSort(float valore, int n)

    ma poi hai scritto

    void BubbleSort(float valore[], int n)
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  10. #20
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    Certo che non li ascolti i consigli e continui di testa tua:
    codice:
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    typedef struct
    {
        char luogo[30];
        float valore;
    }rilevazioni;
    
    void sort(rilevazioni *a, int size) {
        int i, j;
        rilevazioni temp;
        for(i = size - 1; i > 0; i--) {
            for(j = 0; j < i; j++) {
                if(a[j].valore < a[j+1].valore) {
                    temp = a[j];
                    a[j] = a[j+1];
                    a[j+1] = temp;
                }
            }
        }
    }
    
    int main()
    {
        rilevazioni *dati=NULL;
        int size = 0;
        char luogo[30];
        while(1)
        {
            printf("Inserisci luogo: ");
            scanf("%s", luogo);
            if(strcmp(luogo, "end")==0) break;
            dati = (rilevazioni *)realloc(dati, sizeof(rilevazioni)*(size+1));
            strcpy(dati[size].luogo, luogo);
            printf("Inserisci tasso d'inquinamento: ");
            scanf("%f", &dati[size].valore);
            size += 1;
        }
       
        sort(dati, size);
    
        int i;
        printf("\n\n");
        for(i = 0; i < size; i++) {
            if(dati[i].valore < 33) break;
            printf("Luogo: %s\t\tTasso d'Inquinamento: %f\n", dati[i].luogo, dati[i].valore);
        }
        free(dati);
        return 0;
    }
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

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.