ESERCIZIO C CODEBLOCK

di il
12 risposte

ESERCIZIO C CODEBLOCK

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

  • Re: ESERCIZIO C CODEBLOCK

    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ù.
  • Re: ESERCIZIO C CODEBLOCK

    Ma hai risolto l'altro problema del compilatore?
  • Re: ESERCIZIO C CODEBLOCK

    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
  • Re: ESERCIZIO C CODEBLOCK

    mikitom ha scritto:


    sospendendo L antivirus
    Ah ... avresti potuto dirlo nel thread dopo tutto quel tempo ...
  • Re: ESERCIZIO C CODEBLOCK

    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
  • Re: ESERCIZIO C CODEBLOCK

    Controlla bene questa riga

    while(crescente=1)
  • Re: ESERCIZIO C CODEBLOCK

    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à
  • Re: ESERCIZIO C CODEBLOCK

    Non hai esaminato a fondo la linea che ti ho indicato
  • Re: ESERCIZIO C CODEBLOCK

    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
  • Re: ESERCIZIO C CODEBLOCK

    
    	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);
    
  • Re: ESERCIZIO C CODEBLOCK

    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
  • Re: ESERCIZIO C CODEBLOCK

    Questo è un altro esercizio...
Devi accedere o registrarti per scrivere nel forum
12 risposte