Buscar

Algoritmo alguém?

entrar com o numero da conta e o saldo de varias pessoas,imprimir todas as contas,os respectivos saldos e uma das mensagens positivo/negativo.Ao final, o percentencual de pessoas com saldo negativo  o algaritmo acaba quando se digita um numero negativo para a conta
 

💡 3 Respostas

User badge image

Joao Andre MArtins Dias

/*
 * File:   main.cpp
 * Author: joao
 * Entrar com o numero da conta e o saldo de varias pessoas,
 * imprimir todas as contas,os respectivos saldos com uma das mensagens
 * positivo/negativo.
 * Ao final, o percentencual de pessoas com saldo negativo  
 * O algaritmo acaba quando o usuário digita um numero negativo para a conta
 
 * Created on 28 de Julho de 2017, 16:26
 */

#include <cstdlib>
#include<stdio.h>

#define MAX 100
using namespace std;

int main(int argc, char** argv) {
    int matConta[MAX][2];//Matriz 100x2 100 linhas e duas colunas(nºconta[0] e saldo[1])
    int cont = 0, negativo = 0;//contadores
    double percent = 0;
    char flag = 0;
    //-----
    printf("Entre com os dados:\n");
    //Captura os valores de entrada do usuário até que um
    //nº de conta negativo seja informado
    while (!flag) {
        printf("\nConta Nº:(-1 para encerrar)");
        scanf("%d", &matConta[cont][0]);
        if (matConta[cont][0] < 0) {
            flag = 1;
        }
        printf("\nValor Saldo:");
        scanf("%d", &matConta[cont][1]);

        if (matConta[cont][1] < 0) {
            negativo++;
        }
        if (!flag)
            cont++;
    }
    //exibindo relatório
    printf("Conta Nº\t Saldo Atual \t Status \n");
    for (int i = 0; i < cont; i++) {
        printf("[%d] \t [%d] \t [%s]\n", matConta[i][0], matConta[i][1],(matConta[i][1]<0)?"NEGATIVO":"POSITIVO");
    }
    //(matConta[i][1]<0)?"NEGATIVO":"POSITIVO" operador ternário-(condiçao)?retorne se positivo:retorne se negativo;
    percent = ((negativo * 100) / cont);//calculando percentual de contas com saldo negativo
    printf("Total de Contas registradas:[%d]\n", cont);
    printf("Percentual de contas com Saldo Negativo: [%.2f]%% \n", percent);
}

1
Dislike0
User badge image

Joao Andre MArtins Dias

espero que ajude, este arquivo está no meu material na materia de algoritimos, se preferir pode me adicionar e pegar direto da minha lista de materiais. A resolução ébem simples, utilizei uma matriz de inteiros de 100 linhas por duas colunas, e fui preenchendo os valores dentro de um loop while com dois contadores. Um para avançar as linhas (cont) e outro para efetuar a contagem de contas com saldo negativo.

Dentro do loop faço a verificação com um if tanto para o valor informado de saldo como de conta, um incrementa o contador de negativos e outro seta o flag para o encerramento do programa.

ao final utilizo um for para exibir cada linha da matriz 0 até cont, e testo o valor do saldo com um operador ternário (codição)?valor se verdadeiro:valor se falso , para exibir a string (positivo/negativo)

efetuo o calculo da porcentagem atribuindo a uma variavel double e exibo o resultado.

 

1
Dislike0
User badge image

RD Resoluções

Podemos resolver das seguintes maneiras:

Com vetores, vamos adicionando as contas e os saldos e logo após processar todos os dados e exibir as porcentagem de cada tipo de conta, com saudo positivo e saldo negativo.

Uma abordagem mais simples e ficar lendo a conta e o saldo e exibir as mesma, e no mesmo momento que lemos os dados, já verificamos qual a condição da conta, se esta positiva ou negativa.


#include<stdio.h>

const int TAM = 20;

int main(){

    float qtd_positiva, qtd_negativa, qtd_zerada, i;

    float conta, saldo;

    //

    qtd_negativa = qtd_positiva = qtd_zerada = i = 0;

    while(conta > 0){

        printf("Informe numero da conta: ");

        scanf("%f", &conta);

        printf("\n");

        /////////////

        if(conta > 0){

            /////////////

            printf("Informe o saldo da conta: ");

            scanf("%f", &saldo);

            printf("\n");

            //Vejo qual a condição da conta

            if(saldo < 0){

                qtd_negativa++;

            } else if(saldo > 0) {

                qtd_positiva++;

            } else {

                qtd_zerada++;

            }

            i++;

            printf("Conta numero: %.0f com saldo de: %.0f\n", conta, saldo);

        }

    }

    //

    printf("\n\nContas negativas: %.0f%%\n", (100*qtd_negativa)/i);

    printf("\n\nContas positivas: %.0f%%\n", (100*qtd_positiva)/i);

    printf("\n\nContas zeradas: %.0f%%\n", (100*qtd_zerada)/i);

    return 0;

}

0
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image

Outros materiais