Ir ao conteúdo
  • Cadastre-se
BkEdu

C RESOLVIDO Dificuldade com matrizes em Linguagem C

Recommended Posts

Eu peguei essa questão como exercício para tentar resolver, mas estou com dificuldade na solução, tenho uma prova em que vou ter que responder questões similares;

Estou usando o DEV-C++, e estou estudando linguagem C, peguei do livro que vou deixar em anexo, a questão se encontra no cap 06 - pag 210 - questão 09.

 

Q-09-faça um programa que carregue uma matriz 3x3 com números reais e receba um valor, número digitado pelo usuário, calcule e mostre a matriz resultante da multiplicação do número digitado por elemento da matriz.

 

Comecei como o code mostra abaixo, mas não sei como devo prosseguir.

#include <stdio.h>
#include <locale.h>
main(){
	setlocale(LC_ALL,"");
	float matriz[3][3], i, j, multi;
	printf("Informe os números da matriz 3x3\n");
	for(i=0; i<3; i++)
	   for(j=0; j<3; j++){
	       printf("Elemento (%f,%f) da matriz: ", i+1, j+1);
	   }
}

 

LivroCdeAnaFernandaAscencio.pdf

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante

@BkEdu Olá. Passar o código pronto não vejo q seria a melhor coisa a fazer.

Para esse exercício é preciso fazer uso de uma outra matriz, q seria a matriz resultante. Nela seriam armazenados o resultado da multiplicação do número informado pelos elementos da matriz principal.

Procure dividir o exercício em partes

1. um programa que carregue uma matriz 3x3 com números reais

2. número digitado pelo usuário

3. fazer a operação de multiplicação do número informado pelos elementos da matriz e armazenar esse valores na matriz resultandte

4. imprimir a matriz resultante

 

vou passar  a parte 1:

#define LIN 3
#define COL 3

int main() {

    int i, j, num;
    float matriz[LIN][COL], mat_result[LIN][COL];

    for (i = 0; i < LIN; i++) {
        for (j = 0; j < COL; j++) {
            printf("Informe o valor p/ a posicao (%d, %d): ", i, j);
            scanf("%f", &matriz[i][j]);
        }
    }

É preferível fazer uso de constantes para definir o tamanho da matriz.

No código acima estou criando constantes com a diretiva define e já fazendo uso delas.

Obs: Não é obrigatório fazer dessa forma, mas é muito recomendável essa prática

Prefira sempre o uso d constante tal como no exemplo passado

 

Vê se ajuda agora esse código q passei, ok?

qualquer coisa é só perguntar

  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

A parte do número; pelo enunciado está garantido que é número mesmo, entretanto podemos força essa condição mais ainda por meio do retorno da scanf;

float real (char mensagem[]){
  float r;
  char flag;
  
  	printf (mensagem);
  	flag = scanf (" %f", &r);
  	while (flag != 1){
    		if (EOF == getchar ()) return 0;
    		flag = scanf (" %f", &r);
  	}
  return r;
}

Esse programinha acima vai solicitando número até que entre com valor numérico.

Ps.: É mais didático que colaborativo ao cerne da questão.

 

 

Dúvidas, críticas ou sugestões? 

  • Curtir 1
  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@giu_d Muito obrigado.. com essa ajuda e explicação consegui uma solução pro problema.. :D

adicionado 4 minutos depois

@AnsiC agradeço também pela explicação.. 

  • Obrigado 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





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

×