Pagina 1 di 2

Problema con l'output in programma c

MessaggioInviato: 28 set 2015, 11:31
da angrigio
Sto realizzando un programma che serve ad inserire elmenti numerici in un array:
La descrizioni in output e':
Inserisci gli elementi dell'array:
0:3
1:5
2:8
3:10
4:2
L'array contiene 5 elementi:
Ho sviluppato alcuni elementi di programma per svolgere una parte del programma:
Codice: Seleziona tutto
#include <stdio.h>
int main()
{
#define lungh 5
int cont;
int dammi;
int conto[lungh];
   for (dammi =0 ; dammi < lungh;dammi= dammi+1)
   {
for(cont =0;cont <lungh;cont = cont+1)
   
{

   printf("%d:",cont);
   scanf("%d",conto[dammi]);
   printf("/n");
}
}
   
return 0;   
}

Ma questo programma ,che viene compilato senza errore quando e' in esecuzione manda in blocco il sistema.
Vorrei sapere dove sto sbagliando..

Re: Problema con l'output in programma c

MessaggioInviato: 28 set 2015, 11:37
da simo85
Ricomincia da questo, e confronta il ciclo for di questo esempio, con il tuo.

Codice: Seleziona tutto
#include <stdio.h>
#define lungh 5

int main()
{
   int dammi;
   int conto[lungh] = {0};

   for (dammi =0 ; dammi < lungh; dammi++)
   {
      /* scanf("%d", conto + dammi); */
      scanf("%d", &conto[dammi]);
      printf("Inserted %d:", conto[dammi]);
      printf("\n");
   }
   
   return 0;   
}


Se hai dubbi, chiedi.

simo

Re: Problema con l'output in programma c

MessaggioInviato: 28 set 2015, 11:52
da angrigio
Ho modificato il programma ricevuto .
Quello sotto e' il sorgente per visualizzare l'output come richiesto dal problema.

Codice: Seleziona tutto
#include <stdio.h>
#define lungh 5

int main()
{
   int dammi;
   int conto[lungh] = {0};

   for (dammi =0 ; dammi < lungh; dammi++)
   {
      /* scanf("%d", conto + dammi); */
      printf("%d:",dammi);
      scanf("%d", &(conto[dammi]));
   }
   
   return 0;   
}

Come compilatore per linguaggio c cosa mi consigliate?
Uso windows 10 con intel 7 64 bit.

Re: Problema con l'output in programma c

MessaggioInviato: 28 set 2015, 11:55
da simo85
angrigio ha scritto:Quello sotto e' il sorgente per visualizzare l'output come richiesto dal problema.

Come ?

Metti il codice tra i tag code per favore.

simo

Re: Problema con l'output in programma c

MessaggioInviato: 28 set 2015, 12:10
da angrigio
Codice: Seleziona tutto
printf("%d:",dammi);
      scanf("%d", &(conto[dammi]));

questo e' il codice che ho inserito nel ciclo di for

Re: Problema con l'output in programma c

MessaggioInviato: 28 set 2015, 12:19
da simo85
Lo so, quella chiamata alla funzione printf stampa il valore del contatore.
Non stampa il valore inserito.

Se è quello che ti chiede il problema (te lo chiedo dato che eri nel dubbio e non lo hai specificato), allora OK.

Re: Problema con l'output in programma c

MessaggioInviato: 28 set 2015, 12:38
da angrigio
Si avevo problemi con la visualizzazione dell'output.
Ora per sviluppare i programmi uso devc++.

Re: Problema con l'output in programma c

MessaggioInviato: 28 set 2015, 12:40
da simo85
angrigio ha scritto:Si avevo problemi con la visualizzazione dell'output.

Spero tu abbia risolto.

Nel primo programma che hai postato hai anche un altro problema con i cicli for, oltre che con la scanf.
Li hai individuati ?

Re: Problema con l'output in programma c

MessaggioInviato: 28 set 2015, 13:00
da angrigio
Si , ora e' tutto a posto.

Re: Problema con l'output in programma c

MessaggioInviato: 28 set 2015, 17:33
da angrigio
Nell'output vorrei che lo schema visualizzase la seguente scritta:
Inserisci gli elementi dell'Array:
0:3
1:8
2:9
3:7
4:8

Array iniziale:
Elemento Valore
0 3.000
1 8,000
2 9,000
3 7,000
4 8,000


Devo usare una funzione ArrayStampa per stampare a video il risultato dell'inserimento dei numeri implementato. Ho sviluppato il programma con l'aggiunta della funzione richiesta ma non mi stampa il ciclo richiesto.






Codice: Seleziona tutto

void StampaArray(int[],int)//funzione dichiarata
#include <stdio.h>
int main()
{
#define lungh 5



   int dammi;
   int conto[lungh];

   for (dammi =0 ; dammi < lungh; dammi++)
   {
      /* scanf("%d", conto + dammi); */
      printf("%d:",dammi);
      scanf("%d", &(conto[dammi]));

   }
     StampaArray(conto,lungh);//Uso della funzione per la stampa
      return 0;
  }
    void StampaArray(int ArraydaStampare[],int lunghezza)//Sviluppo della funzione per la stampa
   {
   int indice;

    printf("Array Iniziale:\n");
    printf("Elemento\tValore\n");
      for (indice = 0 ;indice < lunghezza;indice++);
      printf("%8d\t%6d\n",indice,ArraydaStampare[indice]);
      }