Ir ao conteúdo
  • Cadastre-se

C Dificuldade com matrizes em Linguagem C


BkEdu
Ir à solução Resolvido por Visitante,

Posts recomendados

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

Link para o comentário
Compartilhar em outros sites

  • Solução

@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

Link para o comentário
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? 

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

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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 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...