Ir ao conteúdo
  • Cadastre-se
Entre para seguir isso  
Gustavo Bove

RESOLVIDO Preencher matriz usando for e do...while.

Recommended Posts

Alguém poderia me ensinar a preencher uma matriz 3x3 usando for e do while? Tenho um exercício para fazer que pede isso, mas não estou conseguindo. 

 

#include <stdio.h>
#include <conio.h>

int main () { 


int matA[3][3];
int matB[3][3];
int matSoma[3][3];
int a, b;

b=0;
a=0; 

printf ("NumerosA: ");

for (a=0; a<3; a++){
do {
	
	
	scanf ("%d", &matA[a][b]);
		b++;
	
} while (b < 3);
} 

}

Fiz assim, só que ao invés do programa pedir 9 números. ele só pede 5. :(

 

 

Só consigo fazer o programa pedir 9 números quando digo que b=-4

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ja tentou utilizar dois for?

do while - verifica a condição no final do loop

for - verifica a condição no inicio do loop

#include <stdio.h>
#include <conio.h>

int main () { 
  
int matA[3][3];
int matB[3][3];
int matSoma[3][3];
int a, b;
 
printf ("NumerosA: ");

for (a=0; a<3; a++){
	for(b=0; b <3; b++)
		scanf ("%d", &matA[a][b]);
}

return EXIT_SUCCESS;
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
agora, 1freakday disse:

Ja tentou utilizar dois for?


#include <stdio.h>
#include <conio.h>

int main () { 
  
int matA[3][3];
int matB[3][3];
int matSoma[3][3];
int a, b;
 
printf ("NumerosA: ");

for (a=0; a<3; a++){
	for(b=0; b <3; b++)
		scanf ("%d", &matA[a][b]);
}

return EXIT_SUCCESS;
}

 

Então, é que o exercício que tenho que fazer específica que não posso usar outra coisa além de for/do...while. Então não posso usar dois for

Compartilhar este post


Link para o post
Compartilhar em outros sites
#include <stdio.h>
#include <conio.h>

int main () { 


int matA[3][3];
int matB[3][3];
int matSoma[3][3];
int matSoma1;
int a, b;

b=0;
// Matriz A usando FOR e DO...WHILE
printf ("Preencha a matriz A com 9 numeros inteiros:\n");



for (a=0; a<3; a++){
	do {
		scanf ("%d", &matA[a][b]);
		b++;
	
	} while (b < 3);
	b=0;
}

//Fim da Matriz A

a=0;
b=0;
         printf ("Preencha a matriz  B com 9 numeros inteiros:\n");

// Matriz B usando For e While
for (a=0; a<3; a++) { 
while (b<3){
	
	scanf ("%d", &matB[a][b]);
	b++;
}
b=0;
}
// Fim da Matriz B

//Soma das Matrizes usando For e For
for (a=0; a<3; a++){
	for (b=0; b<3; b++){ 
	
	
	matSoma[a][b] = matA[a][b] + matB[a][b];


// Fim da Soma.
 	
	}
    }
//Exibir matriz somada usando Do....While e While. 
a=0;
b=0;
  printf ("\nA Soma das matrizes:\n");

	
	 printf ("\n");

do {
	
	while (b<3)	{
	
		printf ("\n\tSoma: %d", matSoma[a][b]);
	                                            
         b++;   }
         b=0;
                  a++;                      } while (a<3);
                  
	}



Consegui resolver. Pra quem tiver interesse ^

                                                                      

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se fosse por questão de otimização e clareza, você poderia por essas variáveis em zero dentro do próprio loop, exemplo:

#include <stdio.h>
#include <conio.h>

int main () {

    int matA[3][3];
    int matB[3][3];
    int matSoma[3][3];
    int a, b;

    // Matriz A usando FOR e DO...WHILE
    printf ("Preencha a matriz A com 9 numeros inteiros:\n");

    for (a=0, b=0; a<3; a++, b=0)
        do {
            scanf ("%d", &matA[a][b]);
            b++;
        } while (b < 3);
    //Fim da Matriz A


    // Matriz B usando For e While
    printf ("Preencha a matriz  B com 9 numeros inteiros:\n");

    for (a=0, b=0; a<3; a++, b=0)
        do {
            scanf ("%d", &matB[a][b]);
            b++;
        } while (b < 3);
    // Fim da Matriz B

    //Soma das Matrizes usando For e For
    for (a=0; a<3; a++)
        for (b=0; b<3; b++)
            matSoma[a][b] = matA[a][b] + matB[a][b];
    // Fim da Soma.


    //Exibir matriz somada usando Do....While e While.
    printf ("\nA Soma das matrizes:\n\n");
    a = 0;
    do
    {
        b=0;
        while (b<3)	{
            printf ("\n\tSoma: %d", matSoma[a][b]);
            b++;
            }
        a++;
    } while (a<3);

    return 0;
}

 

  • 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

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
Entre para seguir isso  





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

×