Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Carlos Eduardo Bellotti

Vetor

Recommended Posts

Bom dia Galera, novamente estou fazendo um trabalho para faculdade que está me dando muita dor de cabeça, pois o professor quer que eu compare os metodos de ordenação, porem ele que eu comparos vetores que contenhas dez, cem, mil, dez mil , cem mil e um milhão de registros, ae eu define uma constate #define MAX 10, ah so vou alterando o valor, porem quando eu atribuo um valor para cem mil , o compilador diz que o tamanho e muito grande, ja tentei no turbo C, e no Dev C, a outra coisa, atribui as variaveis como int, não deu certo, unsigned long int, tambem não funcionou , alguem pode me ajudar como resolver isso ????

 

 

Obrigado pessoal !!

 

Agradeço a colaboração de todos !

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

É mais fácil você colar o código do que a gente adivinhar o que você está fazendo de errado, porque os defines funcionam.

 

Pontuação não se resume a vírgulas, exclamação e interrogação.

Compartilhar este post


Link para o post
Compartilhar em outros sites

#include <conio.h>
#include <stdio.h>
#include <time.h>
#define MAX 10
// inicio - prototypes
void buble(int vetor[],int n);
//fim - prototuypes

//inicio função gerar vetor está no pior caso
void lervetor(int vetor[],int qtd){

int i;
/*
for(i=0;i<qtd;i++){
  vetor[i]=qtd-i;
}
  */
	vetor[0]=9;
	vetor[1]=10;
	vetor[2]=3;
	vetor[3]=4;
	vetor[4]=6;
	vetor[5]=7;
	vetor[6]=5;
	vetor[7]=1;
	vetor[8]=2;
	vetor[9]=8;

printf("Vetor lido com Sucesso");
}

//fim função ler

//inicio imprimir vetor

void imprime(int vetor[],int qtd){
	int i;
	for(i=0;i<qtd;i++){
		printf("Vetor [%d] = %d\n",i+1,vetor[i]);
	}
}
//fim imprimir vetor
//Odenação bolha -- inicio

void bolha(int vetor[MAX],int n)
{
	int condicao=0,troca=1,ntroca=0;
	int j,aux,passo=0;
	for(passo=0;(passo<n-1)&&troca==1; passo++) {
		troca=0;
		for(j=0;j<(n-passo-1); j++){
			condicao++;
			if(vetor[j]>vetor[j+1]){
				aux=vetor[j];
				vetor[j] = vetor[j+1];
				vetor[j+1]=aux;
				ntroca++;
				troca=1;
			}

		}

	}

printf("\n\n\nNumeros de Trocas -> %d\n",ntroca);
printf("Numero condicao --> %d \n\n\n\n",condicao);
}


//fim da ordenação

//programa principal

main(void){
int vetor[MAX];
	clock_t inicio, fim;
clrscr();//limpa tela
lervetor(vetor,MAX);//chama a função ler vetor
printf("\n Vetor desordenado\n"); // imprime na tela esse mensagem
imprime(vetor,MAX); // chama a função ler vetor
inicio = clock();
bolha(vetor,MAX); // chama a função bolha para ordenação
fim = clock();
printf("\n Vetor Ordenado \n"); // imprime na tela essa mensagem
imprime(vetor,MAX); // imprime o vetor ordenado .
printf("TEmpo em %ld ms ",( fim - inicio ));
getch();
return 0;
}

Ae está o codigo !!

 

Obrigado !!

Compartilhar este post


Link para o post
Compartilhar em outros sites

ib03@talisker:~/src\:gcc teste2.c -Wall

teste2.c: In function "lervetor":

teste2.c:8: warning: unused variable "i"

teste2.c: At top level:

teste2.c:59: warning: return type defaults to "int"

ib03@talisker:~/src\:echo $?

0

 

 

Compila normal.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.