Jump to content
Leudassdf

[Resolvido] Problema com estrutura

Recommended Posts

Leudassdf

Boas pessoal,

Eu queria declarar uma estrutura com 117000000 milhoes de valores. Sendo que dentro dessa estrutura teria 5 numeros e 2 estrelas.

Eu tentei fazer isto:

struct Solucao {
 unsigned int numeros[5];
 unsigned int estrelas[2];
}C[117000000];

No entanto dá-me um erro: Size of array c is too large. Como é que eu posso resolver o problema?

Usando malloc? Ja tentei mas nao consegui.

Cumprimentos.

Share this post


Link to post
Share on other sites
thoga31

Caramba, precisas mesmo disso tudo? Tens noção da memória que isso exige?

#include <stdio.h>
typedef struct Solucao {
 unsigned int numeros[5];
 unsigned int estrelas[2];
} C;

int main(void) {
   unsigned long long size = sizeof(C)*117000000;
   printf("%llu bytes\n%llu KB\n%llu MB\n%llu GB", size, size/1024, size/(1024*1024), size/(1024*1024*1024));
   return 0;
}

3276000000 bytes
3199218 KB
3124 MB
3 GB


Knowledge is free!

Share this post


Link to post
Share on other sites
Leudassdf
Em 12/30/2013 às 23:20, thoga31 disse:

Caramba, precisas mesmo disso tudo? Tens noção da memória que isso exige?


#include <stdio.h>
typedef struct Solucao {
 unsigned int numeros[5];
 unsigned int estrelas[2];
} C;

int main(void) {
unsigned long long size = sizeof(C)*117000000;
printf("%llu bytes\n%llu KB\n%llu MB\n%llu GB", size, size/1024, size/(1024*1024), size/(1024*1024*1024));
return 0;
}
 

3276000000 bytes
3199218 KB
3124 MB
3 GB
 

Sim preciso.

Dá para fazer nao da?

Share this post


Link to post
Share on other sites
thoga31

Se tiveres 3GB de RAM disponíveis, sim, e terás de usar listas ligadas.

Isto é por casua do Euromilhões? Para que precisas de colocar em memória? Se precisas de guardar as chaves, mete-as num ficheiro.


Knowledge is free!

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.