Prof_Carvalho icon

Desafio-01-Vetor-2021-ECM404

Prof_Carvalho | PRO | 03/19/21 07:44:10 PM UTC (Edited) | 0 ⭐ | 723 👁️ | Never ⏰ | []
C |

4.18 KB

|

None

|

0 👍

/

0 👎

/*
**************************************************************************
**************************************************************************
**************************************************************************
CUIDADO JA ESTA COM A SOLUÇÂO!!
**************************************************************************
**************************************************************************
**************************************************************************
 
*/
 
#include <stdio.h>
#include <stdlib.h>
 
#define TAMANHO_VETOR 10
 
void exibirMenu();
 
/*
//TODO: Pessoal nosso cõdigo ainda pode apresentar
um comportamento indesejado. Ajustar para representar melhor
quando o vetor estiver vazio - Desafio próxima semana.
*/
 
int main()
{
    printf("Controle de Dados:\n");
    int valores[TAMANHO_VETOR];
    int posicaoAtual = 0;
    int continuar = 1;
    int opcao;
    int valor;
    int maior, indiceMaior;
    //*********************************************************
    //SOLUÇÃO
    int menor, indiceMenor;
 
    do{
        exibirMenu();
        printf("Informe um valor:");
        scanf("%i", &opcao);
        switch(opcao){
        case 0:
            printf("Obrigado!\n");
            continuar = 0;
            break;
        case 1:
            printf("Informe o valor:");
            scanf("%i", &valor);
            //Colocar o valor dentro do vetor
            if(posicaoAtual < TAMANHO_VETOR){
                valores[posicaoAtual] = valor;
                posicaoAtual++;
            } else {
                printf("Vetor esta cheio!\n");
            }
            break;
        case 6:
            //Mostra o vetor
            printf("Exibe o conteudo do vetor:\n");
            for(int i =0 ; i < posicaoAtual ; i++){
                printf("No indice: %i temos: %i\n",i, valores[i]);
            }
            break;
        case 2:
            if(posicaoAtual != 0){
                maior = valores[0];
                indiceMaior = 0;
                for(int i = 0; i< posicaoAtual; i++){
                    if(valores[i] > maior){
                        maior = valores[i];
                        indiceMaior = i;
                    }
                }
                printf("Maior valor %i que esta na posicao %i\n", maior, indiceMaior);
            } else {
                printf("Vetor vazio!\n");
            }
            break;
        //*********************************************************
        //SOLUÇÃO
        case 3:
            if(posicaoAtual != 0){
                    menor = valores[0];
                    indiceMenor = 0;
                    for(int i = 0; i< posicaoAtual; i++){
                        if(valores[i] < menor){
                            menor = valores[i];
                            indiceMenor = i;
                        }
                    }
                    printf("Menor valor %i que esta na posicao %i\n", menor, indiceMenor);
                } else {
                    printf("Vetor vazio!\n");
                }
            break;
            //*********************************************************
        //SOLUÇÃO
        case 4:
            if(posicaoAtual != 0){
                float soma;
                for(int i= 0; i < posicaoAtual; i++){
                    soma += valores[i];
                }
                float media = soma/posicaoAtual;
                printf("Valor médio: %.3f\n", media);
            } else {
                printf("Vetor vazio!\n");
            }
            break;
        //*********************************************************
        //SOLUÇÃO
        case 5:
            if(posicaoAtual > 0){
                posicaoAtual--;
            }
            break;
        default:
            printf("Opcao Invalida\n");
            break;
        }
    }while(continuar);
    return 0;
}
 
void exibirMenu(){
    printf("1 - Adicionar valor\n");
    printf("2 - Maior valor\n");
    printf("3 - Menor valor\n");
    printf("4 - Valor Medio\n");
    printf("5 - Remover valor (ultimo)\n");
    printf("6 - Mostrar vetor!\n");
    printf("0 - Sair\n");
 
}
 
 
 

Comments