Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - problemi con array nel visualizzare a display...
Forum - C/C++ - problemi con array nel visualizzare a display...

Avatar
giocala88 (Normal User)
Expert


Messaggi: 248
Iscritto: 23/04/2008

Segnala al moderatore
Postato alle 12:38
Sabato, 14/03/2009
Salve ragazzi, ho implementato un programma che, per il momento, acquisisce parti di un'espressione di grado n e la visualizza per intero..
Il problema riscontrato è proprio questo: la visualizzazione dell'espressione per intero non avviene...dove sbaglio??..grazie anticipatamente..

Ecco il codice in ANSI C:

#include <stdio.h>
#include <stdlib.h>


int main()
{
    int g, i;
    double *array, v;


    printf("\n Inserisci il grado dell'equazione da acquisire: ");
    scanf("%d", &g);

    array = (int *)calloc(g, sizeof(int));


    for(i = g; i >= 0 && i <= g ; --i)
    {
        printf("x^%d = ", i);
        scanf("%lg", &v);


        array = (double *)calloc(v, sizeof(double));

    }



    for(i = g; i >= 0 && i <= g ; --i)
    {
        printf("%g", array);
    }


    return 0;
}




PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 12:51
Sabato, 14/03/2009
Utilizza i tag code per inserire il codice, altrimenti viene modificato e non si capisce nulla ...

PM Quote
Avatar
giocala88 (Normal User)
Expert


Messaggi: 248
Iscritto: 23/04/2008

Segnala al moderatore
Postato alle 12:55
Sabato, 14/03/2009
scusa..cos'è???potresti spiegarmi meglio??...grazie...

PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 13:07
Sabato, 14/03/2009
Quando inserisci il codice usa il tasto

Code

che vedi alla sinistra della finestra ...

PM Quote
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 3:33
Domenica, 15/03/2009
Testo quotato

Postato originariamente da giocala88:

Salve ragazzi, ho implementato un programma che, per il momento, acquisisce parti di un'espressione di grado n e la visualizza per intero..
Il problema riscontrato è proprio questo: la visualizzazione dell'espressione per intero non avviene...dove sbaglio??..grazie anticipatamente..

Ecco il codice in ANSI C:

#include <stdio.h>
#include <stdlib.h>


int main()
{
    int g, i;
    double *array, v;


    printf("\n Inserisci il grado dell'equazione da acquisire: ");
    scanf("%d", &g);

    array = (int *)calloc(g, sizeof(int));


    for(i = g; i >= 0 && i <= g ; --i)
    {
        printf("x^%d = ", i);
        scanf("%lg", &v);


        array = (double *)calloc(v, sizeof(double));

    }



    for(i = g; i >= 0 && i <= g ; --i)
    {
        printf("%g", array);
    }


    return 0;
}



Spero di aver capito quello che chiedevi:

Codice sorgente - presumibilmente C++

  1. int main(int argc, char *ppArgv[]) {
  2.  
  3.         int *pArr, iGrad, n;
  4.  
  5.         printf("Inserisci il grado: ");
  6.         scanf("%d", &iGrad);
  7.  
  8.         pArr = (int *)calloc(iGrad, sizeof(int));
  9.  
  10.         for (n = iGrad; n >= 0; n--) {
  11.  
  12.                 printf("x^%d = ", n);
  13.                 scanf("%d", pArr + n); // NOTA: pArr + n -> &pArr[n]
  14.                
  15.         }
  16.  
  17.         for (n = iGrad; n >= 0; n--) {
  18.  
  19.                 printf("%+dx^%d ", pArr[n], n);
  20.  
  21.         }
  22.  
  23.         printf("\n\n");
  24.  
  25.         system("PAUSE");
  26.  
  27.         return 0;
  28. }



giusto?

PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 9:34
Domenica, 15/03/2009
Testo quotato

Postato originariamente da HeDo:
Codice sorgente - presumibilmente C++

  1. int main(int argc, char *ppArgv[]) {
  2.  
  3.         int *pArr, iGrad, n;
  4.  
  5.         printf("Inserisci il grado: ");
  6.         scanf("%d", &iGrad);
  7.  
  8.         pArr = (int *)calloc(iGrad, sizeof(int));
  9.  
  10.         for (n = iGrad; n >= 0; n--) {
  11.  
  12.                 printf("x^%d = ", n);
  13.                 scanf("%d", pArr + n); // NOTA: pArr + n -> &pArr[n]
  14.                
  15.         }
  16.  
  17.         for (n = iGrad; n >= 0; n--) {
  18.  
  19.                 printf("%+dx^%d ", pArr[n], n);
  20.  
  21.         }
  22.  
  23.         printf("\n\n");
  24.  
  25.         system("PAUSE");
  26.  
  27.         return 0;
  28. }





Sarebbe meglio che i coefficienti fossero double e quindi

double *pArr;

e

pArr = (double *)calloc(iGrad, sizeof(double));

e

scanf("%g", pArr + n);

e infine

printf("%+gx^%d ", pArr[n], n);


PM Quote
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 10:05
Domenica, 15/03/2009
Testo quotato

Postato originariamente da theprogrammer:

Sarebbe meglio che i coefficienti fossero double e quindi

double *pArr;

e

pArr = (double *)calloc(iGrad, sizeof(double));

e

scanf("%g", pArr + n);

e infine

printf("%+gx^%d ", pArr[n], n);




a parte questo dettaglio, era quello che voleva?

Mi sembra troppo facile ci dev'essere l'inghippo :)

PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 10:30
Domenica, 15/03/2009
Testo quotato

Postato originariamente da HeDo:
era quello che voleva?



Probabilmente sì ... il fatto e' che, senza i tag code, se nel codice c'e' una riga con

[ i ]

questa non viene visualizzata e passa al "corsivo" ... e cosi' non si capisce nulla del codice effettivo ...

Che ci vuole a postare correttamente? :-?

PM Quote