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

    [C] Dato un vett di 10 num dire se i num sono crescenti, decrescenti o disordinati

    salve che condizione devo fare per stampare i decrescenti?

    #include<stdio.h>
    #include<iostream>
    #define N 10
    int main()
    {
    int v[N];
    int c=0;


    for(c=0;c<N;c++)
    {
    printf("inserisci un numero");
    printf("\n");
    scanf("%d",&v[c]);
    }
    for(c=0;c<N;c++)
    {
    if(v[c]<v[c-1])
    break;
    }
    if(c==N)
    {
    printf("i numeri nel vettore sono in ordine crescente");
    printf("\n");
    }
    else
    {
    printf("i numeri nel vettore sono disordinati");
    printf("\n");
    }
    system("pause");
    }

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    1,123
    Devi solo ragionare un minimo tu.
    Puoi usare un flag in questo caso, oppure una strategia leggermente differente; verificare se il valore alla posizione i-esima è maggiore/minore rispetto al valore alla (i+1)-esima posizione. Prima però devi verificare l'uguaglianza con N. Ovviamente devi interrompere il ciclo sia se è maggiore sia se è minore...
    Vi saranno altri modi, ma leggendo ho pensato subito a questi.


    MItaly ti ha già detto di utilizzare il tag code più di una volta.


    PS: Guarda che se fai v[c-1] accedi ad una posizione negativa...non esiste quella posizione.

  3. #3
    Originariamente inviato da Patrick Jane
    Devi solo ragionare un minimo tu.
    Puoi usare un flag in questo caso, oppure una strategia leggermente differente; verificare se il valore alla posizione i-esima è maggiore/minore rispetto al valore alla (i+1)-esima posizione. Prima però devi verificare l'uguaglianza con N. Ovviamente devi interrompere il ciclo sia se è maggiore sia se è minore...
    Vi saranno altri modi, ma leggendo ho pensato subito a questi.


    MItaly ti ha già detto di utilizzare il tag code più di una volta.


    PS: Guarda che se fai v[c-1] accedi ad una posizione negativa...non esiste quella posizione.
    grazie per la risposta! in realtà ancora non ho capito come si usano i tag code..però adesso che a posto di c-1 ho provato a mettere c+1 quelli che prima con c-1 me li stampava cpme crescenti adesso me li stampa come decrescenti

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    1,123
    Il problema è che provi senza pensare. Anche facendo c+1 hai un problema, anche se non te ne accorgi è comunque scorretto. Come ti ho detto nell'altro topic, quando c è uguale a N-1 (ultimo elemento dell'array) c+1 eccede gli indici.

    Nell'interfaccia dedicata alla risposta, appena sopra all'area di testo, vi sono i tag. Li trovi il tag code. Funzione come qualsiasi altro tag BBCode... lo apri, scrivi il codice, e lo chiudi.
    Se quoti un messaggio che contiene de codice vedi come si utilizza comunque.


    PS: perchè come titolo del topic hai messo [C], nel codice usi le printf e scanf, e poi importi iostream? lol

  5. #5

    Moderazione

    Mi pare di aver ripetuto un numero di volte sufficiente di volte che il codice va inserito nei tag [code] (e altrettante volte ho corretto io), e questa richiesta è esplicitamente chiarita anche nel regolamento. Inoltre, ancora una volta non mostri di fare particolari sforzi per affrontare il problema in maniera sensata (no, modificare a caso del codice che ti ho scritto io sperando che qualcuno ti fornisca la pappa pronta non rientra nelle "maniere sensate").

    Qui chiudo, prima di aprire altre discussioni ti consiglio di rileggerti il regolamento.
    Amaro C++, il gusto pieno dell'undefined behavior.

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.