ESERCIZIO C CODEBLOCK

di Anonimizzato18472 il
12 risposte
Programma vettori
Scrivere un programma C che acquisisca un massimo di N valori interi,
con N definita a piacimento. L’acquisizione deve procedere finché
la serie di numeri costituita da numeri in ordine crescente
non vi chiedo come farlo ma v chiedo un aiuto sul possibile ragionamento da seguire per riuscire a fare il programma correttamente
grazie mille per il vostro aiuto cordiali saluti

12 Risposte

  • Presupponendo che tu sappia come preparare tutta l'inizializzazione ti aiuto sul procedimento logico dell'esercizio.

    Ti chiede di inserire numeri in ordine crescente, quindi essendo più di un acquisizione occorre usare un ciclo (for da i=0 fino ad N-1). All'interno, una scanf per inserire il numero e un if che controlla se è maggiore del numero inserito nel ciclo precedente (i-1). Se questa condizione non si verifica serve un break per interrompere l'inserimento ed hai così un procedimento logico che ti permette di inserire numeri in ordine crescente.

    Spero di essere stato chiaro. Se metti su del codice, posso aiutarti ancora di più.
  • Ma hai risolto l'altro problema del compilatore?
  • Ringrazio molto tutti e due allora adesso provo a buttare giù un po di codice e poi T chiedo cortesemente se può andare bene
    Riguardo L altra domanda ho risolto il problema sospendendo L antivirus e adesso sembra funzionare tutto perfettamente grazie ancora X i vostri preziosi aiuti cordiali saluti
  • mikitom ha scritto:


    sospendendo L antivirus
    Ah ... avresti potuto dirlo nel thread dopo tutto quel tempo ...
  • Ecco il programma fatto con il do while ma non riesco a capire perche non funziona
    fino a quando la funzione e crescente chiedo un numero attraverso scanf

    #include <stdio.h>
    #include <stdlib.h>
    # define SIZE 12
    int main()
    {
    int valori[SIZE];
    int crescente=1;
    int i;
    for(i=0;i<SIZE;i++){
    do{
    scanf("%d",&valori);
    if(valori<valori[i-1]){
    crescente=0;}
    }
    while(crescente=1);}
    return 0;
    }


    grazie mille x il vostro aiuto cordiali saluti
  • Controlla bene questa riga

    while(crescente=1)
  • Finche crescente e uguale a 1 posso continuare a richiedere di inserire dati e sbagliato il mio ragionamento?

    il programma che devo svolgere e questo: Fare un programma C che acquisisca un massimo di N valori interi,
    con N costante a piacimento . L’acquisizione deve procedere finché
    la serie di numeri è costituita da numeri in ordine crescente

    t ringrazio ancora molto per il tuo aiuto e disponibilità
  • Non hai esaminato a fondo la linea che ti ho indicato
  • Ok adesso ho capito dovevo mettere while(crescente ==1)
    ho correto l errore ma non cambia niente continua a non funzionare ce qualcosa che mi sfugge ma non riesco a capire cosa
    grazie mille ancora per tutto il tuo aiuto cordiali saluti
  • 
    	int i=0;
    	
    	do
    	{
    		scanf("%d",&valori[i]);
    
    		if(i>0)
    			if(valori[i]<valori[i-1])
    				crescente=0;
    
    		i++;
    	} while(crescente==1 && i<SIZE);
    
  • Ok grazie xo adessso per finire devo fare:L’acquisizione deve procedere finché
    la serie di numeri è monotona, ovvero costituita da numeri in ordine
    crescente o decrescente.
    come faccio a farlo nello stesso do while
    grazie mille ancora
  • Questo è un altro esercizio...
Devi accedere o registrarti per scrivere nel forum
12 risposte