drk1 0 Denunciar post Postado Abril 11, 2012 Boa tarde, estou no seguinte dilema, para facilitar vou postar a questão completa; "Escreva um programa em C para ler 5 pares de valores inteiros positivos (utilize a função LePositivo). Para cada par lido deve ser impresso o valor do maior elemento do par ou a frase "Eles são iguais" se os valores do par forem iguais. Para obter o maior elemento do par utilize a função MaiorNumero. Nome: MaiorNumero Descrição: Retorna o maior elemento entre 2 valores positivos. Se eles forem iguais deve ser retornado o valor -1. Entrada: (int) Dois valores positivos. Saída: (int) O maior deles ou -1 se eles forem iguais. Nome: LePositivo Descrição: Faz a leitura dos valores. Se ele for negativo ou zero, a leitura deve ser repetida até que o valor lido seja positivo. Entrada: Nenhuma. Saída: (int) os valores lidos." eis meu código: #include<stdio.h> int main(){ ler(); system("pause"); return 0; } ler(){ int i, num[2],y=0; do{ for(i=0; i < 2; i++){ printf("Digite numero %d: ",i); scanf("%d",&num[i]); } y++; printf("\n%d\n",acharMaior(num, 2)); }while(y <= 4); } int acharMaior(int *num, int casd){ int i, maior = 0; for(i=0; i < casd; i++){ if (num[i] > maior){ maior = num[i]; }else if(num[0] == num[1]){ return -1; } } return maior; } Se repararem, não fiz checagem de numero "positivo", pois é estou bastante confuso "aonde", fazer essa checagem e como, se puderem dar uma mão fico grato! Desde já, Obrigado! Compartilhar este post Link para o post Compartilhar em outros sites
Lugaid 0 Denunciar post Postado Abril 11, 2012 Você não precisa usar um for na função achar, já que ele ta comparando PARES então vão ser sempre dois números passados... talvez poderia ficar dessa forma: int acharMaior(int *num, int casd){ if(num[0] > num[1]) return num[0]; else if (num[1] > num[0]) return num[1]; else return -1; } Isso para ver apenas em pares, como foi pedido no exercício. Compartilhar este post Link para o post Compartilhar em outros sites
drk1 0 Denunciar post Postado Abril 11, 2012 realmente nem pensei nisso, só vi funcionando e já me dei por satisfeito, mas o real problema que estou me deparando é justamente onde fazer essa verificação, não estou conseguindo analisar o código, onde botar o do while pra checar. Compartilhar este post Link para o post Compartilhar em outros sites