Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Plasa de umbrire peste gard de pl...

O smecherie pe care nu o inteleg

Balcon parter fara acte

unde gasesc un speed bag in bucur...
 Programe TV cu altfel de sporturi

Laptop "bun la toate" max...

navigatie noua vw tiguan

ctfmon.exe - System Error (in Saf...
 Ați prins vremurile cand 120 Volț...

Whatsapp nu afișeaza numele ...

Medii admitere Politehnica Bucure...

Se extinde Baza de la Kogalniceanu
 Politist mutilat de caine in curt...

Trotineta- cat rezista?

Windows 11 si inregistrare de pe ...

Cont Facebook spart
 

Problema silaba

- - - - -
  • Please log in to reply
6 replies to this topic

#1
CodexVinci

CodexVinci

    New Member

  • Grup: Junior Members
  • Posts: 15
  • Înscris: 27.05.2015
Enunt: Se considera un text de minimum 255 caracter.Realizati un program care afiseaza numarul de aparitii al unei silabe in text.Silaba va fi citita de la tastatura.
Codul facut pana acum :

#include <iostream>
#include <string.h>
using namespace std;
int main ()
{
char v[256],silaba[10],*p;
int aparitii=0;
cout<<"Introduceti txt:";
cin.get (v,256);
cout<<"silaba:";
cin.get (silaba,10);
p=strstr (v,silaba);
  
}
Problema este ca nu stiu cum pot sa iau nu numai prima aparitie a silabei citite ci si restul.Ma gandeam ca dupa ce se face contorizarea a primei aparitii, p-ul nu ar trebui sa mai ia o data aceeasi adresa.Ca si la vector,sa incerce sa contoriseze aparitia si dupa sa verifice celelalte caractere.
Multumesc.

Edited by CodexVinci, 27 May 2015 - 17:12.


#2
sftpdt

sftpdt

    Senior Member

  • Grup: Senior Members
  • Posts: 3,640
  • Înscris: 29.08.2013
strtok

#3
CodexVinci

CodexVinci

    New Member

  • Grup: Junior Members
  • Posts: 15
  • Înscris: 27.05.2015
#include <iostream>
#include <string.h>
using namespace std;
int main ()
{
char v[256],g;
int s=0;
char *p,c[10],sep[]=" ,.";
cin.get (v,256);
cin>>c;
   p=strtok (v,sep);
while (p)
{
g=strstr ( p,const char c);
if (g) s++;
p=strtok (NULL,sep);
}
cout<<s;
}

Dar primesc o eroare :"expected primary-expression before 'const'".
In afara de asta,codul cum este?

#include <iostream>
#include <string.h>
using namespace std;
int main ()
{
char v[256],*g;
int s=0;
char *p,c[10],sep[]=" ,.";
cin.get (v,256);
cin>>c;
   p=strtok (v,sep);
while (p)
{
g=strstr ( p, c);
if (g) s++;
p=strtok (NULL,sep);
}
cout<<s;
}
Asta este codul fara erori,dar daca introduc "lalala" si silaba "la" s=1.Vreau si celelate aparitii "la" ,cum fac asta?

Edited by CodexVinci, 27 May 2015 - 18:21.


#4
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,360
  • Înscris: 10.08.2005
Ce este o silaba in comparatie cu un cuvant?

#5
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006

View PostCodexVinci, on 27 mai 2015 - 17:12, said:

Problema este ca nu stiu cum pot sa iau nu numai prima aparitie a silabei citite ci si restul.Ma gandeam ca dupa ce se face contorizarea a primei aparitii, p-ul nu ar trebui sa mai ia o data aceeasi adresa.Ca si la vector,sa incerce sa contoriseze aparitia si dupa sa verifice celelalte caractere.
Multumesc.
Pentru a despărți corect în silabe, trebuie să ai o bază de date cu despărțirile în silabe ale tuturor cuvintelor.

Dar ceea ce poți face e să numeri aparițiile unui substring.

Va da rezultate greșite pentru unele cuvinte. Exemplu a-dul-me-ca, silaba a.

#6
CodexVinci

CodexVinci

    New Member

  • Grup: Junior Members
  • Posts: 15
  • Înscris: 27.05.2015
Ca sa inteleg mai bine, as vrea totusi sa am o metoda prin care pot gasesc numarul de apartii al subsirului in text.

#7
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006

View PostCodexVinci, on 28 mai 2015 - 15:53, said:

Ca sa inteleg mai bine, as vrea totusi sa am o metoda prin care pot gasesc numarul de apartii al subsirului in text.
Așa cum faci deja, doar că într-o buclă, până îți dă NULL.

Și la fiecare iterație avansezi pointerul către string cu lungimea silabei.

Anunturi

Neurochirurgie minim invazivă Neurochirurgie minim invazivă

"Primum non nocere" este ideea ce a deschis drumul medicinei spre minim invaziv.

Avansul tehnologic extraordinar din ultimele decenii a permis dezvoltarea tuturor domeniilor medicinei. Microscopul operator, neuronavigația, tehnicile anestezice avansate permit intervenții chirurgicale tot mai precise, tot mai sigure. Neurochirurgia minim invazivă, sau prin "gaura cheii", oferă pacienților posibilitatea de a se opera cu riscuri minime, fie ele neurologice, infecțioase, medicale sau estetice.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate