Ir ao conteúdo
  • Cadastre-se

Matriz string


ieqebenezer

Posts recomendados

E ae pessoal beleza?

Estou fazendo um programa para o trabalho da facu, e o negocio emperrou quando tive que usar matriz string, e gostaria de perguntar se alguem pode me ajudar e me dizer como inserir dados em uma matriz string?

declarei a matriz, mas não estou conseguindo colocar os dados na matriz onde eu declarei da seguinte maneira

int main(){

char *mat_facil[20][300];

char *mat_medio[20][300];

char *mat_dificil[20][300];

cont=0;

for(cont=0;cont<20;cont++){

char mat_facil[20][300];

gets(*mat_facil);

}

for(cont=0;cont<20;cont++){

char mat_medio[20][300];

gets(*mat_medio);

}

for(cont=0;cont<20;cont++){

char mat_dificil[20][300];

gets(*mat_dificil);

}

no declarar a matriz até aqui deu certo o problema é inserir os dados na tabela, pesquisei no google, e as dicas que encontrei não funcionou, peço a ajuda de vocês, valeu, por tudo.

:wacko:

Link para o comentário
Compartilhar em outros sites

veja um exemplo com string unidimensional:


#include <stdio.h>
#include <string.h>

int main(){
char *stringp;
char string1[]="Inicializada";
char sting2[13];
char string3[13];

for(int i=0; i<13; i++)
string2[i] = string1[i];
strcpy(stringp, "Hello Word!");
strcpy(string3, string2);
}

Taí. Exemplo de 4 formas de trabalhar com strings.

##algumas coisas sobre seu código:##

-"char *mat_fácil[20][300];" É uma declaração estranha: 20 arrays com 300 ponteiros para char cada. Isso dá uma array tridimensional. Acredito que você queira dizer "char mat_fácil[20][300];" pois aí será 20 arrays de 300 caracteres cada.

-Indente o programa. Acredite faz TODA a diferença, ainda mais quando o código é grande.


int main(){
char *mat_fácil[20][300];
char *mat_medio[20][300];
char *mat_dificil[20][300];

cont=0; //Cade a declaração?
for(cont=0;cont<20;cont++){ //inicializou cont 2 vezes em seguida. Pra que?
char mat_fácil[20][300];
//Declarou mat_facil mais de uma vez. Além disso essa linha não faz nada...
gets(*mat_fácil);
//chame com mat_facil, e não *mat_facil. O 2º seria o "endereço do endereço" o que não faz sentido nesse caso. Além disso, o que você quer é: "mat_facil[cont]";
}

//para os outros é a mesma coisa
for(cont=0;cont<20;cont++){
char mat_medio[20][300];
gets(*mat_medio);
}

for(cont=0;cont<20;cont++){
char mat_dificil[20][300];
gets(*mat_dificil);
}

//faltou fechar main() ( "}" )

Pesquisa um pouco mais sobre arrays, endereços e ponteiros, além da linguagem como um todo. Pelo código dá pra ver que você ainda não domina a sintaxe muito bem.

Estude mais e tente reescrever o código. Estude o exemplo que eu dei, com string unidimensional, depois que pegar bem, tente uma multidimensional.

Att. barutaji.

Link para o comentário
Compartilhar em outros sites

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