Gadorran 0 Denunciar post Postado Setembro 26, 2014 Escreva um programa em C que gerencie um vetor de números reais (float) de até 50 posições. O programa deverá fornecer um menu de operações e permitir a realização de cada uma das seguintes operações: a. Limpar todo o vetor – Esta operação deve esvaziar todo o vetor (o total de elementos passa a ser 0). b. Retornar o total de elementos armazenados no vetor. c. Inserir um elemento no final do vetor. Caso o vetor esteja completo, o programa deve informar a impossibilidade de inclusão. d. Remover um elemento do vetor a partir de uma posição informada. Se a posição não estiver sendo utilizada, o programa deve informar a impossibilidade de exclusão. e. Analisar o vetor: a. Calcular e exibir as medidas de tendência central (média, moda e mediana) dos valores armazenados. b. Calcular e exibir as medidas de dispersão (desvio absoluto médio, variância e desvio padrão) dos valores armazenados. f. Finalizar o programa. Compartilhar este post Link para o post Compartilhar em outros sites
zanuttin 0 Denunciar post Postado Setembro 28, 2014 Existe especificação de se deve ser usada alocação estática ou dinâmica? Compartilhar este post Link para o post Compartilhar em outros sites
edsoncury 0 Denunciar post Postado Outubro 1, 2014 O básico tá aí! #include <stdio.h> #include <stdlib.h> float g_vector[50]; int g_counter=0; void exibe() { for (int k=0;k<50;k++) { printf("%f\n",g_vector[k]); } } void limpa() { memset(g_vector,0,50*sizeof(float)); } void deleta() { int num=0; printf("posicao a ser deletada :\n"); scanf("%d",&num); if(num>=g_counter) { printf("posicao indisponivel\n"); return; } float l_vector[50]; memcpy(l_vector,g_vector,50*sizeof(float)); for (int k=0;k<g_counter;k++) { if(k!=num) g_vector[k]=l_vector[k]; } g_counter--; } void insere() { float num=0; printf("numero a inserir :\n"); scanf("%f",&num); if(g_counter>=50) { printf("vetor cheio!nao pode ser inserido\n"); return; } g_vector[g_counter++]=num; } int main() { while(1) { int item = 0; printf("O que deseja fazer:\n"); printf("inserir:1 deletar:2 limpar:3 exibir 4\n"); scanf("%d",&item); switch(item) { case 1: { insere(); } break; case 2: { deleta(); } break; case 3: { limpa(); } break; case 4: { exibe(); } break; } } return 0; } Compartilhar este post Link para o post Compartilhar em outros sites