Aiuto esercizio in c++

di il
30 risposte

Aiuto esercizio in c++

Ragazzi vorrei una mano. Devo scrivere un programma in c++ che prende in input varie misure e si stoppa quando si inserisce lo 0.
Poi con queste misure prese in input calcola un valore medio, massimo, minimo e l’errore assoluto e relativo.
Per il valore medio ho risolto facendo una somma di ogni numero preso in input e il valore medio me lo sono trovato dividendo questa somma con il contatore (che conta quante misure sono state inserite)
l’unica cosa da cui non riesco a uscirne fuori è: come faccio a trovare il valore massimo e minimo tra le misure prese in input, perché sono fondamentali poi per trovarmi anche l’errore assoluto e relativo . Non riesco a capire... perché il professore mi ha detto di non usare le liste, ma così facendo il programma dove me li salva tutti gli input che prende ? Non posso creare neanche una variabile per ogni input perché non so l’utente quante misure inserisce perché potrebbero essere 100 come soltanto 5, dipende dall’utente

30 Risposte

  • Re: Aiuto esercizio in c++

    Non devi conservare tutti i valori, non è richiesto. Ci hai pensato?
  • Re: Aiuto esercizio in c++

    E come faccio a calcolarmi il valore massimo e minimo se non conservo i valori?
  • Re: Aiuto esercizio in c++

    #include <iostream>
    #include <string>
    #include <cmath>
    #include <conio.h>
    #include <stdlib.h>
    #include <stdio.h>
    #include <time.h>
    using namespace std;

    int main()
    {
    float misura,somma,ea,er,max,min,med;
    //ea=errore assoluto; er=errore relativo; somma=somma delle misure; max=valore massimo; min=valore minimo; med= valore medio

    max=0;
    min=0;
    int i=0;

    do{
    cout<<"inserisci la misura \n";
    cin>>misura;
    somma+=misura;
    i++;
    }while (misura!=0 );

    if(misura>max){
    max=misura;
    cout<<max;
    }

    med=somma/i;
    cout<<med;
    ea=(max-min)/2;
    cout<<ea;
    er=ea/med;
    cout<<er;

    Questo è ciò che ho scritto fin’ora
  • Re: Aiuto esercizio in c++

    Ho provato a trovarmi il valore massimo ponendo la condizione che la misura sia maggiore di max( che ho inizializzato a 0) però non mi funziona, e per trovarmi il valore minimo non riesco proprio a capire come fare.
    Poi per quanto riguarda l’inserimento delle misure e il calcolo del valore medio, non capisco perché nel calcolo mi considera anche lo 0 come misura .
    Esempio inserisco misure
    4
    1
    4
    Digito 0 per terminare
    Invece di calcolarmi 9:3 mi calcola 9:4
  • Re: Aiuto esercizio in c++

    La variabile i viene incrementata prima di terminare il ciclo quindi viene contato anche lo zero. Basta dividere per i-1

    All'inizio del ciclo poni min e max uguale al primo valore in input. Dal secondo valore confronta con min e max.
  • Re: Aiuto esercizio in c++

    Come dovrei scrivere quindi i-1? Non ti ho capito
    Per quanto riguarda min e max mi dici di fare min=misura e max=misura?
    E poi come faccio a scrivere che dal secondo valore in poi me li confronta e capisce qual’e il maggiore e minore?
  • Re: Aiuto esercizio in c++

    Dividere per i-1 e non per i

    Dal secondo valore controlli con due if... le avrai studiate le if .. e i confronti con < e > .... o no?
  • Re: Aiuto esercizio in c++

    Ah ok quindi nel calcolo del valore medio mi dici di fare somma/i-1
    Per quanto riguarda gli if stavo pensando di fare per il max if(misura>max)
    Max=misura
    Cout max

    Per il min Ho pensato a questo ma non credo sia giusto
    If misura<min
    Min=misura
    Cout misura
  • Re: Aiuto esercizio in c++

    Nicolodiana ha scritto:


    Ah ok quindi nel calcolo del valore medio mi dici di fare somma/i-1
    In quale classe sei? Occhio che tutto il denominatore deve essere i-1
    Rispetta le precedenze
    Per quanto riguarda gli if
    Tieni presente nelle if che il valore 0 che termina il programma NON deve essere considerato.
    E considera che le if devono stare NEL ciclo, ma le cout FUORI dal ciclo.

    Per quanto riguarda le cout, con la prima visualizzi max ... e con la seconda cosa devi visualizzare... ?


    P.S. Quando posti del codice nel forum, utilizza i tag CODE, vedi regolamento.
  • Re: Aiuto esercizio in c++

    Si l’avevo dato per scontato che il denominatore i-1 doveva essere messo tra parentesi
    Per quanto riguarda le cout con la prima visualizzo il max e con la seconda il minimo,no?
  • Re: Aiuto esercizio in c++

    Ma nella seconda cout cosa hai scritto?
  • Re: Aiuto esercizio in c++

    Scusami mi sono confuso a scrivere misura, volevo scrivere cout min
  • Re: Aiuto esercizio in c++

    Quello che volevi fare (le parentesi, il cout min) io non posso saperlo. Vedo quello che scrivi.

    Comunque, adesso hai tutto quello che ti serve per scrivere il codice dell'esercizio. Buon lavoro.
  • Re: Aiuto esercizio in c++

    Ti ringrazio, un ultima cosa. Come faccio però a dire nell’if che non deve tener conto del valore 0?
Devi accedere o registrarti per scrivere nel forum
30 risposte