Ir ao conteúdo
  • Cadastre-se

Matriz Bidimencional Ling. C


asdrubous

Posts recomendados

/*Calera eu tenho a seguinte dúvida, o código abaixo é um exercio que peguei com

um amigo, o programa carrega um matriz 6x6 pede para digitar um fator de multipliacação

e depois multiplica os elementos que não se encontam nas diagonais.

Esse primeiro codigo não ultiliza funções e roda tranquilo . já o segundo codigo

não roda, alguem que entenda de "C" poderia me dar um toque ... eu sou muito iniciante em programação ...*/

// CODIGO 01

#include <conio.h>

#include <stdio.h>

#include <conio.c>

int main (void){

int mtz[5][5], mtz2[5][5];

int i=0,j=0,k;

for(i=0;i<=5;i++){

for(j=0;j<=5;j++){

printf("Valor para MTZ1 pos. %d%d\n",i,j);

scanf("%d",&mtz[j]);

}

}

printf("\n\nQual o fator de multiplicacao?\n");

scanf("%d",&k);

for(i=0;i<=5;i++){

for(j=0;j<=5;j++){

if (i==j)

mtz2[j]=mtz[j];

else if (i+j==5)

mtz2[j]=mtz[j];

else mtz2[j]=(mtz[j])* k;

}

}

for(i=0;i<=5;i++){

printf("\n");

for(j=0;j<=5;j++){

printf("[%d%d]%d ",i,j,mtz2[j]);

}

}

getch();

}

//CODIGO 2 :muro:

#include <conio.h>

#include <stdio.h>

#include <conio.c>

void carregaMatriz(int *mtz[][5]);

void multMatriz(int k, int *mtz[][5]);

int main (void){

int mtz[5][5];

int k;

carregaMatriz (mtz[][5]);

multMatriz(mtz[][5]);

}

void carregaMatriz(int *mtz[][5]){//Função Carrega Matriz;

int i, j;

for(i=0;i<=5;i++){

for(j=0;j<=5;j++){

printf("Valor para MTZ1 pos. %d%d\n",i,j);

scanf("%d",&mtz[j]);

}

}

}

void multMatriz(int k, int *mtz[][5] ){//Função Multiplica Matriz

int i,j, mtz2[5][5];

for(i=0;i<=5;i++){

for(j=0;j<=5;j++){

if (i==j)

mtz2[j]=mtz[j];

else if (i+j==5)

mtz2[j]=mtz[j];

else mtz2[j]=(mtz[j])* k;

}

}

for(i=0;i<=5;i++){

printf("\n");

for(j=0;j<=5;j++){

printf("[%d%d]%d ",i,j,mtz2[j]);

}

}

}

Link para o comentário
Compartilhar em outros sites

Não compilei o seu código, mas acho que se você declarar a variavel matriz como global vai funcionar; o seu código deve tá dando erro no parametro da função.

Dá uma olhada no código abaixo, compila com o turbo c++ 3.0 ^_^

PS: Não recomendo esse compilador, mas como você esta aprendendo como eu, acho que é uma boa. :D

#include <conio.h>

#include <stdio.h>

int matriz[3][3];

void carregamatriz(){

int i,j;

for(i=0;i<3;i++)

for(j=0;j<3;j++){

  printf("Elemento[%d,%d]: ",i+1,j+1);

  scanf("%d",&matriz[j]);

}

}

void multiplicacao(int fator){

int i,j;

for(i=0;i<3;i++)

for(j=0;j<3;j++)

  if((i!=j)||(i+j!=3))

   matriz[j]=matriz[j]*fator;

}

void exibematriz(){

int i,j;

for(i=0;i<3;i++)

for(j=0;j<3;j++){

  printf("elemento[%d,%d]: %d\n",i+1,j+1,matriz[j]);

  matriz[j];

}

}

void main(){

int fator;

clrscr();

printf("Informe os elementos da matriz:\n");

carregamatriz();

printf("Informe um fator de multiplicacao:");

scanf("%d",&fator);

multiplicacao(fator);

clrscr();

exibematriz();

getch();

}

Link para o comentário
Compartilhar em outros sites

Amigão, obrigado por ter me dado esse toque, resolvi o probleminha desse codigo e de muitos outros que estou treinando.

Mas tem uma coisa, mais a titulo de curiosidade:

Quando nós trabalhamos com essas variáveis globais, no caso de código muito extenços não é meio problematico pra alguem poder fazer uma manutenção ???

Ou não é muito mais seguro !?

:muro:

Novamente Valeu pelo toque !!!

Link para o comentário
Compartilhar em outros sites

Postado Originalmente por asdrubous@12 mar 2004, 08:42

Quando nós trabalhamos com essas variáveis globais, no caso de código muito extenços não é meio problematico pra alguem poder fazer uma  manutenção ???

Ou não é muito mais seguro !?

:muro:

Exatamente...

Variáveis globais são um pesadelo em termos de manutenção e em termos de debugging...

É melhor usar passagem de parâmetros mesmo...

Link para o comentário
Compartilhar em outros sites

Postado Originalmente por asdrubous@12 mar 2004, 08:42

Quando nós trabalhamos com essas variáveis globais, no caso de código muito extenços não é meio problematico pra alguem poder fazer uma  manutenção ???

Ou não é muito mais seguro !?

Realmente não é muito interessante declarar variáveis globais, mas acho que em alguns casos é preciso.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para 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!