Chirurgia endoscopică a hipofizei
"Standardul de aur" în chirurgia hipofizară îl reprezintă endoscopia transnazală transsfenoidală. Echipa NeuroHope este antrenată în unul din cele mai mari centre de chirurgie a hipofizei din Europa, Spitalul Foch din Paris, centrul în care a fost introdus pentru prima dată endoscopul în chirurgia transnazală a hipofizei, de către neurochirurgul francez Guiot. Pe lângă tumorile cu origine hipofizară, prin tehnicile endoscopice transnazale pot fi abordate numeroase alte patologii neurochirurgicale. www.neurohope.ro |
Cuvinte care contin cel putin "k" vocale
Last Updated: Dec 05 2022 11:08, Started by
popescubianca27
, Dec 05 2022 00:38
·
0
#1
Posted 05 December 2022 - 00:38
Se dă un număr k și un text aflat pe mai multe linii. Să se afișeze toate cuvintele care conțin cel puțin k vocale. Considerăm că un cuvânt este o succesiune continuă de litere.
Date de intrare De pe prima linie se va citi numărul k, iar de pe următoarele linii se va citi textul. Date de ieșire Pe ecran se vor afișa cuvintele care conțin cel puțin k vocale. Cuvintele vor fi afișate câte unul pe o linie Restricții Textul va conține maxim 260 de caractere Exemplu Date de intrare Date de ieșire 3 Anamaria ia nota buna la...bacalaureat Anamaria bacalaureat Eu am incercat sa rezolv problema in felul urmator: Am creat o functie ce imi returneaza "1" in cazul in care caracterul citit este o litera, 0 in sens contrar. Intr-o structura repetitiva "while" citesc toate cuvintele dintr-un fisier text. Am delimitat lungimea fiecarui cuvant folosind functia strlen. Intr-un "for" iau fiecare element din cuvantul citit si verific daca este sau nu o litera. Daca este litera, o variabila de tip flag ia valoarea 1. In cazul in care nu este o litera, variabila ia valoarea 0. Daca este o litera, aflu daca este sau nu o vocala si contorizez numarul lor. In caz ca nu este o litera, resetez contorul vocalelor. Daca se termina cuvantul printr-un spatiu, resetez de asemenea contorul vocalelor. Eu doresc sa salvez in 2 variabile pozitia de inceput si sfarsit al cuvantului cautat de mine. Atunci cand gasesc un caracter non-litera, sa fac parcurgerea de la inceput pana la sfarsit al cuvantului si daca are cel putin "k" vocale, sa afisez acel cuvant. Nu reusesc sa fac delimitarea propriu zisa...am incercat cu foaia si pixul, dar pur si simplu am un blocaj de cateva zile deja la aceasta problema. #include <iostream> #include <fstream> #include <cstring> using namespace std; int este_litera(char s) { if (('a' <= s && s <= 'z') || ('A' <= s && s <= 'Z')) { return 1; } return 0; } int main(){ ifstream fin("date.in"); const int LIM = 261; const int LIMV = 11; char vocale[LIMV] = "aeiouAEIOU"; char s[LIM]; int k; cin >> k; int start = 0; int nrVocale = 0; int finish = 0; int contor = 0; int cuvant = 0; while (fin >> s) { int n = strlen(s); int am_cuvant = 0; for (int i = 0; i < n; ++i) { if (este_litera(s[i])) { am_cuvant = 1; if(contor == 0) { start = i; } if (strchr(vocale,s[i])){ ++nrVocale; } cout <<s[i]; //Aici m-am verificat daca delimitez corect cuvintele, separandu-le de semnele de punctuatie "...". } else if (am_cuvant == 1) { start = 0; nrVocale = 0; am_cuvant = 0; contor = 0; cout <<"\n"; } } cout << "\n"; contor = 0; nrVocale = 0; } return 0; } |
#2
Posted 05 December 2022 - 08:31
- din ce C mai stiu eu, chestia asta te face sa sari primul caracter din text:
for (int i = 0; i < n; ++i)pentru ca ++i incrementeaza variabila inainte de a o folosi (probabil ca vroiai sa folosesti i++) - variabila contor nu vad sa fie setata cu 1 nicaieri (si din cauza asta o sa tot resetezi si variabila "start") |
#3
Posted 05 December 2022 - 09:11
_Smiley_, on 05 decembrie 2022 - 08:31, said:
pentru ca ++i incrementeaza variabila inainte de a o folosi (probabil ca vroiai sa folosesti i++) Singura diferenta dintre "++i" si "i++" este valoarea intoarsa (ambele constructii incrementeaza valoarea variabilei); insa valoarea intoarsa de a 3-a componenta a unui ciclu "for" nu are niciun impact (este ignorata). Deci ambele forme produc acelasi efect in acest caz... P.S. A doua componenta a "for" ("i < n") nu foloseste valoarea intoarsa de a 3-a componenta, ci valoarea variabilei "i" dupa executia completa a componentei 3 (si ignorarea valorii intoarse de aceasta executie). Ar fi fost o diferenta daca a doua componenta ar fi fost "++i < n" vs. "i++ < n"; pentru aceasta forma, (mai) corect era "++i < n" deoarece "asteptarea" este ca valoarea variabilei la inceputul executiei corpului "for" sa respecte conditia. Edited by darkangel2, 05 December 2022 - 09:21. |
#4
Posted 05 December 2022 - 11:08
Quote Eu doresc sa salvez in 2 variabile pozitia de inceput si sfarsit al cuvantului cautat de mine. Atunci cand gasesc un caracter non-litera, sa fac parcurgerea de la inceput pana la sfarsit al cuvantului si daca are cel putin "k" vocale, sa afisez acel cuvant. Nu reusesc sa fac delimitarea propriu zisa...am incercat cu foaia si pixul, dar pur si simplu am un blocaj de cateva zile deja la aceasta problema. citeste (propozitie) pentru fiecare cuvant din propozitie daca numara_vocale(cuvant) mai mare decat numar_arbitrar afiseaza cuvant ----------------------------------- numara_vocale(cuvant) pentru fiecare literea din cuvant creste contor daca esteVocala Edited by MarianG, 05 December 2022 - 11:10. |
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users