Ir ao conteúdo
  • Cadastre-se

Problemas com alocação de memória numa Matriz Esparsa


hidantachi

Posts recomendados

Olá, tenho um exercício em C sobre Matriz Esparsa e estou com algumas dúvidas: A questão é o seguinte:

Faça um programa que crie uma Matriz Esparsa de acordo com as instruções:
i) Declare um vetor de ponteiros para 10 strings.
ii) Solicite a digitação de 10 strings de até 100 caracteres em uma variável string.
iii) Aloque espaço exato para cada string digitada armazenando os ponteiros no vetor da letra a).
iv) Cópie cada string para a memória alocada.
v) Imprima todas as strings.
vi) Libere cada memória alocada.

Estou fazendo da seguinte forma:
 

int main(){
int i,j;
vetor=(char*) malloc(10);
for(i=0;i<10;i++){
for(j=0;j<101;i++){
printf("Digite o nome: \n");
scanf("%c", vetor[i][j]);
}
}
for(i=0;i<10;i++){
for(j=0;j<101;i++){
printf("%c", vetor[i][j]);
}
}
free(vetor);
return 0;
}



Como vocês podem observar, fiz somente os itens i,ii,v,vi. Os demais, iii e iv eu não compreendi. Como seria esses itens?
Desde já agradeço.
Obs: Estou fazendo a mão, não testei ainda em algum copilador, então certamente terá vários erros!

Link para o comentário
Compartilhar em outros sites

Olá! Essa questão III) depende muito de como você pensou na solução II)

Interpretando o examinador suponho que nos pede uma variável que nos sirva de entrada, o que estou dizendo há necessidade da declaração de

variável intermediária entre a entrada de dados e o vetor strings propriamente de memória alocada e de extensão definida, como seria

isso? é simples vetor de char é um strings, exemplo: char to_input[101]. Esse vetor (nem precisar ser alocado, declare-o)

vai capturar o texto no limite de100 caracteres. É necessário que você saiba quantos caracteres o usuário entrou, para com isso delimitar a quantidade exata de memória para essa entrada no vetor de strings, quando tiver com este número parta para cópia de to_input para vetor.

PS. existe funções prontas na lingua que fazem isso, entretanto, tente fazer você mesmo, pois é mais desafiador, isto é, se dispuser de tempo.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber 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...