Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rototiviritus

Erros em alguns exercícios em C

Recommended Posts

Faça uma função que mostre na tela uma matriz de números reais de n linhas e 4 colunas (n também deve ser passado para a função como um segundo argumento). Faça o programa principal (função main) utilizando a função anterior.

 

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

void funcao(float matriz2[][4], int nlinhas){
 int z, w;
 printf ("A matriz de %d linhas e 4 colunas e':", nlinhas);
 for (z=0; z<=nlinhas; z++){
 for (w=0; w<4; w++){
 printf("\n%f %f %f %f\n", matriz2[w][0], matriz2[w][1],matriz2[w][2],matriz2[w][3]);
 }
 }
 getch();
}

int main ()
{ 
 int linhas,i,j;
 float matriz1[linhas][4];
 printf ("Digite a quantidade de linhas que a matriz tera: ");
 scanf ("%d", &linhas);
 printf ("\nDigite os elementos da sua matriz de acordo com a posicao da linha e da coluna:");
 for (i=0; i<linhas; i++){
 for (j=0; j<4; j++){
 scanf ("%f", &matriz1[i][j]);
 }
 }
 funcao (matriz1,linhas);
}

Faça um procedimento que recebe, por parâmetro, uma matriz M(6,6)e um valor A . O procedimento deve multiplicar cada elemento de M por A e armazenar em um vetor V(36). O vetor V deve retornar por parâmetro.

 

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#define TAM 36
#define TAM2 6

float func (float matriz2[][TAM2], int N){
 float vetorV[TAM],x;
 int z,w,numV=0;
 for (z=0; z<TAM2; z++){
 for (w=0;w<TAM2;w++){
 vetorV[numV]=2.0*matriz2[z][w];
 numV++;
 }
 } 
 return vetorV[TAM]; // Retorna o vetor [36]
}

int main ()
{
 int mult,i,j,m;
 float matriz1[TAM2][TAM2], vetorV2[TAM];
 printf ("Digite os elementos de uma matriz 6x6:\n");
 for (i=0; i<TAM2; i++){ //Pega os valores da matriz 6x6
 for (j=0; j<TAM2; j++){
 scanf ("%f", &matriz1[i][j]);
 }
 }
 printf ("\nDigite o numero a ser multiplicado pelos elementos da matriz: ");
 scanf ("%d", &mult);
 printf ("Os elementos do vetor [36] sao:\n");
 for (m=0;m<TAM;m++){
 printf ("%.2f\n", vetorV2[m]=func(matriz1,mult));
 }
 getch();
}

Desculpe o jeito que os meus exercícios ficaram, mas eu nao consegui postar direitim como todos postam, se alguem me ajudar eu tento editar aqui, Obrigado!

 

Eu não especifiquei direito o que está acontecendo, mas não estão dando certo os programas..

O primeiro, ele compila certim, mas na hora que abre trava o programa (todas as vezes)

E o segundo ele compila certim, faz tudo certo, mas no final o resultado dá numeros impossiveis de ser..

 

Quem puder ajudar, agradeço desde já! =)

Compartilhar este post


Link para o post
Compartilhar em outros sites

 int linhas,i,j;
 float matriz1[linhas][4];
ql o valor de linhas?

 

Mano é soh você fazer:

index=0;
for(i=0;i<TAM;i++) for(j=0;j<TAM;j++) vetorV[index++] = (N * matriz2[i][j]);

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.