PDA

View Full Version : Programma in C


Beele
03-11-2012, 20:26
Salve a tutti,
devo scrivere un programma che:
1) mi permetta di inserire una sequenza di punti (x,y)(float) chiedendo all'inizio all'utente quante coppie vuole inserire.
2)successivamente elenca le coppie inserite.

Il punto 1 l'ho fatto e nel 2 non riesco a far elencare tutte le coppie inserite ma solo l'ultima che inserisco.

Contattatemi in privato se siete disponibili ad aiutarmi. Ringrazio anticipatamente!

Ciao a tutti!

clockover
03-11-2012, 21:33
Salve a tutti,
devo scrivere un programma che:
1) mi permetta di inserire una sequenza di punti (x,y)(float) chiedendo all'inizio all'utente quante coppie vuole inserire.
2)successivamente elenca le coppie inserite.

Il punto 1 l'ho fatto e nel 2 non riesco a far elencare tutte le coppie inserite ma solo l'ultima che inserisco.

Contattatemi in privato se siete disponibili ad aiutarmi. Ringrazio anticipatamente!

Ciao a tutti!

Io direi invece che pubblicamente potresti mostrarci il tuo codice così qualcuno può dargli uno sguardo e vedere cosa c'è che non va ;)

Beele
03-11-2012, 23:01
#include <stdio.h>
#include <math.h>

typedef struct
{
float x;
float y;
char coppia[20],coppia1[20];
}coordinata;

int main ()
{
coordinata c;
int inserito=0, i=1;

printf("Digitare il numero di coppie che si desidera inserire: ");
scanf ("%d",&inserito);

for (i=1; i<=inserito; i++)
{
printf("Inserire la %d coppia: ",i);
scanf("%f%f",&c.x,&c.y);
c.coppia[i]==c.x;
c.coppia1[i]==c.y;
}

for(inserito=i;i>1;i--)
{
printf("(%f,%f)\n",c.coppia[i],c.coppia1[i]);
}

getch();
}



L'ultima parte è l'ultima cosa che ho provato un po a caso...scusate ma sono alle prime armi :) grazie!

simo8
04-11-2012, 11:53
Ma non capisco a cosa serve l'array di char nella struttura , ci vai a memorizzare le coordinate ... Dovresti creare un array della struttura coordinata del tipo :

typedef struct
{
float x;
float y;
}coordinata;

coordinata c[dimensione];

In questo modo ogni elemento dell'array contiene una coordinata : C[0]=1,2.

Poi nel tuo esempio se uno vuole inserire più di 20 elementi , dovresti gestire l'allocazione dinamica dell' array o hai un limite massimo ?

Beele
04-11-2012, 21:22
No non nessuno limite. allora domani provo a vedere come viene. grazie per il suggerimento. :)
Comunque ribadisco ancora che sono alle prime armi. :(

saluti

Beele
05-11-2012, 15:23
Grazie mille ho risolto questo punto. In effetti non aveva senso quello che avevo scritto ma era un tentativo fatto a tarda ora :D.

simo8
05-11-2012, 23:01
Bene . Se non l'hai già fatto , per togliere il limite delle 20 coppie devi usare l'allocazione dinamica dell'array . La funzione che permette ciò e la malloc , ovvero qualcosa del genere :

coordinata *coordinate =(coordinata *) malloc (dimensione * sizeof(coordinate));


Dove dimensione è la lunghezza del tuo array inserita dall'utente all'inizio.