Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: Problema sir de caractere  (Citit de 1290 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
SpaceRealm
Strain


Karma: -1
Deconectat Deconectat

Mesaje: 2



Vezi Profilul
« : Ianuarie 07, 2011, 16:35:29 »

Am urmatoarea problema: Se citeste de la tastatura un text in care cuvintele sunt separate printr-un singur spatiu. Sa se afiseze cuvintele din text care sunt palindrom. Trebuie sa fac problema cu ajutorul indicilor, nu al pointerilor. Exista insa o eroare in programul meu, intrucat nu imi afiseaza toate cuvintele palindrom, mai exact mi le afiseaza doar pe cele formate din 3 litere, din cate am observat. Ma puteti ajuta? Iata programul meu:
Cod:
#include<iostream.h>
#include<string.h>
#include<stdio.h>
int i,j,k;
int main()
{char text[256],cuv[25],inv[25];
cout<<"Textul: ";
cin.get(text,256);
i=0;
while(i<strlen(text))
{
cuv[0]=NULL;
for(j=i,k=0;text[j],text[j]!=' ';j++,k++)
cuv[k]=text[j];

strcpy(inv,cuv);
strrev(inv);

if(!stricmp(cuv,inv))
cout<<cuv<<"\n";


i=j+1;

}
return 0;
}
Modificat de Moderator: Foloseste tag-ul [ code ] ... [ / code ] cand scrii surse

« Ultima modificare: Ianuarie 16, 2011, 13:04:36 de către Mircea Dima » Memorat
chera_lary
De-al casei
***

Karma: -2
Deconectat Deconectat

Mesaje: 106



Vezi Profilul
« Răspunde #1 : Ianuarie 16, 2011, 00:38:10 »

Cod:
#include <iostream.h>
#include <string.h>

void main()
{
char txt[256];
    cin.getline(txt, 256);

int ok=1, len;
char *p=strtok(txt, " ");
while(p)
{
ok = 1;
len = strlen(p);
for(int i=0;i<len/2;i++)
if(p[i] != p[len-i-1])
{
ok = 0;
break;
}
if(ok) cout<<p<<endl;

p=strtok(NULL, " ");
}
}
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines