Ir ao conteúdo
  • Cadastre-se

Preciso de Ajuda matriz em C [URGENTE]


heyhoo
Ir à solução Resolvido por Leotanis Leite Moraes,

Posts recomendados

Olá pessoal,Preciso de ajuda em matrizes em C recebi esses exercicios mas não estou conseguindo responder se poderem me ajudar ficaria grato.
 
 
1. crie um programa que receba 2 variáveis inteiras, linha e coluna de uma matriz (via argumento), seguidas de seus elementos. Exiba a matriz.
Exemplo:
a.exe 3 2 1 2 3 4 5 6
1 2
3 4
5 6
 
 
 
2. Crie um programa que receba 2 variáveis inteiras, linha e coluna de uma matriz (via argumento), seguidas de seus elementos. Gere uma matriz B tal que cada elemento de B seja igual ao quadrado do respectivo elemento em A.
Exiba A e B.
Exemplo:
a.exe 2 3 1 2 3 4 5 6
Matriz A
1 2 3
4 5 6
Matriz B
1   4  9
16 25 36

 

 
3.  Considere o item ( b ), gere uma matriz C de dimensão compatível e defina C como sendo a soma das matrizes  A e B; Exiba C e a transposta de C (C').
Exemplo:
Matriz C
2  6  12
20 30 42
Matriz C'
 2 20
 6 30
12 42
Link para o comentário
Compartilhar em outros sites

  • Solução

então, o programa 1 você faz da seguinte forma: (não fiz tratamento de erro pois não foi pedido no enunciado)

 

#include <stdio.h>
#include <stdlib.h>
 
 
int main()
{
    int lin,col,i,j;
    int mata[99][99];
 
    scanf("%d",&lin);              //recolhe os dados do tamanho da matriz
    setbuf(stdin,NULL);
    scanf("%d",&col);
    setbuf(stdin,NULL);
 
    for (i=0;i<lin;i++){                  //para colher os dados da matriz
        for (j=0;j<col;j++){
            scanf("%d",&mata[j]);
            setbuf(stdin,NULL);
        }
    }
        for (i=0;i<lin;i++){       //para imprimir a matriz
                printf("\n");
        for (j=0;j<col;j++){
            printf(" %d",mata[j]);
            
        }
    }
 
    return 0;
}
 
Para o segundo exercicio, você copia este primeiro, declar mais uma matriz com nome matb, e na parte de imprimir, você substitui o comando printf(" %d",mata[j]); por matb[j]=mata[j]*mata[j];
 
para o terceiro exercicio, você copia o segundo, declara mais duas matrizes matc e matct, e incrementa com este codigo:
 
        for (i=0;i<lin;i++){      
             
        for (j=0;j<col;j++){
            matc[j]=mata[j]+matb[j];        //para criar a matriz c
            
        }
    }

 

        for (i=0;i<lin;i++){      
             
        for (j=0;j<col;j++){                        // para criar a transposta de c
            matct[j]=matc[j]
            
        }
    }

então, o programa 1 você faz da seguinte forma: (não fiz tratamento de erro pois não foi pedido no enunciado)

 

#include <stdio.h>
#include <stdlib.h>
 
 
int main()
{
    int lin,col,i,j;
    int mata[99][99];
 
    scanf("%d",&lin);              //recolhe os dados do tamanho da matriz
    setbuf(stdin,NULL);
    scanf("%d",&col);
    setbuf(stdin,NULL);
 
    for (i=0;i<lin;i++){                  //para colher os dados da matriz
        for (j=0;j<col;j++){
            scanf("%d",&mata[j]);
            setbuf(stdin,NULL);
        }
    }
        for (i=0;i<lin;i++){       //para imprimir a matriz
                printf("\n");
        for (j=0;j<col;j++){
            printf(" %d",mata[j]);
            
        }
    }
 
    return 0;
}
 
Para o segundo exercicio, você copia este primeiro, declar mais uma matriz com nome matb, e na parte de imprimir, você substitui o comando printf(" %d",mata[j]); por matb[j]=mata[j]*mata[j];
 
para o terceiro exercicio, você copia o segundo, declara mais duas matrizes matc e matct, e incrementa com este codigo:
 
        for (i=0;i<lin;i++){      
             
        for (j=0;j<col;j++){
            matc[j]=mata[j]+matb[j];        //para criar a matriz c
            
        }
    }

 

        for (i=0;i<lin;i++){      
             
        for (j=0;j<col;j++){                        // para criar a transposta de c
            matct[j]=matc[j]
            
        }
    }
Link para o comentário
Compartilhar em outros sites

O post acima está contribuindo para deixar os usuários mal-acostumados (não estou falando de alguém em particular)....

 

A moderação costuma apagar esse tipo de post (já tive post apagado por esse motivo), já que tem gente que simplesmente entra no fórum para pedir programas prontos e não aprendem nada (muitos nem voltam para dizer se o programa resolveu o problema) e ficam achando que todos farão tudo por eles sempre.

 

O mínimo que se espera de quem cria um tópico, é que demonstre que tentou fazer.

Link para o comentário
Compartilhar em outros sites

O post acima está contribuindo para deixar os usuários mal-acostumados (não estou falando de alguém em particular)....

 

A moderação costuma apagar esse tipo de post (já tive post apagado por esse motivo), já que tem gente que simplesmente entra no fórum para pedir programas prontos e não aprendem nada (muitos nem voltam para dizer se o programa resolveu o problema) e ficam achando que todos farão tudo por eles sempre.

 

O mínimo que se espera de quem cria um tópico, é que demonstre que tentou fazer.

Oliver, sou novo no forum, e realmente ja acabei percebendo isto mesmo.

Mas tento botar explicações nas linhas de comando para a pessoa ver o que eu fiz, mas bom saber que nas próximas vou evitar fazer o programa e sim tentar resolver a duvida.

Link para o comentário
Compartilhar em outros sites

 

então, o programa 1 você faz da seguinte forma: (não fiz tratamento de erro pois não foi pedido no enunciado)

 

#include <stdio.h>
#include <stdlib.h>
 
 
int main()
{
    int lin,col,i,j;
    int mata[99][99];
 
    scanf("%d",&lin);              //recolhe os dados do tamanho da matriz
    setbuf(stdin,NULL);
    scanf("%d",&col);
    setbuf(stdin,NULL);
 
    for (i=0;i<lin;i++){                  //para colher os dados da matriz
        for (j=0;j<col;j++){
            scanf("%d",&mata[j]);
            setbuf(stdin,NULL);
        }
    }
        for (i=0;i<lin;i++){       //para imprimir a matriz
                printf("\n");
        for (j=0;j<col;j++){
            printf(" %d",mata[j]);
            
        }
    }
 
    return 0;
}
 
Para o segundo exercicio, você copia este primeiro, declar mais uma matriz com nome matb, e na parte de imprimir, você substitui o comando printf(" %d",mata[j]); por matb[j]=mata[j]*mata[j];
 
para o terceiro exercicio, você copia o segundo, declara mais duas matrizes matc e matct, e incrementa com este codigo:
 
        for (i=0;i<lin;i++){      
             
        for (j=0;j<col;j++){
            matc[j]=mata[j]+matb[j];        //para criar a matriz c
            
        }
    }

 

        for (i=0;i<lin;i++){      
             
        for (j=0;j<col;j++){                        // para criar a transposta de c
            matct[j]=matc[j]
            
        }
    }

então, o programa 1 você faz da seguinte forma: (não fiz tratamento de erro pois não foi pedido no enunciado)

 

#include <stdio.h>
#include <stdlib.h>
 
 
int main()
{
    int lin,col,i,j;
    int mata[99][99];
 
    scanf("%d",&lin);              //recolhe os dados do tamanho da matriz
    setbuf(stdin,NULL);
    scanf("%d",&col);
    setbuf(stdin,NULL);
 
    for (i=0;i<lin;i++){                  //para colher os dados da matriz
        for (j=0;j<col;j++){
            scanf("%d",&mata[j]);
            setbuf(stdin,NULL);
        }
    }
        for (i=0;i<lin;i++){       //para imprimir a matriz
                printf("\n");
        for (j=0;j<col;j++){
            printf(" %d",mata[j]);
            
        }
    }
 
    return 0;
}
 
Para o segundo exercicio, você copia este primeiro, declar mais uma matriz com nome matb, e na parte de imprimir, você substitui o comando printf(" %d",mata[j]); por matb[j]=mata[j]*mata[j];
 
para o terceiro exercicio, você copia o segundo, declara mais duas matrizes matc e matct, e incrementa com este codigo:
 
        for (i=0;i<lin;i++){      
             
        for (j=0;j<col;j++){
            matc[j]=mata[j]+matb[j];        //para criar a matriz c
            
        }
    }

 

        for (i=0;i<lin;i++){      
             
        for (j=0;j<col;j++){                        // para criar a transposta de c
            matct[j]=matc[j]
            
        }
    }

 

Muito obrigado Leotanis, ajudou bastante ! 

Olliver você está certo, passar o programa pronto realmente acaba tornando os usuários acomodados porém se o membro tiver um pouco de bom senso poderá pegar esse código e acabar entendendo o que é pedido, pois minha dúvida não está simplesmente no código e sim na interpretação do que se pede no enunciado

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