Seguinte, estou cursando o primeiro período de Ciência da Computação na minha cidade.
O professor de "Programação de Computadores I" está passando um trabalho para entregar sobre vetores.
Ele quer o código funcionando e precisamos apresentar o código para o mesmo.
Porém, estou com um problema que não estou conseguindo resolver.
O que ele pediu como o primeiro "exercício" do trabalho é:
"Leia o peso, em quilogramas, de N bois e calcule e imprima:
a) o peso médio do rebanho;
b) o peso do boi mais gordo; e
c) o peso do boi mais magro.
Encerre a leitura quando um peso nulo for digitado."
Eu fiz, porém, fiz um pouco diferente, coloquei para o usuário definir o número de vetores ("bois") antes de iniciar à inserir os pesos dos mesmos.
Segue abaixo:
"#include <stdio.h>
int main()
{
int n = 0, i, imenor, imaior;
float v[n], media, maior, menor;
media = 0.0;
//Definir o valor do vetor.
printf("Insira o numero de bois em seu rebanho: ");
scanf("%i", &n);
// Leitura dos pesos.
for(i=0; i < n; i++){
printf("Insira o peso do boi %d: ",i+1);
scanf("%f",&v); }
// Cálculo média.
for(i=0; i < n; i++)
media=media+v;
media=media/n;
// Preparando para encontrar o maior e o menor valor.
maior = menor = v[0];
imaior = imenor = 0;
// Laço encontra índice e maior valor.
for(i=1; i < n; i++)
if (v > maior){
maior = v;
imaior = i;
}
// Laço encontra índice e menor valor.
for(i=1; i < n; i++)
if (v < menor){
menor = v;
imenor = i;
}
// Mostrando valores encontrados.
printf("O seu rebanho contém:\n");
printf("Um peso medio de = %.2f \n", media);
printf("O maior peso no rebanho é: = %.2f, no boi %d\n",maior, imaior+1);
printf("O menor peso no rebanho é: = %.2f, no boi %d\n", v[imenor], imenor+1);
}"
Porém, quando coloco o valor de 8 ou acima de 8 vetores o peso do mais mais magro é sempre 0, independente se ele tem o maior peso ou não. Se colocar 7 vetores ou menos ele coloca o valor correto do boi.
Pergunta
nicolasaigner
Prezados, boa noite!
Seguinte, estou cursando o primeiro período de Ciência da Computação na minha cidade.
O professor de "Programação de Computadores I" está passando um trabalho para entregar sobre vetores.
Ele quer o código funcionando e precisamos apresentar o código para o mesmo.
Porém, estou com um problema que não estou conseguindo resolver.
O que ele pediu como o primeiro "exercício" do trabalho é:
"Leia o peso, em quilogramas, de N bois e calcule e imprima:
a) o peso médio do rebanho;
b) o peso do boi mais gordo; e
c) o peso do boi mais magro.
Encerre a leitura quando um peso nulo for digitado."
Eu fiz, porém, fiz um pouco diferente, coloquei para o usuário definir o número de vetores ("bois") antes de iniciar à inserir os pesos dos mesmos.
Segue abaixo:
"#include <stdio.h>
int main()
{
int n = 0, i, imenor, imaior;
float v[n], media, maior, menor;
media = 0.0;
//Definir o valor do vetor.
printf("Insira o numero de bois em seu rebanho: ");
scanf("%i", &n);
// Leitura dos pesos.
for(i=0; i < n; i++){
printf("Insira o peso do boi %d: ",i+1);
scanf("%f",&v); }
// Cálculo média.
for(i=0; i < n; i++)
media=media+v;
media=media/n;
// Preparando para encontrar o maior e o menor valor.
maior = menor = v[0];
imaior = imenor = 0;
// Laço encontra índice e maior valor.
for(i=1; i < n; i++)
if (v > maior){
maior = v;
imaior = i;
}
// Laço encontra índice e menor valor.
for(i=1; i < n; i++)
if (v < menor){
menor = v;
imenor = i;
}
// Mostrando valores encontrados.
printf("O seu rebanho contém:\n");
printf("Um peso medio de = %.2f \n", media);
printf("O maior peso no rebanho é: = %.2f, no boi %d\n",maior, imaior+1);
printf("O menor peso no rebanho é: = %.2f, no boi %d\n", v[imenor], imenor+1);
}"
Porém, quando coloco o valor de 8 ou acima de 8 vetores o peso do mais mais magro é sempre 0, independente se ele tem o maior peso ou não. Se colocar 7 vetores ou menos ele coloca o valor correto do boi.
Poderiam me ajudar por favor?
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.