Ir ao conteúdo
  • Cadastre-se

C++ Aplicação de Arrays e Funções em matrizes


Posts recomendados

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
Link para o comentário
Compartilhar em outros sites

@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
Link para o comentário
Compartilhar em outros sites

@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
Link para o comentário
Compartilhar em outros sites

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
Link para o comentário
Compartilhar em outros sites

@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
Link para o comentário
Compartilhar em outros sites

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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!