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

    [C] Risoluzione esercizio semplice per esame

    Allora, per esercitarmi in preparazione dell'esame di c, devo risolvere alcuni esercizi...
    purtroppo non sono molto capace, mi servirebbe una mano...

    il primo esercizio di esempio che devo risolvere è questo:

    Data la traccia sotto riportata completare il codice in modo di aumentare di 1 tutti gli interi pari e diminuire di 1 tutti quelli dispari nell'array vettore[] di dimensione dim. Riportare come risultato il numero che comparira' a monitor. Per esempio un vettore che contiene gli elementi {4,56,3,78,23} dopo essere stato aggiornato deve contenere gli elementi {5,57,2,79,22} .

    codice:
    #include <stdio.h>
    #include <stdlib.h>
    
    
    float CalcolaRisultato(int vettore[], int dim);
    
    int main()
    {
    
     int vettore[]= {6,5,4,3,3,1,14,67,89,105,24,56,78, 9,
     6,5,4,3,2,1,14,67,89,100,24,56,78,9,6,5,4,
     3,2,11,14,67,89,100,24,56,78, 9,
     6,5,4,3,2,1,14,67,89,100,24,56,78,9,6,5,4,3,2,1,14,
     67,89,100,24,46,78, 9,
     2,1,14,67,89,100,24,56,78, 9,
     6,5,4,37,2,1,14,67,89,100,24,56,78,
     9,6,5,4,5,2,1,14,67,89,100,24,56,78, 9,
     6,5,4,3,2,1,14,67,89,100,24,56,78,9,6,5,4,3,2,1,14,67,89,102,24,56,78, 9,
     6,5,4,3,2,1,14,67,89,67,89,100,24,5,79,9,6,5,4,3,2,1,
     104,24,56,78,9,6,5,4,3,2,1,14,67,89,100,24,56,78, 9,
     6,5,4,3,2,1,14,68,89,100,24,56,79,9,6,5,4,3,2,1,14,67,89,100,24,56,78, 9,
     6,5,4,3,12,1,14,67,89,100,24,56,78,9,6,5,4,3,
     6,5,4,3,5,1,14,67,89,100,24,56,
     6,5,4,3,2,1,14,67,89,100,24,56,78,9,6,5,4,3,112,1,14,67,89,100,124,56,78, 9,
     6,5,4,3,2,1,14,67,89,100,24,56,78,9,6,
     5,4,3,2,1,14,67,89,100,24,56,78, 9,
     6,5,4,3,2,14,14,67,89,100,24,56,78,9,6,5,4,3,2,21,14,67,89,100,24,56,78, 9,
     14,67,89,100,24,56,78, 9,6,5,4,3,2,1,14,
     6,5,4,3,2,1,14,67,89,190,24,56,78,9,6,5,4,3,2,1,14,67,89,100,24,56,78, 9,
     78,9,6,5,4,3,2,1,14,67,89,104,24,56,78, 9,
     6,5,4,3,2,1,14,67,89,100,24,56,78,9,6,5,4,3,2,1,14,67,89,100,24,56,78, 9,
     6,5,5,3,2,1,14,67,89,100,24,56,78,9,6,5,4,3,21,1,
     14,67,89,100,24,56,78, 9,
     6,5,4,3,2,1,14,67,99,100,24,56,78,9,6,5,4,0,2,1,14,67,89,110,24,56,78, 9
     };
     
     int dim =462;    // il vettore contiene dim elementi !
     float risultato;
    
     
      
     // ----- inizio dell'esercizio -------
    
     // Scrivi il codice che incrementa tutti gli interi pari e decrementa tutti quelli dispari 
     // nell'array vettore[]
     // N.B. la soluzione corretta deve stare dentro l'array vettore[] 
    
    
     // ----- fine dell'esercizio -------
    
    
     // NON TOCCARE TUTTE LE RIGHE QUI SOTTO
     risultato = CalcolaRisultato(vettore, dim);
     printf("\nrisultato da copiare ed incollare = %d \n\n" , (int) risultato );
     getchar();
     exit(0);
    }  // main
    
    float CalcolaRisultato(int vettore[], int dim)
    {
       int i;
       float divisore, dividendo=0;
       for(i=0;i < dim; i++)
       {
          dividendo += i * vettore[i];
       }
       divisore = (dim +1)*dim/2; 
       return 100*dividendo/divisore; 
       
    }

    GRAZIE A TUTTI! CIAO

  2. #2
    non so quanto sia utile scriverti la soluzione, secondo me è più proficuo darti dei suggerimenti.....per cui nel tuo caso devi discriminare tra numeri pari e dispari, magari usando l operatore % con il 2.....

  3. #3
    preferirei la soluzione perchè riesco a capire meglio...

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    156
    certo, poi il voto dell'esame lo scriviamo sul nostro libretto e non sul tuo?

  5. #5
    Originariamente inviato da zucchino
    certo, poi il voto dell'esame lo scriviamo sul nostro libretto e non sul tuo?

  6. #6
    Originariamente inviato da enrico999
    preferirei la soluzione perchè riesco a capire meglio...
    se fai una ricerca sull operatore % scoprirai che la soluzione al tuo problema risiede a dir tanto in 5 o 6 righe di codice.....

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.