• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

HGonçalo

Inicialização de vectores bidimensionais

9 mensagens neste tópico

Boas pessoal,

sou uma beca novo nestas andanças da programação, preciso duma ajudinha sff

Quero fazer uma função que me crie uma tabela de caracteres, isto é, que me leia um caracter do teclado e o coloque e cada posição da tabela de modo a que esta fique preenhida com caracteres e que possa depois "trabalhar" com essa tabela...

Se me puderem ajudar agradecia.

Obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bem-vindo.

Não percebi bem se queres com matriz ou com vector.

Com vector declaras: char vector[100];

se for uma matriz o que pretendes é: char matriz[100][100];

Coloquei o 100 mas podia ser outros qualquer valor.

Para aceder aos dados do vector podes fazer:

int i=0;

for(i=0;i<strlen(vector);i++){
    printf("%c", vector[i]);
}

Para inserir caracteres no vector:

int i=0;
vector[i] = 'e';
i++;
vector[i] = 'z';

Para a matriz é o mesmo só tens de usar 2 fors, exemplo:

for(i=0;i<100;i++){
    for(j=0;j<100;j++){
        matriz[i][j] = 'g';
        printf("%c", matriz[i][j]);
    }
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Exacto é com matrizes... mas o meu objectivo agora é lar caracteres a partir do stdin para preencher a tabela toda, isto é, o utilizador é k vai escrever os caractéres. E depois quero puder usar essa tabela que foi criada para poder por exemplo procurar uma palvra, etc... e para isso preciso da tabela para a puder manipular já preenchida.

Obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Podes fazer como o Hipnoted referiu, embora aquilo seja mais útil é com inteiros.

Se tiveres a ler uma matriz de caracters, podes fazer simplesmente.

char m[100][100];

for (i=0;i<n;i++)
  scanf("%s",m[i]);

Ou o equivalente com fgets.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Obrigado,

só + uma coisa, depois como poso usar essa matriz que criei para procurar palavras, fazer o que quiser sob essa matriz?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Isso  é se for dentro da mesma função, não é?

E se eu quiser aceder noutra função...

Por exemplo,

char funcao( int n)

{

    (declaração de var)

    for(i=0; i<n; i++) {

        scanf(""%s"", matriz);

    }

    return 0;

}

int main() {

      (declaração de var)

      funcao(n);        ---> função que cria a tabela

      letraPos(tabela, letra) ;        ---> como é k eu faço para que este arg tabela seja a tabela que eu criei?

}

Obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Podes se recorreres à passagem da matriz por referência nos parâmetros. Fazes isso como farias com um vector normal.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora