Ir para o conteúdo
HGonçalo

Inicialização de vectores bidimensionais

Mensagens Recomendadas

HGonçalo    0
HGonçalo

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

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Hipnoted    6
Hipnoted

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]);
    }
}

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
HGonçalo    0
HGonçalo

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

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Warrior    68
Warrior

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.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
HGonçalo    0
HGonçalo

Obrigado,

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

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
HGonçalo    0
HGonçalo

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

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


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade