Ir ao conteúdo

Como fazer para ler uma matriz em C? HELP!


Albernaz

Posts recomendados

Postado

Galera, queria saber como eu faço pra ler uma matriz, nesse caso a matriz matricula[50][9].

Desse jeito compila, mas a função scanf não funciona ao executar..

Já tentei colocar de várias maneiras, mas nenhuma deu certo...

o que posso fazer?

aqui é a começo do programa:

#include <stdio.h>

#include <string.h>

int main () {

int i, j, k, l, m, n;

char turma[50], matricula[50][9], nome[50][26];

float p1[50], p2[50], p3[50], tr1[50], tr2[50], tr3[50], tr4[50];

/* Início */

i = 0;

j = 0;

printf("Turma :\n");

scanf("%s", &turma);

while (strcmp(turma,"#") != 0){

printf("Matricula: (formato aa/nnnnn)\n");

scanf("%[^\n]s", &matricula);

getchar();

}

}

Valeu!

Postado

o algorito em simples;

você vai ter que ter dois loops;

loop para variar linhas{

loop para variar colunas{}

incrementar um a variavel contador

}

primeiro o loop vai entrar na primeira linha,

ira ler todas as colunas dessa linha

e incrementara um a variavel contador que sera responsavel por conter a linha que o loop vai ler,

você vai precisar de alguma coisa que te retorne o numero de linhas e colunas, para quando você estiver lendo essas linhas e colunas, comparar e não tentar ler dados que não existem.

Postado

é só você muda pra &matricula[x]

nesse x você usa um contador e dps imcrementa ele

você declarou

matricula[50][9]

q significa

matricula[0][9] //cabe 8 coisinhas

matricula[1][9] //cabe 8 coisinhas

...

matricula[50][9] ////cabe 8 coisinhas

imagina q você compro 50 caixas de sapato e cabe 8 sapatos cada 1(:eek:)

Postado

neste caso eu pretendia colocar a seguinte informação:

ex de entrada: 00/00001.

se eu colocasse 2 loops eu teria que fazer, matricula[0][0] = 0, matricula[0][1] = 0 .... matricula[0][7] = 1.

o problema é que o usuário teria que colocar um número de cada vez.

será que não existe uma forma do usuário entrar com 00/00001 e eu colocar cada informação em uma linha da matriz?

:confused:

Postado

ah, e nesse mesmo programa eu teria que pedir pro usuário inserir o nome..

e seria o mesmo problema, ele ia inserir o nome inteiro, exemplo joão carvalho, e o problema é colocar isso em uma linha da matriz nome[50][26].

Postado

se você fizer &matricula[0]

ex:

ele vai grava no [0][...]

se o user digitasse 00/00001

e você scanf("%s", &matricula[0]);

ele ia fica

matricula[0][0] = '0'

matricula[0][1] = '0'

matricula[0][2] = '/'

matricula[0][3] = '0'

matricula[0][4] = '0'

matricula[0][5] = '0'

matricula[0][6] = '0'

matricula[0][7] = '1'

porque é uma matriz bidimensional.

entendeu?

Arquivado

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

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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!