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

    Problema col c++

    Ragazzi ho un problema con un esercizio, il punto che non riesco a risolvere è questo:
    "verifica se la somma degli elementi in posizione pari è uguale alla somma
    degli elementi in posizione dispari" .
    Io ho creato questi sottoprogrammi che mi hanno risolto parzialmente il
    problema, in quanto ho creato una sequenza di 5 numeri ed è stato possibile
    scrivere quali fossero gli elementi di posizione pari e dispari.
    Però per delle sequenze o matrici più grandi come posso generalizzare la
    somma, ad esempio, degli elementi pari?

    codice:
     int sommaElementiPP(int sequenza[N]){
    
          int i,sommaPP;
          sommaPP=0;
          for (i=0;i<N;i++){
              sommaPP=sequenza[0]+sequenza[2]+sequenza[4];
          }
          cout<<"La somma degli elementi pari e':"<<sommaPP<<endl;
          return sommaPP;
     }
     int sommaElementiPD(int sequenza[N]){
    
          int i,sommaPD;
          sommaPD=0;
          for (i=0;i<N;i++){
             sommaPD=sequenza[1]+sequenza[3];
         }
         cout<<"La somma degli elementi dispari e':"<<sommaPD<<endl;
         return sommaPD;
     }

  2. #2
    Utente di HTML.it L'avatar di ShaleN
    Registrato dal
    Aug 2010
    Messaggi
    517
    Seguendo il tuo metodo, verrebbe fuori un codice kilometrico se ingrandiamo la matrice. Ti scrivo in linguaggio di progetto quella che potrebbe essere una soluzione:

    codice:
    Funzione SommaElementiPari
    {
    variabile SommaP di tipo intero e inizializzata a 0;
    for (int i = 0; finchè i è < di N; i incrementata di due interi)
         SommaP = SommaP + Sequenza[i]0;
         return SommaP;
    }
    Stessa cosa per l'altra funzione, solo che i viene inizializzata a 1.

    P.S.: La prossima volta usa i tag CODE per identare il codice sorgente e metti un titolo più valido.
    Le vie del Signore sono infinite. È la segnaletica che lascia a desiderare.
    La luce viaggia più veloce del suono. Per questo alcune persone sembrano brillanti finchè non parlano.
    Occhio per occhio uguale... occhio al quadrato

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,301

    Moderazione

    Originariamente inviato da ShaleN
    P.S.: La prossima volta usa i tag CODE per identare il codice sorgente e metti un titolo più valido.
    Come espressamente richiesto dal Regolamento interno che ti invito a visionare.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  4. #4
    Grz mille =D ...scusami è solo che sono nuovo...
    ci tenevo a dirvi che siete veramente forti

  5. #5
    codice:
    int sommaElementiPP(int sequenza[N]){
        
        int i,sommaPP;
        sommaPP=0;
    
         for (i=0;i<N;i++){
             sommaPP= sommaPP + sequenza[i]0;
         }
         cout<<"La somma degli elementi pari e':"<<sommaPP<<endl;
         return sommaPP;   
    }
    se scrivo in questo modo mi da il seguente errore: expecdet ; before numeric constant
    nn capisco il perchè?????
    ah poi quando dici "incrementare di due interi intendi che io scriva "i++" ???

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,301
    La riga dentro al for:
    codice:
    sommaPP= sommaPP + sequenza[i]0;   // <-- Quello 0 va tolto
    Nota che hai messo uno "0" prima del punto e virgola... ti sarà scappato.

    ah poi quando dici "incrementare di due interi intendi che io scriva "i++" ???
    Se fai "i++" incrementi i di 1... dovrai fare

    i = i + 2

    oppure

    i += 2;


    PS: I tag CODE quando posti il codice. Anche sto giro li ho messi io.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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.