>>>Preciso resolver a opção 5 do switch case desse código. Tem que perguntar se deseja excluir os dados do vetor mas não estou conseguindo! Se alguém puder me dá uma dica, agradeço.<<<
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
void exibir_erro(int codigo);
float media(int tam, float* v);
float variancia(int tam, float* v, float media);
float desvio_padrao(float variancia);
float variancia_a(int tam, float* v, float media);
float desvio_padrao_a(float variancia_a);
int main(void){
int i, op, tam, op2;
float *v, med, var_a, dsv_a, var, dsv;
char rsp, s, n;
do{
printf("\n1 - Cadastrar conjunto de dados\n2 - Visualizar dados\n3 - Editar dados\n4 - Calcular variância e desvio padrão\n5 - Excluir dados\n(QUALQUER outra tecla para Finalizar)\nOpção Escolhida: "); scanf("%d", &op);
switch(op){
case 1:
printf("Vamos cadastrar uma lista de valores reais!\nQuantos itens há em sua lista (>1)?\n");
scanf("%d", &tam);
if(tam<1){
exibir_erro(1);scanf("%d", &tam);
}
v = (float *) malloc(tam * sizeof(float));
for(i=0; i<tam;i++){printf("Informe o valor %d: ", i); scanf("%f", &v[i]);}
printf("Os seus dados cadastrados são:\n");
for(i=0; i<tam; i++){
if(i == tam-1){
printf("%.1f\n", v[i]);
} else{
printf("%.1f - ", v[i]);
}
} break;
case 2:
printf("Os seus dados cadastrados são:\n");
for(i=0; i<tam; i++){
if(i == tam-1){
printf("%.1f\n", v[i]);
} else{
printf("%.1f - ", v[i]);
}
}break;
case 3:
printf("Seus dados:\n");
for(i=0; i<tam; i++){
if(i == tam-1){
printf("%.1f\n", v[i]);
} else{
printf("%.1f - ", v[i]);
}
}
printf("Informe o indice do valor a ser editado [0 - %d]\n", i-1); scanf("%d", &i);
printf("Informe um novo valor para [%d]\n", i);
scanf("%f", &v[i]); break;
case 4:
printf("Seus dados:\n");
for(i=0; i<tam; i++){
if(i == tam-1){
printf("%.1f\n", v[i]);
} else{
printf("%.1f - ", v[i]);
}
}
printf("\nMédia: %.2f\n\n", med = media(tam, v));
printf("=====AMOSTRA=====\n");
printf("Variância: %.2f\n", var_a = variancia_a(tam, v, med));
printf("Desvio Padrão: %.2f\n\n", dsv_a = desvio_padrao_a(var_a));
printf("=====POPULAÇÃO=====\n");
printf("Variância: %.2f\n", var = variancia(tam, v, med));
printf("Desvio padrão: %.2f\n", dsv = desvio_padrao(var));
break;
case 5: break;
default: printf("Obrigado por Utilizar!!");
}
} while(op >= 1);
return 0;
}
//Função para erro
void exibir_erro(int codigo){
switch(codigo){
case 1: printf("Informe um tamanho válido para a lista (>1):\n");
case 2: printf("Obrigado por Utilizar o Programa!!");
}
}
//Função da Média
float media(int tam, float* v){
int i;
float soma = 0.0;
for(i=0; i<tam; i++){
soma += v[i];
}
return soma/tam;
}
//Função da Variancia (População)
float variancia(int tam, float* v, float media){
int i;
float soma=0.0;
for(i=0; i<tam; i++){
soma+= (v[i]-media)*(v[i]-media);
}
return soma/tam;
}
//Função de Desvio Padrão (População)
float desvio_padrao(float variancia){
float var = variancia;
return sqrt(var);
}
//Função da Variância (Amostra)
float variancia_a(int tam, float* v, float media){
int i;
float soma=0.0;
for(i=0; i<tam; i++){
soma+= (v[i]-media)*(v[i]-media);
}
return soma/(tam-1);
}
//Função de Desvio Padrão (Amostra)
float desvio_padrao_a(float variancia_a){
float var_a = variancia_a;
return sqrt(var_a);
}