Ir ao conteúdo
  • Cadastre-se

Problema ao compilar (matrizes)


jpaulexo

Posts recomendados

 1) Leia duas matrizes 2x3 de números double. Imprima a soma destas duas matrizes. 

 

CÓDIGO: Exercicio Matriz.txt

 

OBS: Por algum motivo o codigo postado aqui tirou alguns i por achar que é itálico, mas está completo no arquivo acima.

 

 

#include <stdio.h>
void imprimir()
{
    double Matriz[2][3]
    for (int t=0; t < 3; t++0){
        printf("\n");
        for(int i=0; i < 3; i++)
            printf( "%lf", Matriz[t]);
    }
}
void carregar_matriz()
{
    double Matriz[2][3]
    printf("\n\n\n");
    for (int t=0; t < 3; t++)
        for(int i=0; i < 3; i++){
            printf("Digite o numero que sera guardado na posicao [%d][%d]", t+1, i+1);
            scanf("%lf", &Matriz[t]);
        }
        
}

int main (void)
{
    double Matriz_1[2][3];
    double Matriz_2[2][3];
    double Matriz_3[2][3];
    
    carregar_matriz(Matriz_1);
    carregar_matriz(Matriz_2);
    for (int t=0; t < 3; t++)
        for(int i=0; i < 3; i++)
            Matriz_3[t] = Matriz_1[t] + Matriz_2[t];
    printf("O resultado da Soma das duas matrizes 2x3: \n")
    imprimir(Matriz_3);
    printf("\n\n")
    return 0;
}

 

Não estou entendendo porque ao compilar aparecem erros, como: 

 In function 'void imprimir()':

 [Error] expected initializer before 'for'

 [Error] 't' was not declared in this scope (está declarado no int)

 

 In function 'void carregar_matriz()':

[Error] expected initializer before 'printf'

[Error] 'Matriz' was not declared in this scope 

..... e por ai vai

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Minhas sugestões são:

 

0 - Você não colocou ponto e vírgula depois da declaração das matrizes dentro das funções (não se preocupe pois as declarações estão erradas e você deve tirar elas de dentro das funções, explico logo abaixo)

1 - Você não está retornando nenhum valor com a suas funções e também não está passando as variáveis por referência, então no final da função tudo que foi feito dentro dela é destruído e não adiantou nada.


Sua função de imprimir e carregar matriz deveriam receber uma matriz de alguém, se for por referência deveria ser algo tipo:
void carregar_matriz (double matriz[2][3]

Dessa forma a matriz do main será passada por referência, será preenchida na função e continuará com seus valores no main.

2 - A matriz é de 2x3 certo? Nas suas funções de carregar e imprimir o seu primeiro for está correndo 3x, sendo que era pra correr 2x apenas, mude o t < 3 para t < 2 

3 - Sua soma não me parece correta também, você está somando só as colunas e deixando as linhas de fora. Você comete o mesmo erro na hora de imprimir e carregar as matrizes.

 

4 - Na função imprimir no primeiro for, após o segundo ponto vírgula temos "t++0", o correto seria "t++";

Espero ter ajudado.

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

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!