FórumGdH

Página Inicial do Guia do Hardware

Registrar FAQ Calendário Pesquisar Mensagens de Hoje Marcar Fóruns Como Lidos

Voltar   FórumGdH > Profissional > Programação, scripts, web e banco de dados
Bem-vindo ao FórumGdH
Não se esqueça de se registrar, é grátis . Nós temos 754.090 usuários, convidamos você fazer parte de nossa comunidade também! Se ainda não encontrou o que procura use nossa pesquisa. Esperamos que aprecie nosso trabalho.

Resposta
 
Opções do Tópico
Antigo 29-03-2003, 18:56   #1 (permalink)
Andreia_Sp
Super Participante
 
Registrado em: Mar 2003
Localização: São Paulo / SP
Idade: 29
Mensagens: 646
Reputação: 19 Andreia_Sp está indo no caminho certo
Padrão C++ Qual codigo que ordena

Ola Pessoal,

alguem sabe qual eh o codigo certinho que ordena nomes???
Assim.... eu tenho 3 variaveis que eu vo digita informações e no fim do programa eu tenho que exibir e depois outra lista que exibi ordenado por um certo campo. Ex.: Pede nome, endereço e cidade. Digito e na hra de listar, tem que ordena pelo nome e logo as informações que seguem esta informação....



valeu
Andreia_Sp está offline   Responder com Quote
Antigo 29-03-2003, 19:44   #2 (permalink)
FrecoRulez
Newbie
 
Registrado em: Mar 2003
Localização: Brasil - Taubaté
Mensagens: 17
Reputação: 0 FrecoRulez está indo no caminho certo
Enviar mensagem via ICQ para FrecoRulez
Padrão

Preciso de mais detalhes, que tipo de variavel? String? STL? Lista encadeada?

Você que uma função de biblioteca ou o codigo que faz isso?
__________________
+ + void + + FrecoRulez + + void + +
FrecoRulez está offline   Responder com Quote
Antigo 29-03-2003, 19:57   #3 (permalink)
Andreia_Sp
Super Participante
 
Registrado em: Mar 2003
Localização: São Paulo / SP
Idade: 29
Mensagens: 646
Reputação: 19 Andreia_Sp está indo no caminho certo
Padrão

Citação:
Postado Originalmente por FrecoRulez
Preciso de mais detalhes, que tipo de variavel? String? STL? Lista encadeada?

Você que uma função de biblioteca o...
variavel do tipo string
Andreia_Sp está offline   Responder com Quote
Antigo 29-03-2003, 21:18   #4 (permalink)
romulo
Zumbi
 
Registrado em: Dec 2001
Localização: Fortaleza / CE
Mensagens: 7.506
Reputação: 30 romulo está indo no caminho certo
Enviar mensagem via ICQ para romulo
Padrão

Isso depende muito de como você vai armazenar os dados, se é em uma lista, árvore, etc. No caso de ser uma lista, existem vários métodos para ordenação, tipo bubble (o mais simples e também mais lento), radix, select, insert, shell, quick, merge, etc. Mas eu acho mais fácil criar uma árvore e imprimir ordenadamente usando recursão.
__________________
Minha coleção de jogos (todos originais)
romulo está offline   Responder com Quote
Antigo 29-03-2003, 22:27   #5 (permalink)
Andreia_Sp
Super Participante
 
Registrado em: Mar 2003
Localização: São Paulo / SP
Idade: 29
Mensagens: 646
Reputação: 19 Andreia_Sp está indo no caminho certo
Padrão

Citação:
Postado Originalmente por romulo
Isso depende muito de como você vai armazenar os dados, se é em uma lista, árvore, etc. No caso de ser uma lista, exi...
Romulo,
vc complica-me rsss... meu c++ naum eh tao avançado assim
Andreia_Sp está offline   Responder com Quote
Antigo 29-03-2003, 22:32   #6 (permalink)
romulo
Zumbi
 
Registrado em: Dec 2001
Localização: Fortaleza / CE
Mensagens: 7.506
Reputação: 30 romulo está indo no caminho certo
Enviar mensagem via ICQ para romulo
Padrão

Citação:
Postado Originalmente por Andreia_Sp
Romulo,
vc complica-me rsss... meu c++ naum eh tao avançado assim
Como você está pensando em implementar o armazenamento desses dados?
__________________
Minha coleção de jogos (todos originais)
romulo está offline   Responder com Quote
Antigo 29-03-2003, 22:41   #7 (permalink)
Andreia_Sp
Super Participante
 
Registrado em: Mar 2003
Localização: São Paulo / SP
Idade: 29
Mensagens: 646
Reputação: 19 Andreia_Sp está indo no caminho certo
Padrão

Citação:
Postado Originalmente por romulo
Como você está pensando em implementar o armazenamento desses dados?
Romulo,

o problema é o seguinte, meu "amavel" professor passou um exercicio em C++. O programa é assim:
Programa que lê 15 carros e depois ordena por modelo.
Certo? mas como meu professor eh o melhor do mundo, ele nao corrigiu o exercicio, nao nos ensinou como ordena e se negou a nos explicar e vai colocar em prova... Entaum viu porque da minha pergunta. Pelo meu pouco conhecimento nessa droguinha de linguagem eu consegui fazer alguma coisa, porem naum roda, veja como eu fiz:

#include <iostream.h>
#include <stdio.h>
#include <string.h>
#include <conio.h>
void main()
{struct carro
{char modelo[61];
char fabricante[41];
int ano_fab;
};
char modelo[61];
carro carro[15];
int temp=0;
int i;
for (i=0;i<15;i++)
{cout<<"\n Digite o modelo do carro \n";
cin>>carro[i].modelo;
cout<<"\n Digite o nome do fabricante \n";
gets(carro[i].fabricante);
cout<<"\n Digite o ano de fabricacao \n";
cin>>carro[i].ano_fab;
}
clrscr();
cout<<"\n\n Relatorio \n\n";
for(i=0;i<15;i++)
{
for(int j=i+1;j<15;i++)
if(modelo[i]>modelo[j])
{temp = modelo[i];
modelo[i] = modelo[j];
modelo[j] = temp;
getch();
}
}
}


você consegue localizar o erro, porque eu discuti com meu professor esta questao e ai ele resolver colaborar e viu meu exercicio, mas ai ele soh disse que está certo mas que falta uma coisinha..... mas essa coisinha ele naum disse....


valeu
Andreia_Sp está offline   Responder com Quote
Antigo 29-03-2003, 22:51   #8 (permalink)
romulo
Zumbi
 
Registrado em: Dec 2001
Localização: Fortaleza / CE
Mensagens: 7.506
Reputação: 30 romulo está indo no caminho certo
Enviar mensagem via ICQ para romulo
Padrão

Citação:
Postado Originalmente por Andreia_Sp
Romulo,

o problema é o seguinte, meu "amavel" professor passou um exercicio em C++. O programa é assim:
Programa ...
Ôpa, na verdade esse código tem alguns erros. Vou jogar aqui no Dev-C++ e depois posto as correções. Só pra constar, esse método que você usou é o bubble sort, o mais simples e também mais lento.
__________________
Minha coleção de jogos (todos originais)
romulo está offline   Responder com Quote
Antigo 29-03-2003, 22:54   #9 (permalink)
Andreia_Sp
Super Participante
 
Registrado em: Mar 2003
Localização: São Paulo / SP
Idade: 29
Mensagens: 646
Reputação: 19 Andreia_Sp está indo no caminho certo
Padrão

Citação:
Postado Originalmente por romulo
Ôpa, na verdade esse código tem alguns erros. Vou jogar aqui no Dev-C++ e depois posto as correções. Só pra constar, ...
poize, mas nunca ouvi essa palavra.... com disse, meu professor eh uma maravilha, pior naum há!!!


obrigada pela sua ajuda :wink:
Andreia_Sp está offline   Responder com Quote
Antigo 29-03-2003, 23:26   #10 (permalink)
tonchan
Super Participante
 
Registrado em: Jan 2003
Localização: SP - Brasil
Mensagens: 492
Reputação: 19 tonchan está indo no caminho certo
Padrão

Neste site tem um exemplo legal de como funciona alguns algoritmos de ordenação (bubblesort, quicksort e mergesort) e outros métodos.
É só procurar em "algoritmo computacional".
http://www.manzano.pro.br/menu.html

Ei romulo, que método é esse radix?
Tem algum site que tenha algum exemplo?
tonchan está offline   Responder com Quote
Antigo 29-03-2003, 23:31   #11 (permalink)
romulo
Zumbi
 
Registrado em: Dec 2001
Localização: Fortaleza / CE
Mensagens: 7.506
Reputação: 30 romulo está indo no caminho certo
Enviar mensagem via ICQ para romulo
Padrão

Tó:

Código:
#include <iostream> #include <cstring> #include <conio.h> //Pra rodar no Dev-C++ tem que usar conio.c using std::cout; using std::cin; int main() { const int NUM_CARROS = 15; typedef struct carro { char modelo[61]; char fabricante[41]; int ano_fab; }; carro vet_carro[NUM_CARROS]; carro temp; int i; for (i = 0; i < NUM_CARROS;i++) { cout << "\nDigite o modelo do carro:\n"; cin >> vet_carro[i].modelo; cout << "\nDigite o nome do fabricante:\n"; cin >> vet_carro[i].fabricante; cout << "\nDigite o ano de fabricacao:\n"; cin >> vet_carro[i].ano_fab; } //Ordenação for (i = 0; i < NUM_CARROS; i++) for (int j = i + 1; j < NUM_CARROS; j++) if (strcoll(vet_carro[i].modelo, vet_carro[j].modelo) > 0) { strcpy(temp.modelo, vet_carro[i].modelo); strcpy(temp.fabricante, vet_carro[i].fabricante); temp.ano_fab = vet_carro[i].ano_fab; strcpy(vet_carro[i].modelo, vet_carro[j].modelo); strcpy(vet_carro[i].fabricante, vet_carro[j].fabricante); vet_carro[i].ano_fab = vet_carro[j].ano_fab; strcpy(vet_carro[j].modelo, temp.modelo); strcpy(vet_carro[j].fabricante, temp.fabricante); vet_carro[j].ano_fab = temp.ano_fab; } clrscr(); cout << "\n\n Relatorio \n\n"; for (i = 0; i < NUM_CARROS; i++) cout << "Carro[" << i + 1 << "]\n" << "Modelo: " << vet_carro[i].modelo << "\n" << "Fabricante: " << vet_carro[i].fabricante << "\n" << "Ano: " << vet_carro[i].ano_fab << "\n\n"; }
Fiz algumas alterações pra ficar em código ANSI C++ puro, pois tava uma mistureba de C e C++.
__________________
Minha coleção de jogos (todos originais)
romulo está offline   Responder com Quote
Antigo 29-03-2003, 23:33   #12 (permalink)
romulo
Zumbi
 
Registrado em: Dec 2001
Localização: Fortaleza / CE
Mensagens: 7.506
Reputação: 30 romulo está indo no caminho certo
Enviar mensagem via ICQ para romulo
Padrão

Citação:
Postado Originalmente por tonchan
Ei romulo, que método é esse radix?
Tem algum site que tenha algum exemplo?
Cara, pra falar a verdade eu nem lembro. Vou dar uma olhada pra relembrar.
__________________
Minha coleção de jogos (todos originais)
romulo está offline   Responder com Quote
Antigo 30-03-2003, 12:26   #13 (permalink)
Andreia_Sp
Super Participante
 
Registrado em: Mar 2003
Localização: São Paulo / SP
Idade: 29
Mensagens: 646
Reputação: 19 Andreia_Sp está indo no caminho certo
Padrão

Citação:
Postado Originalmente por romulo
Tó:

[code]
#include <iostream>
#include <cstring>
#include <conio.h> //Pra rodar no Dev-C++ t...
Tonchan obrigada pela dica do site, dei uma olhada aqui e achei bem interessante.
Romulo, eu testei o codigo que vc me passou, mas deu varios erros, acredito que seja por causa do compilador, eu uso o turbo C++
Andreia_Sp está offline   Responder com Quote
Antigo 30-03-2003, 12:29   #14 (permalink)
romulo
Zumbi
 
Registrado em: Dec 2001
Localização: Fortaleza / CE
Mensagens: 7.506
Reputação: 30 romulo está indo no caminho certo
Enviar mensagem via ICQ para romulo
Padrão

Citação:
Postado Originalmente por Andreia_Sp
Tonchan obrigada pela dica do site, dei uma olhada aqui e achei bem interessante.
Romulo, eu testei o codigo que vc ...
É verdade, o Turbo C++ é muito antigo, não tem suporte ao ANSI C++. Tente usar o Dev-C++ (ou se puder o Visual C++):

http://www.bloodshed.net

Se o seu professor insistir em usar o Turbo C++, saiba que você vai aprender muita coisa errada, pois hoje em dia tudo é baseado no ANSI C++.
__________________
Minha coleção de jogos (todos originais)
romulo está offline   Responder com Quote
Antigo 30-03-2003, 13:11   #15 (permalink)
Andreia_Sp
Super Participante
 
Registrado em: Mar 2003
Localização: São Paulo / SP
Idade: 29
Mensagens: 646
Reputação: 19 Andreia_Sp está indo no caminho certo
Padrão

Citação:
Postado Originalmente por romulo
É verdade, o Turbo C++ é muito antigo, não tem suporte ao ANSI C++. Tente usar o Dev-C++ (ou se puder o Visual C++):
...
Ola Romulo,

obrigada pelo link, vou pegar este compilador.
Meu professor pede que a gente use o TCLite, mas como eu só achei po turbo C e C++ acabei ficando com ele mesmo.
Ah, na mensagem anterior sua esqueci de comentar.... o mistureba de C e C++ é assim mesmo, meu professor faz isso, num mesmo programa ele coloca printf, scanf e cin e cout...... mistura tudo...
Andreia_Sp está offline   Responder com Quote
Antigo 30-03-2003, 13:23   #16 (permalink)
romulo
Zumbi
 
Registrado em: Dec 2001
Localização: Fortaleza / CE
Mensagens: 7.506
Reputação: 30 romulo está indo no caminho certo
Enviar mensagem via ICQ para romulo
Padrão

Citação:
Postado Originalmente por Andreia_Sp
Ola Romulo,

obrigada pelo link, vou pegar este compilador.
Meu professor pede que a gente use o TCLite, mas como ...
Hehe, o cara parece que é enrolado... sml0181 sml0180
__________________
Minha coleção de jogos (todos originais)
romulo está offline   Responder com Quote
Antigo 31-03-2003, 12:44   #17 (permalink)
Lgub
Super Participante
 
Avatar de Lgub
 
Registrado em: Dec 2001
Mensagens: 937
Reputação: 22 Lgub está indo no caminho certo
Padrão

Para funcionar o codigo no tc, faça as seguintes alterações.

Nos includes.
Mude #include<iostream> para: #include<iostream.h>
Mude #include<cstring> para: #include<string.h>

E retire os dois
using sdt:cin e
using sdt: cout


Só isso.
__________________
Linux User:#326216
Intel I7 - 920 - 6G DDR3 Tripple Channel @1600 - Geforce 285 1G.
Programador ADVPL(Fazer o que é o que ta pagando as contas no momento...)
Lgub está offline   Responder com Quote
Resposta


Opções do Tópico

Regras de Mensagens
Você não pode criar tópicos
Você não pode postar respostas
Você não pode anexar arquivos
Você não pode editar suas mensagens

Código vB está Ligado
Smiles estão Ligado
Código [IMG] está Ligado
Código HTML está Desligado
Ir para...


Horários baseados na GMT -3. Agora são 5:15.