tgbara 0 Denunciar post Postado Março 26, 2009 Olá colegas, estou com uma lista de 10 exercicios sobre vetores no qual já resolvi 7 aí tem 3 que me deixaram dúvidas em como resolver,em como fazer comparação de vetores para achar o menor numero,o maior,o segundo maior numero do vetor,o maior dentre dois vetores,enfim. segue os exercicios abaixo para que possam me dar uma luz como resolve-los,acredito que seja simples mesmo,mas estou com dúvidas. 5- Forme um vetor de 7 posições e informe o segundo maior numero. 8- Forme dois vetores de 5 posições e indentifique o maior numero dentre os dois vetores. 6-Forme um vetor de 9 posições.Identifique o maior e o menor numero e imprima a soma dos dois valores. obrigado desde já, um abraço http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
VictorCacciari 42 Denunciar post Postado Março 26, 2009 Ok, e o que você ja tem pronto?? Eu acredito que você ja começou a resolver, estou certo? posta ai o seu código, e onde está tendo dificuldades, que te ajudaremos!! :D Compartilhar este post Link para o post Compartilhar em outros sites
tgbara 0 Denunciar post Postado Março 26, 2009 Questão 5 não consegui visualizar bem a lógica tanto que estava fazendo um programa muito extenso,confuso...preciso saber como fazer comparação de vetores de um modo mais fácil,prático para daí saber qual é o maior,menor,o segundo maior numero como pede nos exercicios que postei acima. main () { int i,num[7]; for(i=0;i<7;i++){ printf("\nDigite um numero:"); scanf("%i",&num[i]); } for(i=0;i<1;i++){ if((num[i]>num[i+1]) && (num[i]>num[i+2]) && (num[i]>num[i+3]) && (num[i]>num[i+4]) && (num[i]>num[i+5]) && (num[i]>num[i+6])) printf(" \n o maior numero digitado nos vetores eh: %i\n",num[i]); else if((num[i+1]>num[i]) && (num[i+1]>num[i+2]) && (num[i+1]>num[i+3]) && (num[i+1]>num[i+4])&& (num[i+1]>num[i+5]) && (num[i+2]>num[i+6])) printf(" \n o maior numero digitado nos vetores eh: %i\n",num[i+1]); else if((num[i+2]>num[i])&& (num[i+2]>num[i+1]) && (num[i+2]>num[i+3]) && (num[i+2]>num[i+4])&& (num[i+2]>num[i+5]) && (num[i+2]>num[i+6])) printf("\n o maior numero digitado nos vetores eh: %i\n",num[i+2]); else if((num[i+3]>num[i])&& (num[i+3]>num[i+1]) && (num[i+3]>num[i+2]) && (num[i+3]>num[i+4])&& (num[i+3]>num[i+5]) && (num[i+3]>num[i+6])) printf("\n o maior numero digitado nos vetores eh: %i\n",num[i+3]); else if((num[i+4]>num[i]) && (num[i+4]>num[i+1]) && (num[i+4]>num[i+2]) && (num[i+4]>num[i+3])&& (num[i+4]>num[i+5]) && (num[i+4]>num[i+6])) printf(" \n o maior numero digitado nos vetores eh: %i\n",num[i+4]); if((num[i+3]>num[i])&& (num[i+3]>num[i+1]) && (num[i+3]>num[i+2]) && (num[i+3]>num[i+4])&& (num[i+3]>num[i+5]) && (num[i+3]>num[i+6])) printf("\n o maior numero digitado nos vetores eh: %i\n",num[i+3]); else if((num[i+4]>num[i]) && (num[i+4]>num[i+1]) && (num[i+4]>num[i+2]) && (num[i+4]>num[i+3])&& (num[i+4]>num[i+5]) && (num[i+4]>num[i+6])) printf(" \n o maior numero digitado nos vetores eh: %i\n",num[i+4]); } system("pause"); } Compartilhar este post Link para o post Compartilhar em outros sites
VictorCacciari 42 Denunciar post Postado Março 26, 2009 Cara, tudo que você precisa é de um valor auxiliar, por exemplo: //vetor é array de integers e tam é o tamanho desse array int pegarMaior(int* vetor, int tam) { int aux=0, i; for (i=0; i<tam; i++) { if (vetor[i] > aux) aux = vetor[i]; } return aux; } entendeu a lógica?? É bem tranquilo, olha... você terá um valor auxiliar (aux) vai percorrer toooodo o vetor, e para cada item, você checa se é maior que aux, se for, atribua esse valor à aux. =D ps.: não use system("pause") http://forum.imasters.com.br/index.php?showtopic=336835 Compartilhar este post Link para o post Compartilhar em outros sites
tgbara 0 Denunciar post Postado Março 27, 2009 entendi sim,obrigado pela ajuda amigo. http://forum.imasters.com.br/public/style_emoticons/default/clap.gif Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Março 27, 2009 uma coisa q gosto de fazer qnd é para achar o maior valor, o menor e assim por diante.. é primeiro ordená-lo usando um vetor auxiliar.. assim c você quiser digamos o terceiro maior valor você pegará a posição 2 do vetor, pq td começa no indice 0. vow dar um exemplo de caso o vetor naum tenha numeros repetidos. Exemplo: vetor == 5 , 2, 77, 10, 15; vetorAux = ordenavetor(vetor); vetorAux == 77, 15, 10, 5, 2;ai c você quiser o terceiro maior valor você fará assim: terceiroMaiorValor = vetorAux[2]; vetorAux[2] == 10; entendeu + ow - como eu faria?? []s Compartilhar este post Link para o post Compartilhar em outros sites