Dati tre numeri da tastiera: a,b,c stamparli in ordine crescente

Pubblicità
Stato
Discussione chiusa ad ulteriori risposte.

Spanci03

Utente Attivo
Messaggi
418
Reazioni
87
Punteggio
39
Salve a tutti , mi sono imbattutto in questo esercizio :
Dati tre numeri da tastiera: a,b,c stamparli in ordine crescente


Non ho capito bene il concetto logico , me lo potete spiegare?
Cioè io per contare i numeri vedo qual'è il minore e poi li metto in ordine .,.. Ma non so nella codifica da dove partire

Grazie
 
Salve a tutti , mi sono imbattutto in questo esercizio :
Dati tre numeri da tastiera: a,b,c stamparli in ordine crescente


Non ho capito bene il concetto logico , me lo potete spiegare?
Cioè io per contare i numeri vedo qual'è il minore e poi li metto in ordine .,.. Ma non so nella codifica da dove partire

Grazie
Parti dal fatto che hai:
Int a, b, c;

Parti dal fatto che già sai gli operatori logici.
Combina le due cose ed il gioco è fatto.
 
Grazie , ma le variabili le sapevo già . Io voglio capire il concetto logico .
Ciò che hai scritto non serve a nulla
Non è che ciò che ho scritto non ha senso ma è che ciò che chiedi non ha nulla di astratto. Non stai chiedendo come lavorare con multilevel pointers ma come stampare 3 numeri in ordine crescente.
Puoi farlo come ti pare, coi vector o con i puntatori o con 3 variabili, tutto sta a te.
E ti dico anche che se non sai svolgere questi esercizio qua dovresti iniziare a leggere libro di c++ o cambiare e trovare qualcosa di più semplice.
 
Non è che ciò che ho scritto non ha senso ma è che ciò che chiedi non ha nulla di astratto. Non stai chiedendo come lavorare con multilevel pointers ma come stampare 3 numeri in ordine crescente.
Puoi farlo come ti pare, coi vector o con i puntatori o con 3 variabili, tutto sta a te.
E ti dico anche che se non sai svolgere questi esercizio qua dovresti iniziare a leggere libro di c++ o cambiare e trovare qualcosa di più semplice.

Se stai qua a farmi la predica stai perdendo solo tempo , grazie per l'aiuto ma ciò che dici non mi aiuta affatto . grazie eh
 
Il concetto logico è ordinare i tre numeri. Puoi usare un set, una priority_queue, un vettore e trovare il minimo a ogni iterazione...
Se invece hai tre variabili, chiamiamole x, y e z; ciò si ottiene con una concatenazione di vari costrutti if.
Codice:
SE x > y:
    SE y > z:
        stampa(x, y, z)
    ALTRIMENTI:
        stampa(x, z, y)
ALTRIMENTI SE y > z:
    ecc...
 
Dopo ecc cosa verrebbe ? cioè è proprio il concetto che non capisco
Se n1>N2
se n2>n3
allora n1 n2 n3

se n2>n3
se n1>n3
allora n1 n2 n3

se n3<n1
se n2<n1
allora n1 n2 n3

giusto ? allora sarebbe stampa
Il ragionamento è giusto?
 
Ultima modifica:
Io avevo pensato a questa struttura , va bene?
Grazie per la risposta
C++:
    if(N1<N2)
       if(N1<N3)
         if(N2<N3)
            N1 N2 N3;
         else
           N1 N3 N2;
    else
      if(N1<N3)
         N2 N1 N3;
      else
       if(N2<N3)
         N2 N3 N1;
      else
        N3 N2 N1;
Sì scusa io stavo ordinando in modo decrescente :cav:
Ti manca solo la codifica di N3 N1 N2
 
Innanzi tutto come da regolamento devi PRIMA di tutto pubblicare quello che hai scritto. Non importa se non completo o sbagliato.
Inizia dalla parte piu' semplice, leggere tre numeri da tastiera.
Segui con il stamparli su video, non importa in che ordine.
Solo a quel punto ti possiamo aiutare.
Leggi il regolamento per favore, non e' per farti la predica (tutti noi abbiamo iniziato con lo studiare e imparare quindi sappiamo cosa voglia dire, ci siamo passati)

Nel tuo caso devi trovare prima di tutto il minore dei tre, e stamparlo.
Inizia con quello.
 
Innanzi tutto come da regolamento devi PRIMA di tutto pubblicare quello che hai scritto. Non importa se non completo o sbagliato.
Inizia dalla parte piu' semplice, leggere tre numeri da tastiera.
Segui con il stamparli su video, non importa in che ordine.
Solo a quel punto ti possiamo aiutare.
Leggi il regolamento per favore, non e' per farti la predica (tutti noi abbiamo iniziato con lo studiare e imparare quindi sappiamo cosa voglia dire, ci siamo passati)

Nel tuo caso devi trovare prima di tutto il minore dei tre, e stamparlo.
Inizia con quello.

Fin'ora ho fatto questo codice :
C++:
//librerie
#include<iostream>
using namespace std;
//Dati 3 numeri , ordinarli in ordine crescente
int main(){
//dichiarazione variabili   
    int N1,N2,N3;
//Input numeri da tastiera
    cout<<"inserisci il primo numero : ";
    cin>>N1;
    cout<<"inserisci il primo numero : ";
    cin>>N1;
    cout<<"inserisci il primo numero : ";
    cin>>N1;
 
Beh, visto che il testo chiedi "tre numeri a,b,c" perche' mai hai cambiato nome alle variabili?
E poi ne leggi e stampi solo uno (N1).

Dai, leggili tutti e tre, poi stampali con una istruzione unica.
Poi trova il minore e stampalo.
Ti sto aiutando a piccoli passi qui.
 
Beh, visto che il testo chiedi "tre numeri a,b,c" perche' mai hai cambiato nome alle variabili?
E poi ne leggi e stampi solo uno (N1).

Dai, leggili tutti e tre, poi stampali con una istruzione unica.
Poi trova il minore e stampalo.
Ti sto aiutando a piccoli passi qui.

ho preso in considerazione 3 5 6

è ho atto questo ragionamento:
se 3<5
se 6>3
stampa 3 5 6

se 6<5
se 5>3
stampa 3 5 6

se 5<6
se 6>3
stampa 3 5 6


è giusto?
 
No.
Per esempio, considera la terna 3,7,6
Passerebbe il tuo primo test
3<7
6>3
ma la stampa sarebbe sbagliata.

Quando devi trovare il numero maggiore o minore di una serie, devi usare sempre o solo un operatore (maggiore o minore) mai mischiarli. Non lo avete studiato a scuola?
 
No.
Per esempio, considera la terna 3,7,6
Passerebbe il tuo primo test
36>3
ma la stampa sarebbe sbagliata.

Quando devi trovare il numero maggiore o minore di una serie, devi usare sempre o solo un operatore (maggiore o minore) mai mischiarli. Non lo avete studiato a scuola?
Si , infatti proprio ieri abbiamo fatto un esercizio : dati 3 numeri calcolare il maggiore
Comunque ora su carta mi esercito a fare tutti i casi possibili , vedo cosa riesco a fare.. grazie
--- i due messaggi sono stati uniti ---
Però il concetto delle logica di questo esercizio lo devo ancora capire

usando i numeri 3 7 6
7>3
7>6
6<7
3<7

avendo fatto ciò devo trovare qualcosa che lega queste affermazioni
 
Ultima modifica:
Stato
Discussione chiusa ad ulteriori risposte.
Pubblicità
Pubblicità
Indietro
Top