Ir ao conteúdo

Posts recomendados

Postado

Alguém poderia me ajudar a resolver  esse problema utilizando funções e arrays. 

#include <iostream>
#include <stdlib.h>
#include <iomanip>

using namespace std;

main()
{
    int i= 0;
    int j=0;
    float S[12][4] = {
        {5, 5, 5, 5},
        {0, 0, 0, 0},
        {0, 0, 0, 0},
        {0, 0, 0, 0},
        {0, 0, 0, 0},
        {0, 0, 0, 0},
        {0, 0, 0, 0},
        {0, 0, 0, 0},
        {0, 0, 0, 0},
        {0, 0, 0, 0},
        {0, 0, 0, 0},
        {0, 0, 0, 0}
       
    };

    float I[12][4] = {
        {0.5,   0.4,     0,    0},
        {1,     0.7,     0,    0},
        {2,     2,       0,    0},
        {3,     2,       0,    0},
        {3.5,   4,       0,    0},
        {2.5,   3.5,     0,    0},
        {2,     3,       0,    0},
        {1.25,  2.5,     0,    0},
        {1.25,  1.3,     0,    0},
        {0.75,  1.2,     0,    0},
        {1.75,  1,       0,    0},
        {1,     0.7,     0,    0}
    };

    float Q[12][4] = {
        {0.9,   4,      0,       0},
        {0,     0,      0,       0},
        {0,     0,      1.1,     7},
        {3,     0,      4,       7},
        {3,     0.1,    4,       7},
        {3,     4,      4,       7},
        {3,     4,      4,       7},
        {3,     4,      4,       7},
        {3,     4,      4,       7},
        {3,     4,      4,       7},
        {2.6,   2.5,    2.5,     5.1},
        {1,     0.7,    0.7,     1.7}
    };

    float M[4][4] = {
        {-1, 0, 0,  0},
        {0, -1, 0,  0},
        {0, 1,  -1, 0},
        {1, 0,  1,  -1}
    };
    float soma;
    
    for(int j = 0;  j <= 11; j++)
        { // iterações de meses
           
        for(int i = 0; i <=3; i++)
            { // iterações de reservatórios
             soma = 0;

            for(int k = 0; k <=3; k++) // multiplicação M * Q[j]
                
                {
                soma +=  Q[j][k]  * M[k];
                }
            
            S[j+1] = S[j] + I[j] + soma;
            
            }
                
        }

    cout << "Reservatorios " << setw(15) << "1" << setw(15)  << "2" << setw(15) << "3" << setw(15) << "4" << endl;
    for(int i = 0; i < 12; i++)
        cout << "mes " << i << setw(25) << S[0] << setw(15)  << S[1] << setw(15) << S[2] << setw(15) << S[3] << endl;


    return 0;
}

  • Curtir 1
Postado

@thalesqueiroz     o que você quer que o programa faça ?   parece tudo em ordem , mas para postar seu código é melhor usar o botão   <>   que está lá na barra de ferramentas da janela de responder, pois sem ele seu código fica faltando alguns caracteres como os [ i ], no mais funcionou normal .

  • Curtir 1
Postado

@thalesqueiroz    ha quem diga que um array seja igual a uma matriz com apenas uma dimensão,  sendo que a matriz  contenha mais de uma dimensão ( coluna ) ,  então no seu código você já tem 4 matriz e se você quiser usar array ( vetor ) então precisa usar 4 vetor para substituir cada matriz, e não precisa usar função , só se for para você treinar ,  então você colocaria uma função lá no inicio para fazer os cálculos , usando esse mesmo código que faz os cálculos , apenas que dentro de uma função .

  • Curtir 1
Postado
46 minutos atrás, devair1010 disse:

@thalesqueiroz    ha quem diga que um array seja igual a uma matriz com apenas uma dimensão,  sendo que a matriz  contenha mais de uma dimensão ( coluna ) ,  então no seu código você já tem 4 matriz e se você quiser usar array ( vetor ) então precisa usar 4 vetor para substituir cada matriz, e não precisa usar função , só se for para você treinar ,  então você colocaria uma função lá no inicio para fazer os cálculos , usando esse mesmo código que faz os cálculos , apenas que dentro de uma função .

voce teria algum código ou exemplo de como é realizada essa operação?

  • Curtir 1
Postado

@thalesqueiroz    para substituir as matriz por vetor você pode fazer assim :

float vetor_S1[12]={
  5,
  0, 
  0, 
  0,
  0, 
  0, 
  0,
  0, 
  0, 
  0,
  0,
  0  }
float vetor_S2[12]={
  5,
  0, 
  0, 
  0,
  0, 
  0, 
  0,
  0, 
  0, 
  0,
  0,
  0  }
float vetor_S3[12]={
  5,
  0, 
  0, 
  0,
  0, 
  0, 
  0,
  0, 
  0, 
  0,
  0,
  0  }
float vetor_S4[12]={
  5,
  0, 
  0, 
  0,
  0, 
  0, 
  0,
  0, 
  0, 
  0,
  0,
  0  }

assim cada vetor substitui uma coluna da matriz, e assim para as outras matriz e depois na hora de calcular precisa adaptar para que funcione com esses vetores

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!