1 – 15 de 15
Anônimo Anônimo disse...

Legal, foi muito útil. Ótimo site, sempre uso para consultas.

27 de fevereiro de 2014 às 09:49

Anônimo Anônimo disse...

Legal o blog, estou aprendendo muito.
Tem algum jeito de eu passar uma matriz para uma função permitindo que o usuário determine as linhas e colunas da matriz?

26 de julho de 2014 às 12:13

Blogger Unknown disse...

Eu criei uma estrturada onde vc define a qde de linhas e colunas

#include

int main(){
int DIM;
printf("Digite o tamanho da matriz que deseja criar: "); scanf("%d",&DIM);
int matriz[DIM][DIM];
int linha, coluna;
for(linha = 0 ; linha < DIM ; linha++)
for(coluna = 0 ; coluna < DIM ; coluna++)
{
printf("Elemento [%d][%d]: ", linha+1, coluna+1);
scanf("%d", &matriz[linha][coluna]);
}
for(linha = 0 ; linha < DIM ; linha++)
{
for(coluna = 0 ; coluna < DIM ; coluna++)
printf("%4d", matriz[linha][coluna]);

printf("\n");
}
system("pause");
return 0;
}

23 de setembro de 2014 às 09:47

Blogger Unknown disse...

Bom dia C progressivo.
Minha dúvida é o seguinte: é regra ter que por colchetes vazio [] para linha e por um tamanho para a coluna?
Porque caso eu tenha que fazer um algoritmo que o usuário determine a dimensão da matriz, logo, a dimensão que essa matriz recebeu é local (não sei nem se estou me expressando corretamente.), no seu caso, você criou uma constante, caso eu não venha criar uma constante, comoi eu posso resolver esse problema? Att.

17 de outubro de 2014 às 04:22

Anônimo Anônimo disse...

como eu faço para retornar um vetor de uma função para a função main

2 de fevereiro de 2015 às 06:40

Anônimo Anônimo disse...

O que eu acho:

Se um vetor é passado para uma função e alterado dentro dela
e essas alterações são mantidas, para que retornar ele de uma
função ?

Se for para atribuir o conteúdo dele à outro vetor basta após
o uso da função e copiar com strcpy().

17 de setembro de 2015 às 07:14

Blogger Unknown disse...

Muito bem explicado como sempre, parabéns mais uma vez ao site!!
Agora, só um pequeno detalhe:
No lugar de "matriz exige um paz de colchetes" não seria "matriz exige um PAR de colchetes"?
Mais uma vez, muito obrigado pelo ótimo curso :)

15 de outubro de 2015 às 16:52

Blogger orcrux disse...

Cara, se vc tiver passado o vetor por ponteiro e tiver usando sua funçao no vetor, so usar ele normalmente, pq vc so passo o endereço da memoria nao os valores do vetor, ent e so usar normal na linha de baixo.

14 de setembro de 2016 às 10:42

Blogger orcrux disse...

thiaguinhopier@yahoo.com.br , o que vc procura ira encontrar em alocaçao dinamica, ja dependendo do seu problema e do dizer pra funçao vai usar uma matriz muito grande e usar so parte dele ;D


#so nao deixando o povo na vacuo. ashushu

14 de setembro de 2016 às 10:51

Blogger lalo disse...

Estou achando ótimas todas as suas postagens no blog sobre c, muito boas mesmo!
Vocês estão me ajudando muito.

muito obrigado
Nicolas


ps. uma na página onde estou postando este comentário, no link http://www.cprogressivo.net/2013/03/Como-passar-vetores-arrays-e-Matrizes-vetores-multidimensionais-para-funcoes-emC.html
abaixo do título Como passar matrizes (vetores multidimensionais) para funções, segundo parágrafo, segunda linha desse parágrafo, tem uma letrinha trocada, diz: "paz de colchetes[]", deveria dizer "par de colchetes[]". Esta é toda a contribuição que posso dar por hora... um pequeno detalhe, que ajude neste grandioso empreendimento de ensino.

4 de abril de 2017 às 15:19

Blogger Rayller disse...

Cara, eu tava indo muito bem, mas essa parte de vetores e matrizes em funções me bugou completamente. Se possível, explica detalhado os códigos, pra ficar mais fácil de entender. Eu paralisei nesse código:
for(count=0 ; count<n ; count++)
media += numeros[count];

Me deu a tela azul do da morte eu to travado nela.

3 de junho de 2017 às 08:15

Blogger Lucas de Lima disse...

Muito bom!

25 de outubro de 2017 às 16:28

Anônimo Let's Learn disse...

Gostaria que as dimensões da matriz fossem definidas pelo usuário no inicio do programa. Somente consegui fazer o programa rodar definindo o numero de linhas e fixando o numero de coluna através do #define.
Alguém sabe me explicar como fazer isto?



#include
#include
#define ROW 3
#define WIDTH 3

int createMatrix (int matrixImput [][WIDTH], int rowsInput, int widthInput );

int main()
{
setlocale(LC_ALL, "Portuguese");
int row, width;

// printf("\t Entre com as dimensões da matrix: [ ][ ]");
// printf("\n\t Quantidade de linhas: ");
// scanf("%d", &row);
row = ROW;
width = WIDTH;
// printf("\t Quantidade de colunas: ");
// scanf("%d", &width);

int matrix[row][width];
createMatrix (matrix, row, width );
printMatrix (matrix, row, width );
}


int createMatrix (int matrix [][WIDTH], int rowsInput, int widthInput )
{
int counter_row, counter_width;

for(counter_row = 0; counter_row < rowsInput; counter_row++)
{
printf("\n");
for (counter_width = 0; counter_width < widthInput; counter_width++)
{
printf("Entre com o elemento [%d][%d]: ", counter_row + 1, counter_width + 1 );
scanf("%d", &matrix[counter_row][counter_width]);
}
}

}

int printMatrix (int matrix [][WIDTH], int rowsInput, int widthInput)
{
int counter_row, counter_width, traco = 0;

for(counter_row = 0; counter_row < rowsInput; counter_row++)
{
printf("\n\t");
traco += matrix[counter_row][counter_row];
for (counter_width = 0; counter_width < widthInput; counter_width++)
printf("%4d ", matrix[counter_row][counter_width]);
}
printf("\n");

printf("\n \tO traço da Matrix é: %4d \n", traco);
}

29 de outubro de 2017 às 13:45

Anônimo Anônimo disse...

Boa tarde, como passo de uma função struct para uma matriz de inteiros no programa Scilab?

18 de dezembro de 2017 às 08:50

Blogger Vinnicius disse...

O exemplo funcionou. MAS quando eu tento passar um array do tipo de uma classe que eu criei, por exemplo classe "Produto" o compilador não deixa enviar o objeto declarado como parametro. Ele diz que não é possível converter Produto* para Produto(*)[100], por exemplo. Não entendi essa "conversão" necessária. Procurei por tudo, dei até passos para trás no estudo pra tentar entender, mas eu estou quase desistindo. Todos os tutoriais falam a mesma coisa, mas pra mim simplesmente NÃO FUNCIONA.

1 de novembro de 2020 às 10:35

É quase impossível criar centenas de páginas voltadas para programação C e não cometer algum erro.

- Se notar algum conceito, letra ou trecho de código errado, deixe sua correção

- Se perceber uma maneira melhor ou mais eficiente de fazer algo, deixe sua ideia

- Se algo não ficar claro ou for confuso, nos avise

Aos poucos vamos aumentando e melhorando a qualidade de nosso material, e para isso contamos com sua ajuda.
Você pode usar algumas tags HTML, como <b>, <i>, <a>

A moderação de comentários foi ativada. Todos os comentários devem ser aprovados pelo autor do blog.

Depois de enviar seu comentário, será necessário fazer login.
Prove que você não é um robô