Ir ao conteúdo
  • Cadastre-se

AnaTrinity

Membro Júnior
  • Posts

    12
  • Cadastrado em

  • Última visita

posts postados por AnaTrinity

  1. 12 minutos atrás, devair1010 disse:

    @AnaTrinity     o primeiro da ordem alfabética depois que o vetor estiver ordenado , fica na posição zero do vetor nomes ,  então você pode imprimir assim :

    
    printf("%s\n",nomes[ 0 ]);

     

    Agora entendi, muito obrigado!!

    • Curtir 1
  2. @devair1010 muito obrigado, isso vai me ajudar bastante em outros exercícios !! mas como eu faria para exibir apenas o primeiro nome da ordem alfabética? 

     

    ex.:

    recebe: Zé

                 Maria

                 Paula

                 Bruna

                 Thaís

     

    exibe: Bruna (pois entre os nomes digitados, é o primeiro da ordem alfabética)

     

     

    • Curtir 1
  3. #include <stdio.h>
    #include <string.h>
    
    int main(){
        int N, i;
        scanf("%d", &N);
        getchar();
        char nomes[N][11];
        for(i=0;i<N;i++){
    		scanf("%[^\n]s",nomes[i]);
    		getchar();
    	}
    	for(i=0;i<N;i++){
    		printf("%s\n",nomes[i]);
    	}
    	return 0;
    }

    Boa tarde pessoal!! preciso criar um programa que dada uma lista de N nomes (apenas nomes simples com no máximo 10 caracteres, sem espaço) verifique e imprima qual seria o primeiro em ordem alfabética.Isso foi o que eu fiz até agora, não sei como faz para ordenar. Obrigado!

    • Curtir 1
  4. Boa tarde, esse foi o resultado final do código. Obrigado a todos!

     

    #include <stdio.h>
    
    int main()
    {
        int N, i;
        scanf("%d", &N);
        int a[N],b[N],c[N];
     
                            while(N!=0){
    			int m=0;
                                for(i=0;i<N;i++){
                                     scanf("%d",&a[i]);
                                     }                       
                                     for(i=0;i<N;i++){
                                     scanf("%d",&b[i]);
                                     }
                                     for(i=0;i<N;i++){
                                     c[i]=a[i]*b[i];
                                     }
                                     for(i=0;i<N;i++){
                                             if (c[i] > m)
                                             m=c[i];
                                             }
    					
    					printf("%d\n", m);
    
                                             scanf("%d\n", &N);}
    
    return 0;
        }
    

     

    • Curtir 1
  5. @Math.Pi

    21 minutos atrás, Math.Pi disse:

    @AnaTrinity

    Seu código só mostra a multiplicação.

     

    Agora você tem que procurar o maior elemento.

    Faça assim. Crie uma variável MAIOR. Guarde o primeiro elemento do vetor C nele.

     

    MAIOR=C[0];

     

    Depois faça outro laço FOR varrendo os elementos e comparando eles com a variável criada.

     

    Não entendi a parte de varrer os elementos, poderia me explicar?

  6. 3 minutos atrás, VictorFreitasKing disse:

    Você não pode definir um vetor dessa maneira, tem que ser um valor inteiro pré definido, o maximo que voce pode fazer é usar um define antes do algoritmo, mas do mesmo jeito não pode ser modificado nas funções, se você quer usar um vetor que aumente ou diminua conforme o tempo use uma estrutura de dados

    desculpe mas eu não entendi... como eu posso exibir o maior elemento de um vetor?

  7. Boa tarde!

    "Faça um programa que receba dois vetores de inteiros, A e B, de mesmo tamanho, multiplique os elementos de mesmo índice de ambos os vetores e armazene em um terceiro vetor C. O programa deverá retornar o MAIOR elemento do vetor C" a multiplicação está correta mas não sei como exibir o maior elemento de um vetor. 

    Quem puder ajudar, agradeço!

    #include <stdio.h>
    
    int main()
    {
        int N, i;
        scanf("%d", &N);
        int a[N],b[N],c[N];
     
                         for(i=0;i<N;i++){
                         scanf("%d",&a);
                         }                       
                         for(i=0;i<N;i++){
                         scanf("%d",&b);
                         }
                         for(i=0;i<N;i++){
                         c=a*b;
                         printf("%d\n", c);
                         }
    
    return 0;
        } 

     

  8.  

    21 horas atrás, VictorFreitasKing disse:

    Refiz seu código de uma maneira mais clara, não compilei porque não to na minha maquina e fiz pelo bloco de notas, mas é praticamente isso, fiz comentado para que você entenda direitinho e com algumas dicas que você pode usar

     

    
    #include <stdio.h>
    #include <stdlib.h> //inclui esse estudio para melhor interação com o código
    int operaNum (float num1, char x, float num2); //organizei as funções (chamando ela primeiro aqui em cima e mostrando o que ela faz no fim do código)
    int main(){
        float a, c, operac, resultado; //aqui estava float a = 0, ele ja estava definindo a variavel, não é uma boa pratica de programação fazer isso.
        char b;
        scanf("%f %c %f", &a, &b, &c);
        operac = operaNum(a, b, c); 
        //resultado = operac;        no seu código não tem pra q 2 variaveis, apenas aloca mais memoria, adicionei um if else para dizer se a operação é valida
        if (operac==EXIT_FAILURE){
            printf("A operacao nao é valida");}
        else{
            printf("%.2f\n", operac);}
    return 0;    
    }
    int operaNum (float num1, char x, float num2){
        float soma;
        char sinal;
        if(sinal=='*'){ //você esta se atrapalhando um pouco com os espaços, notei que na função em certos lugares você usa 6, 7, 8, não sei se isso influencia, porém não é uma boa pratica, fica ruim de outra pessoa entender, até mesmo você se o código for mt grande
            soma = num1*num2;
        }else if(sinal=='+'){
            soma = num1+num2;
        }else if(sinal=='-'){ //você confundio o sinal aqui e no fim do parenteses colocou um ; e dps {, isso gera erro no código
            soma = num1-num2;
        }else if(sinal=='/'){
            soma = num1/num2;
        }else{
              return EXIT_FAILURE;} //devido ao <stdlib.h> isso retorna falso ou se preferir retorna 1, da para fazer uma interação em outras funções com esse return, caso você coloque qualquer coisa no lugar de *,-,+,/ ele vai retornar falso.
        return soma; //como agora a função esta em int tera um return, porém no seu caso uma função void não tem return, retorna o valor da soma
    } 
     
    adicionado 2 minutos depois

    O seu maior erro era no tipo da função, você estava definindo que ela ia retornar algo mas ela era uma função float, resumindo, ela sempre vai retornar vazio...

     

    Vou refazer utilizando essas dicas. Muito obrigado!!!!

  9. Boa tarde! 

    Estou com um exercício para fazer: "Faça um programa que leia números digitados pelo teclado até que um deles seja -1. Para cada número digitado, diga se ele é par ou ímpar criando uma função para isto."

    Segue abaixo o que eu consegui fazer:

    #include <stdio.h>
    
    int ParOuImp (int num)
    {
        if(num%2==0){
         printf("O numero e par\n");
         }
         if(num%2 != 0){
          printf("O numero e impar\n");
         }
    return 0;
    }
    
    int main()
    {
        int numero;
        scanf("%d", &numero);
        ParOuImp(numero);
        
        return 0;
    }

     

     

     

     

    Só consegui exibir se é par ou ímpar mas o programa tem que para ao digitar -1. Se puderem me ajudar, agradeço muito!

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!