Oppure

Loading
14/03/09 11:38
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[i] = (double *)calloc(v, sizeof(double));

}



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


return 0;
}



aaa
14/03/09 11:51
theprogrammer
Utilizza i tag code per inserire il codice, altrimenti viene modificato e non si capisce nulla ...
aaa
14/03/09 11:55
giocala88
scusa..cos'è???potresti spiegarmi meglio??...grazie...
aaa
14/03/09 12:07
theprogrammer
Quando inserisci il codice usa il tasto

Code

che vedi alla sinistra della finestra ...
aaa
15/03/09 2:33
HeDo
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[i] = (double *)calloc(v, sizeof(double));

}



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


return 0;
}


Spero di aver capito quello che chiedevi:


int main(int argc, char *ppArgv[]) {

	int *pArr, iGrad, n;

	printf("Inserisci il grado: ");
	scanf("%d", &iGrad);

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

	for (n = iGrad; n >= 0; n--) {

		printf("x^%d = ", n);
		scanf("%d", pArr + n); // NOTA: pArr + n -> &pArr[n]
		
	}

	for (n = iGrad; n >= 0; n--) {

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

	}

	printf("\n\n");

	system("PAUSE");

	return 0;
}


giusto?
aaa
15/03/09 8:34
theprogrammer
Postato originariamente da HeDo:

int main(int argc, char *ppArgv[]) {

	int *pArr, iGrad, n;

	printf("Inserisci il grado: ");
	scanf("%d", &iGrad);

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

	for (n = iGrad; n >= 0; n--) {

		printf("x^%d = ", n);
		scanf("%d", pArr + n); // NOTA: pArr + n -> &pArr[n]
		
	}

	for (n = iGrad; n >= 0; n--) {

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

	}

	printf("\n\n");

	system("PAUSE");

	return 0;
}



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);

aaa
15/03/09 9:05
HeDo
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 :)
aaa
15/03/09 9:30
theprogrammer
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? :-?
aaa