Escreva um programa em C que faça a leitura de 100 valores inteiro. O programa deve informar qual o maior valor, qual o menor valor, quantos são positvos, quantos são negativos e a media desses valores.
Soluções para a tarefa
Respondido por
0
#include<stdio.h>
#include<stdlib.h>
int tam=100;
int ler_values(int value[], int pos);
int maior_valor(int value[], int maior, int pos);
int menor_valor(int value[], int menor, int pos);
int qtd_positivo(int value[], int qtdpositivo, int pos);
int qtd_negativo(int value[], int qtdnegativo, int pos);
float media_values(int value[], float media, int pos);
int informar(int value[]);
int main(){
int values[tam];
ler_values(values, 0);
informar(values);
system("pause");
return 0; }
int ler_values(int value[], int pos){
if(pos<tam){
printf("Insira um numero para v%d", pos+1);
scanf("%d", &value[pos]);
printf("\n-------------------------------------------------------------\n");
return ler_values(value, pos+1); }
printf("\n\n");
return 0; }
int maior_valor(int value[], int maior, int pos){
if(pos<tam){
if(value[pos]>maior){ return maior_valor(value, value[pos], pos+1); }
return maior_valor(value, maior, pos+1); }
return maior; }
int menor_valor(int value[], int menor, int pos){
if(pos<tam){
if(value[pos]<menor){ return menor_valor(value, value[pos], pos+1); }
return menor_valor(value, menor, pos+1); }
return menor; }
int qtd_positivo(int value[], int qtdpositivo, int pos){
if(pos<tam){
if(value[pos]>0){ return qtd_positivo(value, qtdpositivo+1, pos+1); }
return qtd_positivo(value, qtdpositivo, pos+1); }
return qtdpositivo; }
int qtd_negativo(int value[], int qtdnegativo, int pos){
if(pos<tam){
if(value[pos]<0){ return qtd_negativo(value, qtdnegativo+1, pos+1); }
return qtd_negativo(value, qtdnegativo, pos+1); }
return qtdnegativo; }
float media_values(int value[], float media, int pos){
if(pos<tam) return media_values(value, media+value[pos], pos+1);
return media/(float)tam; }
int informar(int value[]){
printf("O maior valor eh %d e o menor eh %d\n", maior_valor(value, value[0], 1), menor_valor(value, value[0], 1));
printf("A quantidade de valores positivos eh %d e negativos eh %d\n", qtd_positivo(value, 0, 0), qtd_negativo(value, 0, 0));
printf("A media dos valores eh %.2f\n\n", media_values(value, 0, 0));
return 0; }
#include<stdlib.h>
int tam=100;
int ler_values(int value[], int pos);
int maior_valor(int value[], int maior, int pos);
int menor_valor(int value[], int menor, int pos);
int qtd_positivo(int value[], int qtdpositivo, int pos);
int qtd_negativo(int value[], int qtdnegativo, int pos);
float media_values(int value[], float media, int pos);
int informar(int value[]);
int main(){
int values[tam];
ler_values(values, 0);
informar(values);
system("pause");
return 0; }
int ler_values(int value[], int pos){
if(pos<tam){
printf("Insira um numero para v%d", pos+1);
scanf("%d", &value[pos]);
printf("\n-------------------------------------------------------------\n");
return ler_values(value, pos+1); }
printf("\n\n");
return 0; }
int maior_valor(int value[], int maior, int pos){
if(pos<tam){
if(value[pos]>maior){ return maior_valor(value, value[pos], pos+1); }
return maior_valor(value, maior, pos+1); }
return maior; }
int menor_valor(int value[], int menor, int pos){
if(pos<tam){
if(value[pos]<menor){ return menor_valor(value, value[pos], pos+1); }
return menor_valor(value, menor, pos+1); }
return menor; }
int qtd_positivo(int value[], int qtdpositivo, int pos){
if(pos<tam){
if(value[pos]>0){ return qtd_positivo(value, qtdpositivo+1, pos+1); }
return qtd_positivo(value, qtdpositivo, pos+1); }
return qtdpositivo; }
int qtd_negativo(int value[], int qtdnegativo, int pos){
if(pos<tam){
if(value[pos]<0){ return qtd_negativo(value, qtdnegativo+1, pos+1); }
return qtd_negativo(value, qtdnegativo, pos+1); }
return qtdnegativo; }
float media_values(int value[], float media, int pos){
if(pos<tam) return media_values(value, media+value[pos], pos+1);
return media/(float)tam; }
int informar(int value[]){
printf("O maior valor eh %d e o menor eh %d\n", maior_valor(value, value[0], 1), menor_valor(value, value[0], 1));
printf("A quantidade de valores positivos eh %d e negativos eh %d\n", qtd_positivo(value, 0, 0), qtd_negativo(value, 0, 0));
printf("A media dos valores eh %.2f\n\n", media_values(value, 0, 0));
return 0; }
Respondido por
0
Resposta:
#include <stdio.h>
#include <stdlib.h>
int main() {
int i,val,positivos=0,menor,maior,soma=0,negativos=0;
float media;
for(i=0; i<=10; i++){
printf("Digite um valor: ");
scanf("%d", &val);
if(val == 0){
maior = val;
menor = val;
}
if(val < menor){
menor = val;
}
else if(val > maior){
maior = val;
}
if(val > 0){
positivos++;
}
else if(val < 0){
negativos++;
}
soma = soma + val;
}
media = soma / i;
printf("\n\nMaior valor: %d", maior);
printf("\nMenor valor: %d", menor);
printf("\nPositivos: %d", positivos);
printf("\nNegativos: %d", negativos);
printf("\nMedia: %.2f", media);
return 0;
}
Anexos:
Perguntas interessantes
Matemática,
9 meses atrás
Biologia,
1 ano atrás
Matemática,
1 ano atrás
Física,
1 ano atrás
Matemática,
1 ano atrás
Matemática,
1 ano atrás