Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
thalesqueiroz

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

Recommended Posts

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

Compartilhar este post


Link para o post
Compartilhar em outros sites
Postado (editado)

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

Editado por devair1010
  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

O código está normal, só que eu tenho que refaze-lo utilizando funções e arrays em conjunto, e eu não estou conseguido.

  • Curtir 1

Compartilhar este post


Link para o post
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

Compartilhar este post


Link para o post
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

Compartilhar este post


Link para o post
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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×