fernandopinheiro
(usa Debian)
Enviado em 20/03/2011 - 18:18h
10.000.000 ???? Pra que voce quer um vetor tão grande assim?????
Até tem como voce criar um vetor desse tamanho mas voce vai precisar usar ponteiros e alocação dinamica!
Como provavelmente voce deve ser novato em programação, sugiro que procure por "Ponteiro e alocação dinamica de memoria em C/C++" e de uma estudada antes.
Esse código faz o que voce quer, mas com 10.000 posições apenas.
Com mais valores ele dará um erro de falaha de segmentação, pois nao irá conseguir alocar memoria suficiente por isso voce terá que usar ponteiros e alocação dinamica se quiser fazer com mais numero
O codigo esta facil de entender é so voce se esforçar e estudar!
Basta copiar e colar em um arquivo do Gedit ou qualquer outro arquivo texto e salvar como nomedoprograma.c
Depois entre no terminal, va para o diretorio onde esta salvo o arquivo e então digite: gcc -o programa nomedoprograma.c
E divirta-se
/*
Autor: Fernando Pinheiro
Programa que gera um vetor de 10000000 de posições
e preenche com numero aleatorios (randomicos).
*/
#include <stdio.h>
#include <stdlib.h>
#define TAM 100000 /* definindo o tamanho do vetor (posições)*/
void randomiza(int vet[],int num){ /* função que gera um vetor randomico de 10000 posições*/
int i;
srand(time(NULL)); /*função srand para gerar valorea aleatorio*/
printf("\n\nO VETOR FOI GERADO !!\n");
for (i=0; i<TAM; i++)
{
vet[i]=rand() % TAM;
}
}
void imprime_vet (int vet[],int num){/*serve apenas para mostrar vetor*/
int i=0;
printf("\nMOSTRANDO O VETOR:\n");
while (i<num)
{
printf("%d, ", vet[i]);
i++;
}
printf("\n\n\n");
}
int main()
{
int vet[TAM], i;
randomiza(vet,TAM); /* chamada a função randomiza e passado os valores*/
printf("Para mostrar o vetor digite 1 :");
scanf("%d",&i);
if(i == 1)
{
imprime_vet(vet,TAM); /* chamda da função imprime o passado o vetor com os valores */
}
else
exit (0);
return 0;
}