njsf1

Membros
  • Content Count

    2
  • Joined

  • Last visited

Community Reputation

0 Neutro

About njsf1

  1. njsf1

    Manip String

    o erro é: se voce pedir 2 entradas de string e botar uma palavra que contenha espaço, tipo: (a mesa) ele está contando como duas strings, ele não pede pra gente dar a entrada duas vezes, não sei o que acontece. valeu, obrigado aí pela atencao mas ainda acho que meu programa está errado. eheh. bem na verdade eu queria que fosse tipo assim: o cara digita 2 daí entra com (a mesa) e depois (o carro); aí vinha quatro ponteiros(pras 4 palavras) 1º pon -linha1 -a -inifilap 2º pon -linha 1 -mesa 3º pon -linha 2 -o 4º pon -linha 2 -carro -fimfilap
  2. njsf1

    Manip String

    alguém me ajude aí por favor. como é que eu faco uma funcao que leia uma string dada pelo usuario , separa as palavras dessa string e bota cada palavra num ponteiro, numa lista encadeada???? bem, fiquei aqui tentando mas eu fiz um programa que da erro em algumas instancias de entrada. é pro trabalho aqui da facul eheh.eu fz isso aqui mas não está muito bom não. #include<stdio.h> #include<ctype.h> #include<malloc.h> typedef struct str_palavra{ int linha; char palavra[30]; struct str_palavra *prox; } regpalavra, *apontpalavra; apontpalavra inifilap,fimfilap; void inserepalavranop(char sl[51],int c){ apontpalavra tmp; int cont,r; cont=0; printf("teste"); while((cont<=50)&&(sl[cont])){ if(isalpha(sl[cont])){ tmp=malloc(sizeof(regpalavra)); tmp->linha=c; r=0; while(isalpha(sl[cont])){ tmp->palavra[r]=sl[cont]; r++; cont++; } if (!inifilap){ inifilap=tmp; fimfilap=tmp; } else{ fimfilap->prox=tmp; fimfilap=tmp; } } else cont++; } } int main(void){ char sl[51]; int n,c; scanf("%d",&n); inifilap=fimfilap=NULL; for(c=1;c<=n;c++){ scanf("%s",sl); inserepalavranop(sl,c); } printf("%d",fimfilap->linha); printf("%s",fimfilap->palavra); } opa, quando copiei ficou tudo alinhado à esquerda. deixa pra lá.