#include <stdio.h>
#include <stdlib.h>
/**
2. Faça um programa que, a partir de um vetor de 12 posições, crie funções para:
A. Digitar valores no vetor;
B. Imprimir o valor somatório de seus itens;
C. Imprimir a média dos valores fornecidos;
D. Substituir por 0 todos os números negativos;
E. Substituir por 0 todos os números repetidos (maiores que 0).
**/
float SomarVetor(float vet[]){
float soma=0;
for(int i=0; i < 12; i++){
soma += vet[i]; //Somar valores do vetor
}
return soma; //Irá retornar a soma total
}
float media(float vet[]){
float media =0;
for(int i=0; i < 12; i++){
media += vet[i]; //Soma os valores
}
return media/12;
}
float negativos(float vet[]){
for(int i=0; i < 12; i++){
if(vet[i] < 0){
vet[i] = 0.0; //Substituir valores negativos por 0
}
}
}
float repetidos(float vet[]){
for(int i=0; i < 12; i++){
for(int j=0; j < 12; j++){
if(vet[i] == vet[j+1]){
vet[i] = 0.00;
j++;
}else{
for(int k=11; k > 0; k--){
if(vet[i] == vet[k]){
vet[i] = 0.00;
k--;
}
}
}
}
}
}
main(){
float vet[11];// Vetor de 12 posicoes
int i;
for(i=0; i < 12; i++){//Preenchimento do vetor
printf("Digite o %d do vetor: ", i);
scanf("%f", &vet[i]);
}
//Respostas
printf("Soma dos itens do vetor é %.2f\n", SomarVetor(vet));
printf("Media: %.2f\n", media(vet));
negativos(vet);
//repetidos(vet);
for(i=0; i < 12; i++){
printf("%.2f | ", vet[i]);
}
}
Why does the negativos()
function make the last position of the vector stay zero as well? Is the condition for zeroing to be negative?