Jump to content
Flames

Array

Recommended Posts

Flames

Não sei se deveria ter criado mais um tópico mas cada vez que dou mais um passo fico preso....

É assim estou a criar um array unidimensional para guardar uns valores (não interessa agora para quê), o problema desse array é que o primeiro valor a guardar pode ser float e a partir dele todos os outros só são int's...

ou seja:

4.5 1 1 1 1 1 1 1 1 <---- queria criar este array mas ao inserir por exemplo esses valores o 4 vai assumir a primeira posicao [0] o 5 a posicao[1] e eu gostaria que ficassem na mesma posição :S 

#include <stdio.h>
#include <stdlib.h>
#define L1 7
#define L2 8
#define L3 8
int num1[L1];
float num2[L2];
float num31[L3];
float num3[]={2,1,0.5,0.2,0.1,0.05,0.02,0.01};
void bolsomoedas(){
  int x;
    for (x=0;x<=L2;x++){
            scanf("%2f ",&num2[x]);} /* ja deve estar aqui uma mistura :S mas tentei com float mesm assim não dá!!!! */
for (x=0;x<=L2;x++)
printf("%f ",num2[x]); /* estes prints são para ler os valores e confirmar que o 4.5 nao aparece junto mas separado*/
printf("%f",num2[0]);
}
int main()
{
bolsomoedas();

return 0;
}

Alguêm sabe como me ajudar nisso? please  😳

Share this post


Link to post
Share on other sites
Diutsu

o array guarda apenas valores do mesmo tipo.

soluções a) guardas tudo como floats, mas é ineficiente devido a reservar mais memoria desnecessáriamente

;) guardas o float numa variável à parte e encapsulas o acesso ao vector numa função.


XX SINFO - Semana Informática

Share this post


Link to post
Share on other sites
brunoais

Pq n criar um UNION?

Uma union q aceite um float ou um int e fazes um array dessa union.

typedef union {
    float val1;
    int val2;
} values;


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
Localhost

Cria uma estrutura em que tens um float e depois tens um vector de inteiros. Para quê complicar coisas que são simples...?


here since 2009

Share this post


Link to post
Share on other sites
daj

Sabendo que queres um float para representar dinheiro, sugeria que não usasses um float mas sim um int, com a precisão de cêntimos. Assim, 4.5eur seria 450 e 20cent seria 20.

Isto não invalida a sugestão do Localhost de criar uma estrutura, já que o primeiro valor tem um significado diferente dos restantes.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.