Grupo Lógica de Programação
ESTAMOS EM CONSTRUÇÃO - DESENVOLVIMENTO


Seja Bem Vindo ao Forum Grupo Lógica de Programação é uma satisfação recebê-los aqui.. espero que gostem desse espaço que foi feito para todos nós PROGRAMADORES.. Então venha fazer Parte deste Time tambem.. Saiba que este Forum foi feito com muita dedicação para o bem estar de todos vocês.. Então Registre-se e Decole no Mundo da Programação.....
Ao se Registrar você tem direito a participar do CHAT que só é visivel ao membros registrados. e pode bater papo com algum outro membro que estiver on line.. caso tenha alguma duvida pode olhar no Menu FAQ as perguntas mais recentes.
Bons Estudos é o que deseja todos nós que fazemos o GRUPO LÓGICA DE PROGRAMAÇÃO acontecer...

(EL MENSAJERO [FUNDADOR])

Exercício 1 - Intermediário - (Qual o mais Jovem?)

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Exercício 1 - Intermediário - (Qual o mais Jovem?)

Mensagem por William em Dom 25 Jul 2010, 21:54

Faça um programa que leia o nome e a idade de 10 pessoas e as imprima em ordem crescente de idade e a diferência de idade do mais jovem com o mais velho, do segundo mais jovem com o segundo mais velho e assim sucessivamente.
Exemplo de entrada e saída:
____________________________________________________________________________________
Informe o primeiro nome: William
Informe a idade: 18

Informe o segundo nome: Eduardo
Informe a idade: 10

Informe o terceiro nome: José
Informe a idade: 25

Informe o terceiro nome: Joaquim
Informe a idade: 33

Informe o terceiro nome: Maria
Informe a idade: 25

Informe o terceiro nome: Sofia
Informe a idade: 4

Informe o terceiro nome: Carlos
Informe a idade: 40

Informe o terceiro nome: Lucia
Informe a idade: 20

Informe o terceiro nome: Lucas
Informe a idade: 15

Informe o terceiro nome: Mariana
Informe a idade: 22

01º Nome: Sofia, Idade: 4 anos, Diferença com o 10º: 36 anos
02º Nome: Eduardo, Idade: 10 anos, Diferença com o 09º: 23 anos
03º Nome: Lucas, Idade: 15 anos, Diferença com o 08º: 11 anos
04º Nome: William, Idade: 18 anos, Diferença com o 07º: 7 anos
05º Nome: Lucia, Idade: 20 anos, Diferença com o 06º: 2 anos
06º Nome: Mariana, Idade: 22 anos, Diferença com o 05º: 2 anos
07º Nome: José, Idade: 25 anos, Diferença com o 04º: 7 anos
08º Nome: Maria, Idade: 26 anos, Diferença com o 03º: 11 anos
09º Nome: Joaquim, Idade: 33 anos, Diferença com o 02º: 23 anos
10º Nome: Carlos, Idade: 40 anos, Diferença com o 01º: 36 anos

____________________________________________________________________________________
Legenda: Azul=Saída, Verde=Entrada, Marrom=Saída calculada (Depende da entrada).

Poste o código em: [Você precisa estar registrado e conectado para ver este link.] ou [Você precisa estar registrado e conectado para ver este link.] ou similar de sua preferência

William
Novo no Fórum
Novo no Fórum

Mensagens : 12
Pontos : 31
Reputação : 0
Data de inscrição : 18/07/2010
Idade : 25
Localização : São Paulo - SP

Voltar ao Topo Ir em baixo

Re: Exercício 1 - Intermediário - (Qual o mais Jovem?)

Mensagem por kaedro em Sex 10 Set 2010, 18:26

Vamos lá. Dando uma moral ae no Forum. Very Happy

Lembrem-se que não existe uma só forma de resolver um programa! eu fiz do meu jeito, pode ser e com certeza tem uma forma mais rápida, lógica, e com menos linhas. Mais um motivo pra galera tentar aí também.

Abraços.

Código:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(void)
{
    int i=0, x=0, aux=0;
    int idade[10], calc[10];
    char nome[10][50], res[50];
   
    /*Recolher nome e idade*/
    for(i=1; i<=10; i++)
    {
        printf("\nInforme o primeiro nome:");
        scanf("%s", &nome[i]);
        printf("Informe a idade:");
        scanf("%d", &idade[i]);
    }
   
   
    /*Colocar idade em ordem crescente e corresponder com nome*/
    for(i=1; i<=10; i++)
    {
        for(x=1; x<=10; x++)
        {
            if(idade[x]>idade[x+1])
            {
                aux=idade[x];
                idade[x]=idade[x+1];
                idade[x+1]=aux;
               
                strcpy(res, nome[x]);
                strcpy(nome[x], nome[x+1]);
                strcpy(nome[x+1], res);
            }
        }
    }
   
   
    /*Calcular a diferenca de idades*/
    x=10;
    for(i=1; i<=10; i++)
    {
        if(idade[i]>=idade[x])
            calc[i]=idade[i]-idade[x];
        else
            calc[i]=idade[x]-idade[i];
        x--;
    }
   
    /*Exiba resultado na tela*/
    x=10;
    for(i=1; i<=10; i++)
    {
        printf("%d Nome: %s, Idade: %d anos, Diferenca com o %d: %d anos\n", i, nome[i], idade[i], x, calc[i]);
        x--;
    }
    system("pause");
    return 0;
}

kaedro
Novo no Fórum
Novo no Fórum

Mensagens : 2
Pontos : 2
Reputação : 0
Data de inscrição : 10/09/2010

Voltar ao Topo Ir em baixo

Re: Exercício 1 - Intermediário - (Qual o mais Jovem?)

Mensagem por William em Sex 10 Set 2010, 19:31

Recomendo a utilização de funções para organização do código, mas sua resposta está correta. E como você mesmo disse, existe N maneiras de se resolver.

William
Novo no Fórum
Novo no Fórum

Mensagens : 12
Pontos : 31
Reputação : 0
Data de inscrição : 18/07/2010
Idade : 25
Localização : São Paulo - SP

Voltar ao Topo Ir em baixo

Re: Exercício 1 - Intermediário - (Qual o mais Jovem?)

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum