Ir ao conteúdo
  • Cadastre-se
Lekoribeiro

Exercicio de ordem alfabetica

Recommended Posts

Galera boa noite!

 

estou começando em programação em c e gostaria de uma luz com esse exercício escreva um programa em c que pede para o usuário entrar com um numero correspondente a quantidade de nomes que serão definidos (entra 5 e 10) peça para o usuário entrar com os nomes, e coloque os nomes digitados em ordem alfabética na tela e o numero de letras de cada nome

  • Amei 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caro usuário,

 

Seja bem-vindo ao Fórum do Clube do Hardware.

 

No intuito de servir como fonte de pesquisa no caso de instituições de ensino, informamos que incorrer no resolvimento por completo de questões relacionadas a disciplinas escolares de cursos técnicos e faculdades podem ser revistas e removidas pela Equipe de Moderação do Clube do Hardware.

 

Para sanar dúvidas sobre esse tipo de problema, por gentileza, publique o passo a passo do desenvolvimento da questão, projeto, monografia ou conteúdo em dúvida para que possamos analisar se a resposta está correta ou não, ou para que possa ser auxiliado com a dúvida no desenvolvimento do exercício.

 

Infelizmente, não há como resolver os trabalhos pelos usuários. O objetivo do Fórum do Clube do Hardware é auxiliar seus usuários a encontrar soluções para que possam sanar suas dúvidas, e não de trazer soluções prontas para seus usuários.. Além disso, copiar e colar respostas que não são de autoria própria do qualquer usuário é considerado plágio, o que é ilegal.

 

Esperamos que compreenda.

 

Atenciosamente,

Equipe Clube do Hardware

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá desculpe a falta de informação

ele não roda e da um erro assim :ld retornet 1 exit status

 

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main() {
char n[15][20], cont[20];
int numero, i, j, tamanho;
do
    {

        printf("Digite um numero entre 5 e 10");
        printf("\n");
        printf("Numero: ");
        scanf("%d",&numero);
    }

    while((numero<5)||(numero>10));
    printf("\n");
    i=0;
    while( i<numero )
    {
        printf("Nome: ");
        scanf("%s", n);
        i++;
    }
    for(i=0; i<numero; i++)
{
    for(j=0; j<numero; j++) {
        if(strcmp(n, n[j]) < 0) {
        strcpy(cont, n);
        strcpy(n, n[j]);
        strcpy(n[j], cont);
        }
    }
}
printf("- Nomes por ordem alfabetica - Tamanho delas -\n");
i=0;
while( i<numero )
{
        tamanho=strlen(n);
        printf("Nome: %s - %d letras\n", n,tamanho);
        i++;
}
return 0;
}
 

 

Editado por DiF
Botão CODE <>
  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Lekoribeiro       @Lekoribeiro    seu código está funcionando bem , não deu nenhum erro não ,  testei aqui no codeblocks

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(){
    char n[15][20], cont[20],aux[20];
    int numero, i, j, tamanho;
    do{
        printf("Digite um numero entre 5 e 10");
        printf("\n");
        printf("Numero: ");
        scanf("%d",&numero);
    }
    while((numero<5)||(numero>10));
    printf("\n");
    i=0;
    while( i<numero ){
        printf("Nome: ");
        scanf("%s", n[i]);
        printf("o nome = %s\n",n[i]);
        i++;
    }
    for(i=0; i<numero; i++){
        for(j=i+1; j<numero; j++){
            if( strcmp(n[i], n[j]) > 0){
                strcpy( aux, n[i]);
                strcpy(n[i], n[j]);
                strcpy(n[j],  aux);
            }
        }
    }
    printf("- Nomes por ordem alfabetica - Tamanho delas -\n");
    i=0;
    while( i<numero ){
        tamanho=strlen(n[i]);
        printf("Nome: %s - %d letras\n", n[i],tamanho);
        i++;
    }
    return 0;
}

 

Editado por devair1010
  • Curtir 2

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado meu amigo.

 

consigo trocar essa estrutura de comparação por if,else?

mudar a forma de escreve-lo mas com a mesma característica de entrada e saida, como ficaria?

obrigado

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
21 minutos atrás, devair1010 disse:

@Lekoribeiro    sim , dá para usar if e else , mas será bem mais trabalhoso, pois precisa compara caractere por caractere .

Obrigado, tentei aqui mas ainda não consegui entregar um trabalho escrito assim.

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×