Titlul: 046 Text Scris de: Mircea Pasoi din Februarie 21, 2005, 20:19:01 Aici puteţi discuta despre problema Text (http://infoarena.ro/problema/text).
Titlul: Re: 046 Text Scris de: la la ala din Martie 22, 2005, 12:12:11 [editat de moderator]
Invata sa vorbesti mai frumos.. daca nu poti, nu mai intra pe forum [-( Titlul: Re: 046 Text Scris de: la la ala din Martie 22, 2005, 12:17:04 Are cineva vreo :idea: cum se face in pascal?
Titlul: 046 Text Scris de: Bogdan-Cristian Tataroiu din Martie 22, 2005, 12:17:36 Ok.... n-am inteles care era faza... Care e problema ca faci citirea caracter cu caracter? E mai rapid asha, decat sa citesti odata un sir si dupa aia sa il si parcurgi. Eu fac in C si tot caracter cu caracter am citit.... Si daca vrei, n-ai decat sa ramai la pascal si in liceu, chiar nu conteaza daca esti in C sau pascal... Problemele sunt facute sa mearga pentru ambele limbaje...
[later edit] Asta era raspunsu la ce zicea el inainte sa fie cenzurat :mrgreen: Titlul: Re: 046 Text Scris de: la la ala din Martie 22, 2005, 12:22:55 Esti geniul pe care-l cautam!!!! =D> Cum ai facut? Eu am luat numai 50 p amarate! Toti cu care am vb mi-au zis ca e nu shtiu ce functie in zi care ia bucati de memorie si le pune in buffer...nu shtiu cum...
P.S. Dintr-a 8-a m-apuc de C (adik de la anu'), ca pascalu' e varza! P.P.S. Daca nu o sa iesi primu la nationala te ridic in slavi! :!: [-X Titlul: 046 Text Scris de: Marin Radu din Martie 23, 2005, 10:05:31 Pustiu are dreptate(adik Mircea de la CNU). :D Sa citesti un fisier caracater cu caracter e total diferit de a citi acelasi fisier prin blocuri mari(de 64Kb de exemplu). Ca il parcurgi in memorie inca o daca n-are importanta daca iei in considerare timpul mic de acces la memoria RAM, insa hard-ul e mullltttt!!!! mai lent si o citire caracter cu caracter poate sa-ti ia ca timp de peste 10-20!! mai mult decat o citire "OPTIMA". 8)
Titlul: 046 Text Scris de: la la ala din Martie 24, 2005, 10:23:30 Mersi, rss-ule :lol: ! Da' te refereai numai la citirea caracter cu caracter? Sau la amandoua?
Titlul: Text Scris de: Stan Alexandru din Martie 25, 2005, 13:11:01 Am citit caracter cu caracter am zis ca ele trebuie sa fie intre "A" si "z",
se incadreaza in timp si in memorie dar totusi da wrong answer la cateva. DE CE? Titlul: 046 Text Scris de: Kelemen Stelian din Martie 25, 2005, 13:17:45 ai grija ca intre Z si a mai sunt cateva caractere cum ar fi ] \ [ ^
_ ` Titlul: 046 Text Scris de: u-92 din Aprilie 11, 2005, 09:46:16 pt o sursa de genul:
#include <fstream.h> #include <string.h> ifstream fin("text.in"); ofstream fout("text.out"); unsigned long nrc,nrl,medie; int ok; char c; int main() { fout<<3; return 0; } primesc eroarea de compilare: /usr/lib/gcc-lib/i486-linux/3.3.5/../../../crt1.o(.text+0x18): In function `_start': ../sysdeps/i386/elf/start.S:98: undefined reference to `main' collect2: ld returned 1 exit status :-k Titlul: 046 Text Scris de: u-92 din Aprilie 27, 2005, 10:47:51 am pus aici sursa: http://www.u-92.as.ro/text.c
am compilat-o sub fedora3 si merge fara nici o problema.. dar daca trimit sursa pe infoarena primesc: "collect2: ld returned 1 exit status" poate sa arunce cineva o privire si sa-mi explice de ce? va multumesc. Titlul: 046 Text Scris de: Dobre Catalin Andrei din Aprilie 27, 2005, 15:56:14 Eu am facut citirea caracter cu caracter... Iau 90 p pe ea, la un test imi da WA...Eu lucrez in Pascal, in C nu stiu ce sa zic...
P.S mirceanu: 1. Pls, nu incepe iarasi cu cine ia locul I... :lol: 2. De ce zici tu ca pascalul este varza... Ai gasit tu ceva naspa la el !?, la olimpiada se pot rezolva la fel de bine si in pascal si in C... Fiecare au avantaje si dezavantaje... Sa-mi spui ce ai gasit naspa la pascal, cred ca vb. gura fara tine... Titlul: 046 Text Scris de: cristi8 din Aprilie 27, 2005, 16:46:41 Citat din mesajul lui: u-92 am pus aici sursa: http://www.u-92.as.ro/text.c am compilat-o sub fedora3 si merge fara nici o problema.. dar daca trimit sursa pe infoarena primesc: "collect2: ld returned 1 exit status" poate sa arunce cineva o privire si sa-mi explice de ce? va multumesc. mie nu mi-o compileaza din cauza ca ai declarat variabile "la mijlocul" functiei... unele compilatoare vor sa declari totul la inceput, si dupa aia sa scrii instructiunile PS: in caz ca o sa se compileze, vezi sa nu faci impartire la 0(zero) Titlul: 046 Text Scris de: u-92 din Aprilie 27, 2005, 17:21:19 Citat mie nu mi-o compileaza din cauza ca ai declarat variabile "la mijlocul" functiei... unele compilatoare vor sa declari totul la inceput, si dupa aia sa scrii instructiunile eu am evaluat cu gcc3.3.3 si n-am primit nici o eroare.. oricum.. am declarat tot chiar la inceput.. si primesc aceiasi eroare.. am initializat nrc cu 1 sa ma asigur ca nu impart prin 0.. dar tot aceiasi eroare o primesc... EDIT: am gasit problema.. nu mi-o compila din cauza ca aveam declarat acolo sirul p[]=" ?>:.,..."; Titlul: 046 Text Scris de: Alb Gabriel din Mai 14, 2005, 22:04:21 eu am facut problema de 80 de puncte cu un program despre care eu zic ii bun... primesc WA la testele 5 si 8... va rog ajutatzi-ma.
Titlul: 046 Text Scris de: cristi8 din Mai 14, 2005, 22:41:01 Citat din mesajul lui: hellheim eu am facut problema de 80 de puncte cu un program despre care eu zic ii bun... primesc WA la testele 5 si 8... va rog ajutatzi-ma. ..pai cum sa te ajutam ? ...un algoritm simplu de rezolvare e asta: Cod:
Titlul: 046 Text Scris de: Toma Radu din Iunie 18, 2005, 22:48:48 eu am incercat sa citesc tot fisieru si apoi sa elimin caracterele separatoare cu functia strtok, dar primesc numai 80 de puncte. Ce nu e bine?
Titlul: 046 Text Scris de: Alb Gabriel din Iunie 26, 2005, 13:48:00 Tot cu separatori am facut si eu, si primesc in continuare 80 de puncte. De aceea va rog mult de tot sa-mi dati macar unul din testele 5 sau 8, ca sa-mi dau seama unde am gresit. Eu personal nu gasesc greseala.
Titlul: 046 Text Scris de: Alb Gabriel din Iunie 26, 2005, 14:27:35 Citat din mesajul lui: Fr3eM4n ..pai cum sa te ajutam ? ...un algoritm simplu de rezolvare e asta: Cod:
Poate gresesc eu, dar cu algoritmul acesta nu imi iese nici macar exemplul. Titlul: 046 Text Scris de: cristi8 din Iunie 26, 2005, 18:03:38 ..eu iau 100.
poate nu procesezi toate caracterele. eu folosesc Cod: while(scanf("%c", &ch)!=EOF) ..alte precizari.. cand vezi daca e litera sa compari "de la 'a' la 'z' sau de la 'A' la 'Z' " ..si vezi sa nu fi trecut doar un = in C/C++ unde am scris in pseudocod "daca k=0" :D aa.. si vezi sa pui acolade unde trebuie.. sau begin si end daca faci in pascal Titlul: 046 Text Scris de: Alb Gabriel din Iunie 26, 2005, 21:00:09 Mersi mult... acum am luat si eu 100.
P.S. Citat din mesajul lui: Fr3eM4n ..si vezi sa nu fi trecut doar un = in C/C++ unde am scris in pseudocod "daca k=0" :D aa.. si vezi sa pui acolade unde trebuie.. sau begin si end daca faci in pascal Chiar nu era necesar :P Titlul: 046 Text Scris de: Prigoana Alexandru din Ianuarie 03, 2006, 13:12:38 tot textul este scris in fisier pe o singura linie sau pot aparea mai multe caractere de sfarsit de linie ?
Titlul: 046 Text Scris de: Filip Cristian Buruiana din Ianuarie 03, 2006, 13:17:48 Eu cred k pot aparea mai multe linii... Programul meu citeste linie cu linie pana la EOF / NULL ( depinde cu ce functie citesti )...
Titlul: 046 Text Scris de: Iacob Ioan Fanica din Februarie 03, 2006, 22:28:50 Va rog ajutati-ma si pe mine.
Fac citirea caracter cu caracter in c++ si nu imi citeste spatiile(citesc: f>>ch,unde ch este un caracter).De ce? Fac cu strtok si nu iau numai 60 de puncte. Imi zice si mie cineva ce gresesc? Trebuie folosita cumva adunarea pe numere mari? Si impartirea? :?: Titlul: 046 Text Scris de: Tomescu Alin din Martie 16, 2006, 17:23:07 ca sa citesti caracter cu caracter trebuie sa foloseste functia membru get(), adica in loc de f>>ch, pui f.get(ch), in felul asta iti citeste si spatiile.
Titlul: 046 Text Scris de: Valentin Stanciu din Martie 16, 2006, 21:24:41 oricum, este recomandat sa nu folositi streamuri pentru citire/scriere, nu sunt foarte rapide..
Titlul: 046 Text Scris de: Tomescu Alin din Martie 17, 2006, 14:38:36 in cazul acesta ce se recomanda pentru citirea rapida caracter cu caracter sau linie cu linie... stdio.h cumva? cu functia fget()? mie mi se pare mult mai comod de folosit streamuri... pacat ca sunt mai lente... :(
Titlul: 046 Text Scris de: Marius Stroe din Martie 17, 2006, 15:26:26 Citat din mesajul lui: tomescu_alin in cazul acesta ce se recomanda pentru citirea rapida caracter cu caracter sau linie cu linie... stdio.h cumva? cu functia fget()? mie mi se pare mult mai comod de folosit streamuri... pacat ca sunt mai lente... :( Ar trebui sa citesti mai mult pe forum inainte sa intrebi! Vezi ce a scris cristi8 (,) 8 posturi mai sus! Titlul: Raspuns: 046 Text Scris de: Valentin Bora din Aprilie 05, 2006, 13:16:31 Am facut citirea intr-un pointer char... ex. declarat char *sir si apoi citit cu sir = fgets(sir, 1024, fin); ... apoi facut cu strtok si alea alea, pe Borland C++ 3.1 imi merge perfect, pe gcc imi da Runtime Error - Invalid Memory Reference si nu imi dau seama unde am bushit-o. Help someone...
Titlul: Re: 046 Text Scris de: Valentin Stanciu din Aprilie 05, 2006, 13:24:05 nu stiu daca am intels exact.. dar ia incearca declararea: char sir[1024];
Titlul: Raspuns: 046 Text Scris de: Valentin Bora din Aprilie 05, 2006, 15:26:05 nu pot sa fac asta pentru ca eu din cate stiu pe stiva pot aloca doar 1MB si in plus eu personal nu mai stiu cum sa ies din while-urile pe care le am acolo care se opresc din executie in momentul in care strtok si fgets isi pierd obiectul muncii si imi returneaza NULL.
Titlul: Raspuns: 046 Text Scris de: Adrian Dobrescu din Aprilie 05, 2006, 22:40:42 Invalid m. ref. iti da cand ai vectorii prea mici si citesti intr-o
zona de memorie care nu exista.Asta cu siguranta Despre NULL nu stiu ce sa spun, dar nu stiu cum ai reusit sa umpli stiva: Incearca sa faci asta in main: daca ai un pointer *p : p=new char[100..0] si vezi daca merge... In rest algoritmul e simplu. Da' nu-stiu de ce va complicati sa cititi in tipuri structurate de date ca vectori,pointeri, etc si folosirea unor fct. ca strtok sau etc. Pt a cauta sau a accesa un element un element intr-un vector consuma foarte mult timp, mai ales daca e mare( In enunt nu-ti da lungimea unui rand). Pur si simplu citesti caracter cu caracter fara nici un vector sau altceva, cu complexitate liniara. Succes!!! :D Titlul: Raspuns: 046 Text Scris de: Valentin Bora din Aprilie 06, 2006, 10:08:09 ;)) okay, io am facut asa pt. ca imi facea cu ochiul strtok si pt. ca n-am mai folosit-o pana acum si pt. ca era mai elegant :D
Dar trecem la char-by-char :D Later edit: am facut char by char si mi-a iesit 90 puncte. La testul 9 am WA. Aveti vreo sugestie? si asa de curiozitate am debugged si aia cu strtok si mi-au iesit 70 de puncte. Titlul: Raspuns: 046 Text Scris de: Tabara Mihai din Decembrie 29, 2006, 05:47:30 Eu iau 60 pe problema asta si nu prea inteleg ce gresesc. :-s
In plus, cu evaluatorul asta nou, nici nu mai vad ce teste nu iau. Eu am facut asa: Cod: .... Iar apoi am facut asa: Cod: istringstream st; [Later edit] Am luat 100 cu algorimutl ala naiv.Totusi, as vrea sa stiu ce greseam aici.....daca stie cineva va rog sa imi spuneti :sad: Titlul: Raspuns: 046 Text Scris de: Andrei Grigorean din Decembrie 29, 2006, 18:11:47 poti sa vezi ce teste nu iei dand click pe punctaj dupa ce se termina evaluarea :ok:
Titlul: Raspuns: 046 Text Scris de: Tabara Mihai din Decembrie 29, 2006, 19:21:30 poti sa vezi ce teste nu iei dand click pe punctaj dupa ce se termina evaluarea :ok: NU e vorba de asta. :ok: Nu mergea evaluatorul...imi dadea ceva eroare ca nu gaseste link-ul catre monitorul care trebuia sa imi afiseze rezultatul.... Acuma am vazut.Iau WA pe 4 teste :-' Titlul: Observatie Scris de: Vladulescu Adrian din Ianuarie 10, 2007, 20:58:55 Fiti atenti la parcurgerea fisierului de intrare. Sa parcurgeti pana la sfarsitul fisierului nu pana la sfarsitul liniei. Eu am parcurs pana la sfarsitul liniei si am luat 40 de pct iar dupa aceea pana la sfarsitul fisierului si am luat 100 asa ca succes!!.
Titlul: Răspuns: 046 Text Scris de: Luca Eduard din Martie 02, 2007, 23:36:23 Imi spune si mie cineva cum pot citi caracter cu caracter, dar sa-mi citeasca si spatiile? Am incercat ceva de genul:
Cod: [...] Dar asa nu-mi citeste spatiile. Am incercat si cu fgets, dar asa nu mai e caracter cu caracter... Ma poate ajuta cineva? Multumesc! Titlul: Răspuns: 046 Text Scris de: Andrei Grigorean din Martie 02, 2007, 23:55:33 Poti sa citesti cu scanf("%c", &character) cat timp nu ai ajuns la sfarsitul fisierului.
Titlul: Răspuns: 046 Text Scris de: Valentin Stanciu din Martie 02, 2007, 23:56:10 fgetc citeste un caracter din stream.. indiferent daca e spatiu sau '\n' (new_line)
fgets citeste o linie din stream (citeste n-1 caractere sau pana da de '\n'; ce conditie se indeplineste prima) Deci daca vrei caracter cu caracter, incearca fgetc sau fscanf(in, "%c", &caracter); cu %s citesti cuvinte Titlul: Nelamurire Scris de: Emanuel Cinca din Martie 18, 2007, 22:44:11 Imi puteti spune dupa si inainte de care caractere sunt puse spatiu pentru ca nu pot da cu presupusul ca asa iau doar 30 puncte :sad:, iar algoritmul meu se bazeaza pe lucrul asta. Multumesc de ajutor!
Titlul: Răspuns: Nelamurire Scris de: Tabara Mihai din Martie 18, 2007, 23:00:27 Imi puteti spune dupa si inainte de care caractere sunt puse spatiu pentru ca nu pot da cu presupusul ca asa iau doar 30 puncte :sad:, iar algoritmul meu se bazeaza pe lucrul asta. Multumesc de ajutor! Poi daca ai facut cu separatori, pune toate caracterele care crezi ca ar putea aparea. "`~1234567890!{@#$%^&**()-}|":+?=><,./;'[]\" Oricum, in caz ca nu iti iese, merita sa faci cu algoritmul acela naiv din solutie ca nu scrii mai mult de 10 linii de cod in total. :thumbup: Titlul: Răspuns: 046 Text Scris de: Emanuel Cinca din Martie 19, 2007, 19:10:17 Mersi Mihai. Sper sa reusesc cu varianta asta. Daca nu, m-am mai gandit la una, dar nu vreau sa renunt la prima inca.
Titlul: Răspuns: 046 Text Scris de: Florian Marcu din Martie 26, 2007, 20:13:21 Problema in sine este foarte usoara. Este nevoie sa citesti cu fscanf(f,"%c",&character) si sa verifici daca este o litera (atentie: poate fi si mica si mare)....in rest de tinut contoarele e simplu.....e algoritm de cateva linii..am luat 100 :-'
Titlul: Răspuns: 046 Text Scris de: razyelx din Aprilie 01, 2007, 23:05:53 iau doar 90 de pct pe pb ... am WA la testul 9 care mapoate ajuta pls.. ](*,) nu mai stiu ce sa fac
Titlul: Răspuns: 046 Text Scris de: Pandia Gheorghe din Aprilie 01, 2007, 23:26:09 Incearca sa dai un test programului tau de forma:
" == lasa- a" fara ghilimele si fara nici un caracter (deci si fara ENTER) dupa ultimul "a". Cel mai probabil crapa sau da un rezultat gresit. De ex. daca citesti caractere din randul literelor fara sa si verifici sa nu fi ajuns la sf fisierului crapa. Sper ca am fost de folos. Multa bafta! :thumbup: Titlul: Răspuns: 046 Text Scris de: razyelx din Aprilie 02, 2007, 16:30:07 ms mult ai avut dreptate la aia nu m-amgandit. Sincer nu vrea sa fiu nepoliticos cu adminii dar mi se poate explica si mie cum de o propozitie nu se termina cu un semn de punctuatie si cu o litera... verificati testul 9 e cam ilogic. Inca o data sper sa nu fiu prea naspa...
Titlul: Răspuns: 046 Text Scris de: Adrian Diaconu din Aprilie 02, 2007, 17:05:34 Nu zicea nicaieri in enuntul problemei ca ar fi vorba de propozitii. Textul respectiv poate fi de exemplu mijlocul unei propozitii.
Titlul: Răspuns: 046 Text Scris de: razyelx din Aprilie 02, 2007, 17:31:16 corect ce ziceai tu ca nu o zis ca is propoziti... dar a zis ca e text... ma rog fie...
Titlul: Răspuns: 046 Text Scris de: Savin Tiberiu din Aprilie 02, 2007, 17:34:57 nu vad cu ce este afecteactat algoritmul tau dak textul este format sau nu din propozitii. Probabil sunt teste random, deci cuvintele sunt ceva de genu "aofu sodfh uisabbvdlfvb lav basdf" so :-'
Titlul: Răspuns: 046 Text Scris de: razyelx din Aprilie 02, 2007, 21:28:55 citeste mai atent postul lui Bluedrop_demon si o sa iti dai seama unde bat
Titlul: Răspuns: 046 Text Scris de: Bula Ionut din Decembrie 15, 2007, 14:10:20 poate nu voi primi nici un raspuns si poate ca nu e bine daca pun sursa pe forum...
totusi de curiozitate ce gresesc cand scriu asta Cod: #include<fstream> Titlul: Răspuns: 046 Text Scris de: HighScore din Decembrie 15, 2007, 14:34:23 alphanumeric contine si numeric nu doar alpha :P (adica are si 0...9)
Titlul: Răspuns: 046 Text Scris de: Bula Ionut din Decembrie 15, 2007, 14:36:11 isalnum() este pentru litere su cifre
isalpha() este pentru litere numai Titlul: Răspuns: 046 Text Scris de: HighScore din Decembrie 15, 2007, 14:42:35 Citat j<=' ' ce vrea sa insemne asta... j este de tip intOricum mi se pare ca te complici prea mult p-acolo tu treb sa aflii cate cuvinte sunt ("da-te" in cazul problemei sunt 2, la tine este considerat 1(f>>s iti citeste pana la spatiu)) Titlul: Răspuns: 046 Text Scris de: Bula Ionut din Decembrie 15, 2007, 15:06:02 ups!
da asa e cu j<=' ' oricum mergea pana la 255 dar am corectat asta inainte. in fine, am inteles gresit problema si am un caracter "-" ca un cuvant de asta la exemplul din enunt am numarat tot 11 cuvinte. de fapt "-" nu inseamna nimic ci separa un duvant in doua. "da-te" sunt 2 cuvinte ai sups. a fost o interpretare gresita. Titlul: Răspuns: 046 Text Scris de: Farcasanu Alexandru Ciprian din Ianuarie 11, 2008, 22:56:38 Am si eu o problema ......cand incerc sa rulez imi da eroare si zice ceva de genu cannot conver char to char * ....uitati fragmentul de sursa
Cod: while(!feof(f)); Titlul: Răspuns: 046 Text Scris de: Stefan Istrate din Ianuarie 11, 2008, 23:10:38 Ai grija sa pui ghilimele simple cand e vorba de caractere si ghilimele duble cand e vorba de siruri. In codul tau, inlocuieste "A" cu 'A' (si in mod similar pentru celelalte) si o sa mearga.
Titlul: Răspuns: 046 Text Scris de: Farcasanu Alexandru Ciprian din Ianuarie 11, 2008, 23:18:35 Merci mult a mers............dar acum cand ii dau rulare imi intra in ciclu infinit si nu se mai opreste...ai vreo idee de ce?
Titlul: Răspuns: 046 Text Scris de: Stefan Istrate din Ianuarie 11, 2008, 23:28:10 Vezi ca dupa while(!feof(f)) ai punct si virgula, deci nici nu se intra in blocul scris intre acolade. :) Scapa de el (de punct si virgula).
Titlul: Răspuns: 046 Text Scris de: Lazar Vlad din Ianuarie 28, 2008, 17:29:20 Ce ii gresit la programu asta?( iau 60 puncte); Daca citesc caracter cu caracter iau 100
Cod: #include <stdio.h> Titlul: Răspuns: 046 Text Scris de: Florian Marcu din Ianuarie 28, 2008, 19:03:29 Ce ii gresit la programu asta?( iau 60 puncte); Daca citesc caracter cu caracter iau 100 Cod: #include <stdio.h> Pai nu spune nicaieri ca textul se afla pe o singura linie. Probabil de astea iei doar 60. :) Titlul: Răspuns: 046 Text Scris de: Lazar Vlad din Ianuarie 28, 2008, 19:39:56 am luat pt. mai multe linii, am citit pe rand fiecare linie
Titlul: Răspuns: 046 Text Scris de: Florian Marcu din Ianuarie 28, 2008, 20:18:47 Aa.. scuze. Nu am vazut ca ce ai tu e intr`un while. Vezi ca s-ar putea sa fie de la faptul ca pe o linie sunt mai multe de 10.000 de caractere. Altceva nu prea vad... :ok:
Titlul: Răspuns: 046 Text Scris de: Sorin Rita din Februarie 05, 2008, 19:04:55 am o intrebare
ati tinut cont de cratima? eu am luat doar 40 puncte ](*,) am facut programul bazandu-ma ca un cuvant este o succesiune de litere,iar cand intalneste cratima sa imi considere doua cuvinte. Acum imi ia in calcul si linia de dialog si imi iese cu un cuvant mai mult :fighting: ce sa fac? LE: hmm 70 pct :-k stiti cum pot calcula partea intreaga a unui nr? Titlul: Răspuns: 046 Text Scris de: Gabriel Bitis din Februarie 05, 2008, 19:16:44 In exemplul din enuntul problemei sunt 11 cuvinte, inseamna ca "Lasa-ma" este luat ca doua cuvinte.
Titlul: Răspuns: 046 Text Scris de: Florian Marcu din Februarie 05, 2008, 19:22:56 LE: hmm 70 pct :-k stiti cum pot calcula partea intreaga a unui nr? Pai ca sa calculezi partea intreaga a catului impartirii lui a la b faci doar x = a/b. :-k Iar daca, cumva x e de tip real, faci y=(int)x, unde y e de tip int. Titlul: Răspuns: 046 Text Scris de: Sorin Rita din Februarie 05, 2008, 19:30:05 :'(
asa am facut si eu, dar am observat ca daca nu am nimic scris programul crapa, si probabil de acolo am WA. :-' ma intreb daca pot sa vad de la inceput daca-i gol fisierul din care citesc este gol si sa afisez 0 :-k Titlul: Răspuns: 046 Text Scris de: Florian Marcu din Februarie 05, 2008, 19:32:50 :'( asa am facut si eu, dar am observat ca daca nu am nimic scris programul crapa, si probabil de acolo am WA. :-' ma intreb daca pot sa vad de la inceput daca-i gol fisierul din care citesc este gol si sa afisez 0 :-k Pai..probabil ca imparti la 0, pt ca numarul de cuvine e 0, in caz ca fisierul e gol. Pune si tu o conditie sa ai nr de cuvine >=1. Daca nr de cuvinte = 0 atunci afisezi 0. Ma indoiesc insa ca e din cauza asta... Titlul: Răspuns: 046 Text Scris de: Sorin Rita din Februarie 05, 2008, 19:42:47 :'( asa am facut si eu, dar am observat ca daca nu am nimic scris programul crapa, si probabil de acolo am WA. :-' ma intreb daca pot sa vad de la inceput daca-i gol fisierul din care citesc este gol si sa afisez 0 :-k Pai..probabil ca imparti la 0, pt ca numarul de cuvine e 0, in caz ca fisierul e gol. Pune si tu o conditie sa ai nr de cuvine >=1. Daca nr de cuvinte = 0 atunci afisezi 0. Ma indoiesc insa ca e din cauza asta... dar tot am WA pe testele 2,5,8 nu stiu unde gresesc Titlul: Răspuns: 046 Text Scris de: hulparu adrian din Februarie 26, 2008, 11:31:03 Secventele numerice sunt considerate cuvinte??? Pentru ca iau WA pe testul 9 si nu stiu unde gresesc...
Titlul: Răspuns: 046 Text Scris de: Adrian Diaconu din Februarie 26, 2008, 12:00:53 Nu. Nu sunt considerate cuvinte.
Citat un cuvant fiind definit ca o secventa continua maximala de caractere ale alfabetului englez ('a' .. 'z' , 'A' .. 'Z'). Titlul: Răspuns: 046 Text Scris de: Stefan Gheorghe din Martie 08, 2008, 16:58:18 Vreau sa stiu si eu ceva..... la problema text ce am gresit de iau numai 70 pct????
Cod: var ct,S,d:longint; Titlul: Răspuns: 046 Text Scris de: Stefan Gheorghe din Martie 12, 2008, 22:28:17 Cine imi spune si mie unde gresesc deoarece imi ia WA pe testul 6 si 9
Am incercat toate posibilitatile, dar nimik :sad: Titlul: Răspuns: 046 Text Scris de: Bogdan-Alexandru Stoica din Martie 23, 2008, 17:15:45 problema e la
Cod: do{ok=0; programul tau cicleaza pentru ca nu verifici (bine) cand ajungi la sfarsitul fisierului. ca sa citesti dintr-un fisier pana la ultimul caracter foloseste acest cod. Cod: while (fin.get(c)) Titlul: Răspuns: 046 Text Scris de: Danci Emanuel Sebastian din Aprilie 03, 2008, 12:17:43 cifrele intra la separatori sau se iau ca si cuvinte?tot 40 de pct ...si nu inteleg unde e problema ](*,)
imi puteti da si mie testele 2,5 si 6?vreau sa vad ce nu merge si de ce nu merge... :'( Titlul: Răspuns: 046 Text Scris de: Toma Radu din Aprilie 03, 2008, 14:53:41 zalman : Ce metoda folosesti? Stiu ca luam 40 de puncte daca foloseam separatori si apoi am luat 100 dupa ce citeam fisierul caracter cu caracter si retineam doar numarul de cuvinte si lungimea totala a lor.
Titlul: Răspuns: 046 Text Scris de: Cosmin-Mihai Tutunaru din Aprilie 04, 2008, 15:37:21 Eu cred ca asta e cel mai simplu algoritm, insa nu inteleg de ce imi pica testul 7. Imi da wrong Answer!....Vedeti voi ceva gresit?, ca eu nu vad...
Cod: #include <fstream> Titlul: Răspuns: 046 Text Scris de: Cosmin-Mihai Tutunaru din Aprilie 04, 2008, 16:29:48 Sunt mult mai multe cazuri;)
Dar in enunt scrie negru pe alb: cuvantul are doar [a-z][A-Z]....deci iese din discuti eceasta problema;) Titlul: Răspuns: 046 Text Scris de: Herpesius din Aprilie 04, 2008, 16:36:25 :) , nu a fost cine ştie ce problema (ca grad de dificultate)... am folosit un cache , o funcţie şi câteva linii în main :P
in cache reţineam ultimul caracter introdus, cu ajutorul lui verificam dacă fac sau nu trecerea la un alt cuvânt nou.... Foarte frumoasă problema :D P.S.: nu mai folosiţi toate funcţiile pe care le întâlniţi , că unele din ele nu sunt eficiente (la concursuri) ... Încercaţi să vă feriţi când le întâlniţi. Titlul: Răspuns: 046 Text Scris de: Bogdan-Alexandru Stoica din Aprilie 04, 2008, 16:38:49 @marius: citeste cu atentie enuntul. "intr-o" sunt 2 cuvinte.
Citat "...un cuvant fiind definit ca o secventa continua maximala de caractere ale alfabetului englez ('a' .. 'z' , 'A' .. 'Z') @cosmin: Cod: in.getline(v,1050000,'EOF'); Titlul: Răspuns: 046 Text Scris de: Herpesius din Aprilie 04, 2008, 16:46:47 Mai am o întrebare...
Cum poţi să înveţi azi-noapte , toată ziua ? :rotfl: e prea tare fraza Citat - Lasa-ma in pace, ca am invatat azi noapte toata ziua! Titlul: Răspuns: 046 Text Scris de: Cosmin-Mihai Tutunaru din Aprilie 04, 2008, 16:53:30 @marius: citeste cu atentie enuntul. "intr-o" sunt 2 cuvinte. Multumesc:)Citat "...un cuvant fiind definit ca o secventa continua maximala de caractere ale alfabetului englez ('a' .. 'z' , 'A' .. 'Z') @cosmin: Cod: in.getline(v,1050000,'EOF'); Nu stiam ca '\0' este pana la sfarsitul fisierului:) Multumesc inca o data...am mai invatat ceva;)) Titlul: Răspuns: 046 Text Scris de: Bogdan-Alexandru Stoica din Aprilie 04, 2008, 17:52:07 Nu stiam ca '\0' este pana la sfarsitul fisierului:) Multumesc inca o data...am mai invatat ceva;)) cred ca m-am exprimat eu prost. EOF este end of file, dar tu ai scris 'EOF'. intre ' ' se pune un sigur caracter in c/c++. iei 100 si daca scrii Cod: in.getline(v,1050000,EOF); '\0' marcheaza sfarsitul unui sir de caractere. daca scrii codul urmator Cod: char s[10]; am zis sa folosesti '\0' pt ca este un caracter care nu apare niciodata in fisier. imi cer scuze ca te-am bulversat :oops: Titlul: Răspuns: 046 Text Scris de: Adrian Diaconu din Aprilie 04, 2008, 19:48:17 '\0' marcheaza sfarsitul unui sir de caractere. daca scrii codul urmator Cod: char s[10]; Nu cred ca este neaparat '\0', continutul vectorilor este initalizat aleator daca sunt variabile locale. Titlul: Răspuns: 046 Text Scris de: Andrei Grigorean din Aprilie 04, 2008, 20:01:43 lol cat de usoara era pr asta si eu mam chinuit ptr 100 dar acu miai dat seama ca era foarte usoara ... am intrebato si pe profa de roamana care cuvinte despartite in silabe sunt considerate doua =)) lol :rotfl: si nici nu trebuia mia facut profa mea o lista cu toate cuvintele despartite cu - care sunt considerate ca doua =)) si acu vad ca era foarte usoara prima oara asa am facuto dar citeam cu stream-uri si de aia luam doar 40 acu vad ce usoara era si eu mam chinuit ca un prost =)) Ce ar fi sa scrii corect? Forumul infoarena nu este yahoo messenger [-X Titlul: Răspuns: 046 Text Scris de: Bogdan-Alexandru Stoica din Aprilie 04, 2008, 20:46:49 [...] Eu de obicei nu prea citesc enunturile dar stiu ca am incercat si asa si nu luam 100 nu este o atitudine corecta. daca vrei sa ajungi la ONI anul viitor, ar trebui sa citesti pana la ultima virgula. si un sfat offtopic... n-ar strica sa nu te mai grabesti si sa scrii mai ingrijit. :thumbup: Titlul: Răspuns: 046 Text Scris de: Anonim din Aprilie 05, 2008, 12:01:50 Am inteles !! Mersi pentru sfaturi .
Titlul: Răspuns: 046 Text Scris de: Vlad Schnakovszki din Decembrie 28, 2008, 17:12:49 Imi poate spune cineva cum pot optimiza programu asta ? Ca pe 3 teste iau TLE ](*,)
Cod: #include <stdio.h> Titlul: Răspuns: 046 Text Scris de: Popescu Marius din Decembrie 28, 2008, 17:46:24 Daca schimbi citirea iei sigur 100 de puncte .
Uite cum am citit eu : Cod: x=fgetc(stdin); Eu am facut problema mai de mult dar am trimis sursa ta din nou cu citirea asta sa fiu sigur ca nu iti spun prostii. Titlul: Răspuns: 046 Text Scris de: Emanuel Cinca din Decembrie 28, 2008, 19:06:28 eu am citit cu streamuri si tot a intrat :-k
scapa de while-uri... pastreaza-l doar pe cel pana la sfarsitul fisierului, si in blocul respectiv foloseste doar if-uri... nu are rost sa postez partea aceea de cod ca ar fii toata rezolvarea la problema... :peacefingers: LE: @marius: cum ai trimis tu sursa lui cand a ta are 0.90 kb si a lui 0.40? :rotfl: Titlul: Răspuns: 046 Text Scris de: Popescu Marius din Decembrie 28, 2008, 20:55:40 Sursa mea are 0.90 kb pentru ca in sursa sunt doua variante:
1. E varianta asta a lui numai ca i-am schimbat citirea 2. Este problema cu care am luat eu 100 de p si am rezolvat-o mai de mult numai ca am pus-o in comentariu . Am trimis-o si fara comentariu sa vezi ca are 0.40 si ca nu mint . :weightlift: Titlul: Răspuns: 046 Text Scris de: Vlad Schnakovszki din Decembrie 29, 2008, 11:35:53 Ambele variante dau 100 de puncte :) Ms mult :winner1:
Titlul: Răspuns: 046 Text Scris de: DarkMan din Martie 17, 2009, 11:04:36 Daca citesti problema atent iei 100... trebuie sa afisezi nr intreg ci nu cu zecimale
Titlul: Răspuns: 046 Text Scris de: Alexandru-Iancu Caragicu din Martie 29, 2009, 14:50:40 Daca in problema scrie ca pe prima linie se citeste textul, de ce se intinde textul si pe liniile urmatoare. N-ar trebui modificat enuntul in "incepand cu prima linie"? :angry:
Am luat 40 puncte cand citeam doar prima linie si 100 cand am citit toate liniile. :eyebrow: Titlul: Răspuns: 046 Text Scris de: Chibici Tiberiu din Martie 31, 2009, 11:18:22 pt o sursa de genul: #include <fstream.h> #include <string.h> ifstream fin("text.in"); ofstream fout("text.out"); unsigned long nrc,nrl,medie; int ok; char c; int main() { fout<<3; return 0; } primesc eroarea de compilare: /usr/lib/gcc-lib/i486-linux/3.3.5/../../../crt1.o(.text+0x18): In function `_start': ../sysdeps/i386/elf/start.S:98: undefined reference to `main' collect2: ld returned 1 exit status :-k Trebuie sa pui #include<fstream> in loc de #include<fstream.h> si dupa #include pui 'using namespace std;'. GCC nu e la fel ca Borland C. Titlul: Răspuns: 046 Text Scris de: Gabriel Bitis din Martie 31, 2009, 18:24:08 pt o sursa de genul: #include <fstream.h> #include <string.h> ifstream fin("text.in"); ofstream fout("text.out"); unsigned long nrc,nrl,medie; int ok; char c; int main() { fout<<3; return 0; } primesc eroarea de compilare: /usr/lib/gcc-lib/i486-linux/3.3.5/../../../crt1.o(.text+0x18): In function `_start': ../sysdeps/i386/elf/start.S:98: undefined reference to `main' collect2: ld returned 1 exit status :-k Trebuie sa pui #include<fstream> in loc de #include<fstream.h> si dupa #include pui 'using namespace std;'. GCC nu e la fel ca Borland C. Trimite'i si un mail ca i'ai raspuns, sa citeasca si u-92. Probabil si'a pierdut toate sperantele ca il va lamuri cineva. :thumbup: Titlul: Răspuns: 046 Text Scris de: George Popoiu din Mai 01, 2009, 15:44:45 Nu inteleg, se considera si numerele cuvinte?
ex: Mi-am luat 1 kg de cirese. Voi cum ati facut? Daca iau numa caracterele a,...,z si A,....,Z primesc doar 40 pct. Iau WA la 5 teste si Killed by signal 8(SIGFPE) la 1. Ma puteti ajuta? Titlul: Răspuns: 046 Text Scris de: Antoche Ioana Alexandra din Mai 14, 2009, 13:01:20 Eu am citit initial s[i-1] si s, i={1,...scanf()!=EOF} si am verificat daca s[i-1]==litera=> ++litera; iar daca s!= litara =>++cuvant;
Am luat separat s[n]==0 s[n-1] ultimul caracter din sir:daca s[n-1]==litera atunci ++litera; si daca e litera verificam caracterul s[n-2] si dak nu era litera ++cuvant; daca s=("...aaa...a") fara " ", nu imi da corect... Unde gresesc? :( Titlul: Răspuns: 046 Text Scris de: Andrici Cezar din Mai 14, 2009, 14:09:16 Trebuie sa faci test la final deoarece el nu citeste si enterul;) si trebuie sa ai grija ca daca e "alex alex" tie o sa iti zica ca e un singur cuvant si trebuie sa pui "if (s[n]==litera) ++cuvant;" asta o pui fix dupa ce ai iesit din while;) sau e alta problema?
Titlul: Răspuns: 046 Text Scris de: A Cosmina - vechi din Iulie 23, 2009, 18:29:57 Cod: len <- 0 It works perfect, thanks a lot guy ! :ok: Titlul: Răspuns: 046 Text Scris de: Petrican Teodor din August 14, 2009, 13:42:22 70 de puncte... Nu-mi dau seama deloc unde gresesc. Fac citirea caracter cu caracter si daca intalneste cumva un caracter care nu e litera imi creste numarul de cuvinte. Intra si cazul cand e un cuvant la EOF (adica nu mai sunt caractere dupa ultimul cuvant). Am verificat si cazul cu spatii inainte de primul cuvant, fara caractere dupa ultimul cuvant, imi dau ok. De asemenea, citesc de pe mai multe linii. Cand verific, verific de la 'a' la 'z' si de la 'A' la 'Z', deci nu iau caracterele dintre 'z' si 'A'. Dar... Cand il pun sus... 70 de puncte ](*,)
O singura chestie... daca am spre exemplu b54a mie imi ia b ca un cuvant si a ca un cuvant. Ar putea fi problema de aici? Desi ma indoiesc dinn moment ce in enunt e specificat limpede ca un cuvant e o insiruire de caractere ale alfabetului englez. Totusi... care ar putea fi problema? Ma poate lamuri si pe mine cineva? :) L.E.: Nevermind, am luat 100 =D> Titlul: Răspuns: 046 Text Scris de: Paul-Dan Baltescu din August 14, 2009, 22:01:23 Fiecare problema se discuta pe propriul ei topic.
Titlul: Răspuns: 046 Text Scris de: Dogaru Beniamin din Noiembrie 24, 2009, 20:49:26 Mie imi da numai 40 de pct si nu stiu unde ar fi problema, probabil e o prb la numararea cuvintelor.Care sunt cazurile in care se trece la un cuvant nou in afara de spatiu si "-"? poate ma ajuta si pe mn cineva
Titlul: Răspuns: 046 Text Scris de: Cristian Zloteanu din Noiembrie 27, 2009, 17:27:54 imi da 90 de puncte. la testul noua e WA. aveti vreo sugestie?
Titlul: Răspuns: 046 Text Scris de: Teodor Plop din Decembrie 12, 2009, 21:11:05 am folosit algoritmul
Cod: len <- 0 doar ca am citit mai intai cu gets apoi am parcurs sirul. iau 40 puncte,5 wrong si 1 tle:(. ma puteti ajuta cu ceva?:D PS:cu fgets iau 5 wrong si 1 killed by signal:)) [editat de moderator] nu mai posta consecutiv, mai bine foloseste butonul "modifica"; de asemenea, incearca sa folosesti tag-ul "code" si cand postezi pseudocod, e mai lizibil... Titlul: Răspuns: 046 Text Scris de: Simoiu Robert din Ianuarie 22, 2010, 16:06:27 Pai nu e bun algoritmul: tu trebuie cu acel k sa vezi daca ai un cuvant: daca ai acel cuvant ii dai lui b sa zicem valoarea 1 si lui k=0. Apoi pe a il incrementezi daca k=1, adica inca nu a ajuns la un cuvant, ci doar litere. Iar aici
Cod: daca k=0 Titlul: Răspuns: 046 Text Scris de: Vlad Tarniceru din Februarie 05, 2010, 20:12:38 40 de puncte :)
Cod: #include<fstream.h> Titlul: Răspuns: 046 Text Scris de: laurentiu pavel din Martie 25, 2010, 22:09:02 ce e asa de deosebit la testul 9 de iau TLE?
Titlul: Răspuns: 046 Text Scris de: Vlad Tarniceru din Martie 28, 2010, 14:03:52 am luat 100... trebuie citit caracter cu caracter pentru ca nu sti cat de mare e vectorul(spune ca dim e de maxim 1MB dar trebuie sa sti sa-l masori)
in rest algoritmul cosminei e de fapt: while(c!=EOF){ c=f.get(); if(litera(c)){ ++lit; if(x==0){ ++cuv; x=1; } } else x=0; } Titlul: Răspuns: 046 Text Scris de: Halalai Tudor Andrei din Mai 05, 2010, 18:50:02 Am si eu o intrebare tehnica:
Ce inseamna "Killed by signal 11(SIGSEGV)."?!?!?! ](*,) Titlul: Răspuns: 046 Text Scris de: alexandru din Mai 05, 2010, 19:34:51 Am si eu o intrebare tehnica: Accesezi ilegal o zona de memorie ( e.g incerci sa accesezi v[100] sau v[-100] cand vectorul are maxim 20 de elemente ). http://infoarena.ro/documentatie/evaluator Ce inseamna "Killed by signal 11(SIGSEGV)."?!?!?! ](*,) Titlul: Răspuns: 046 Text Scris de: Halalai Tudor Andrei din Septembrie 07, 2010, 09:09:59 am trimis o sursa si la 3 teste mi-a dat
Citat Killed by signal 8(SIGFPE). ma poate ajuta cinevaTitlul: Răspuns: 046 Text Scris de: Vlad Tarniceru din Septembrie 07, 2010, 10:35:33 pai poate fi asa:
1. ai impartit un numar la 0 (impartirea la 0 nu are sens) 2. ai declarat un vector prea mare (de exemplu v[1.000.000.000] si nu intra in memorie) 3. ai luat o variabila locala si nu ai initializat-o (de exemplu: long long a; int b; b=a;//exista sansa ca a sa fie initializat la inceput cu un numar foarte mare, care depaseste intul (de 15 cifre sa zicem), asa ca ori le initializezi, ori le pui globale (globale adica inainte de "int main ()" ) cam astea ar fi motivele principale ... succes ! :peacefingers: Titlul: Răspuns: 046 Text Scris de: Halalai Tudor Andrei din Septembrie 08, 2010, 08:07:28 merci...nu intlegeam mesajul
Titlul: Răspuns: 046 Text Scris de: Halalai Tudor Andrei din Septembrie 08, 2010, 08:41:12 ce inseamna ca fisierul poate contine shi simboluri?
adik */-+!@#$%^&*()_+-={}[]::"|<<?>?,./;'\ ???? nu a inteles Titlul: Răspuns: 046 Text Scris de: Simoiu Robert din Septembrie 08, 2010, 08:48:23 Adica daca pui numele unui fisier : porumbel@suma+diferenta.cpp ( sa zicem ) , nu te lasa pentru ca contine simboluri care nu sunt admise.
Titlul: Răspuns: 046 Text Scris de: Halalai Tudor Andrei din Septembrie 08, 2010, 09:02:32 Nu numele fisierului ci in fisier
text.in bla bla @blablabla+blablabla^bla7 nu nume ci ca si continut Titlul: Răspuns: 046 Text Scris de: Simoiu Robert din Septembrie 08, 2010, 09:07:56 The same thing . :ok:
Titlul: Răspuns: 046 Text Scris de: Oancea Catalin din Decembrie 26, 2010, 00:56:06 Cod: #include<fstream> Cand citesc un nou l nu imi dau seama cand e spatiu... defapt daca in fisier am : Cod: fag pin molid imi afiseaza Cod: 11 deoarece sare spatiile . Cum pot sa remediez asta? :-k Titlul: tesul xxx Scris de: pasat cristian din Ianuarie 12, 2011, 11:29:17 :-' ia vedeti ce se intampla daca propozitia se gata cu o litera 8)
Later edit : pardon, sirul de caractere :rotfl: Editat de moderator : Nu posta de mai multe ori consecutiv. Editeaza-ti posturile anterioare. Titlul: Răspuns: 046 Text Scris de: Cristian Lambru din Februarie 19, 2011, 13:48:11 Sirul, propozitia, linia, daca citesti caracter cu caracter, se termina cu '\n' la sfarsit deci n-ai nicio sansa :) !
Nota : In C ! Titlul: Răspuns: 046 Text Scris de: Silasi Alex din Martie 08, 2011, 10:32:50 #include<iostream.h>
void med(); int main() { med(); return 0; } void med() { char a[256]; int n,i,k=0,l=0; cin.get(a,256); n=strlen(a); for(i=0;i<n;i++) if(a==' ' && a[i-1]!=a) k++; for(i=0;i<n;i++) if(a!=' ') l++; cout<<l/k; } Titlul: Răspuns: 046 Text Scris de: Alexandru Meterez din Martie 27, 2011, 09:58:29 Imi spuneti si mie, va rog, de ce solutia asta nu merge ??? ?
Cod: #include <iostream> Titlul: Răspuns: 046 Text Scris de: Alex Velea din Iunie 11, 2011, 19:45:05 fiserul nu e "date.in" si "date.out" :rotfl:
Titlul: Răspuns: 046 Text Scris de: Simoiu Robert din Iunie 11, 2011, 21:34:31 Daca te-ai uita, la surse trimise Alexandru Meterez a pus bine numele fiserelor :P.
Titlul: Răspuns: 046 Text Scris de: UBB Bora Dan din Februarie 11, 2012, 14:16:36 Am facut problema; si merge struna la mn... si cand o pun- eroare de compilare-->
Eroare de compilare: user.cpp: In function ‘int main()’: user.cpp:11: error: ‘strlen’ was not declared in this scope care-i faza? :x :thumbdown: :-k Titlul: Răspuns: 046 Text Scris de: Simoiu Robert din Februarie 11, 2012, 14:31:41 Strlen este o functie prestabilita care este localizata in headerul cstring. Adica daca ai adauga # include <cstring> ar trebui sa mearga ;).
Titlul: Răspuns: 046 Text Scris de: marin alexandru din Martie 01, 2012, 20:17:27 Cod: imi poate spune cineva de ce pe o solutie ca asta iau TLE ? Editat de admin: Foloseste tagul "code" cand postezi surse. Titlul: Răspuns: 046 Text Scris de: George Marcus din Martie 01, 2012, 20:34:59 Fiindca e ineficienta :)
Incearca sa citesti textul pe bucati. Titlul: Răspuns: 046 Text Scris de: Petenchea Alexandru din Aprilie 12, 2012, 09:46:23 Am facut in C++ citirea fara buffer, apoi am parcurs ce am citit. E mai eficient asa cand ai foarte mult de citit :peacefingers:
Titlul: Răspuns: 046 Text Scris de: vatavu oana din Aprilie 26, 2012, 22:27:03 Pentru problema "Text":
Solutia mea: Cod: #include<fstream> Editat de moderator: Foloseste tagul [ code ] cand postezi cod. Titlul: Răspuns: 046 Text Scris de: Boaca Cosmin din Aprilie 26, 2012, 23:17:10 O prima greseala este ca citesti doar 100 de caractere iar inputul poate avea undeva la 1.000.000 de caractere . Declara vectorul mai mare si mareste numarul de caractere citite .
Titlul: Răspuns: 046 Text Scris de: Mihai Calancea din Aprilie 26, 2012, 23:24:09 Si fisierele sunt gresite.
Titlul: Răspuns: 046 Text Scris de: FMI Alexandru Banu din Martie 23, 2013, 17:25:55 Intrebare... Textul poate avea si alineate? Adica trebuie sa iau in considerare si new line? Eu unul opresc executia cand dau de caracterul new line.
Titlul: Răspuns: 046 Text Scris de: Radu-Andrei Szasz din Martie 23, 2013, 18:42:42 "Pe prima linie a fisierului de intrare text.in se gaseste textul dat."
Totul este pe o linie in fisierul de intrare. Titlul: Răspuns: 046 Text Scris de: agent47 din Octombrie 26, 2013, 20:11:29 Salut tocmai am facut problema dar imi spune ca nu este buna.Vedeti careva vreo greseala ?
#include <iostream> #include <fstream> #include <string> using namespace std; int main() {ifstream f("text.in"); ofstream g("text.out"); char s[256]; unsigned i,n=0,m=0,k; f.get(s,256); for(i=0;i<strlen(s);i++) {if(s<='z' && 'a'<=s || 'A'<=s && s<='Z') n=n+1; if(s==' ') m=m+1; if(s=='-') if((s[i-1]<='z'&& 'a'<=s[i-1] || 'A'<=s[i-1] && 'Z'<=s[i-1])&&(s[i+1]<='z'&& 'a'<=s[i+1] || 'A'<=s[i+1] && 'Z'<=s[i+1])) m=m+1;} k=(int)n/m; g<<k;} Titlul: Răspuns: 046 Text Scris de: George Marcus din Octombrie 27, 2013, 09:55:28 Ai eroare de compilare. Ai nevoie de <string.h>.
Titlul: Răspuns: 046 Text Scris de: Strimbu Alexandru din Noiembrie 01, 2013, 22:36:24 De ce nu merge sa citesc tot sirul inainte si apoi sa-l parcurg?
Acesta este codul: Cod: #include <iostream> Multumesc anticipat. Titlul: Răspuns: 046 Text Scris de: Paulica din Noiembrie 06, 2013, 13:16:48 De ce nu merge sa citesc tot sirul inainte si apoi sa-l parcurg? Acesta este codul: Cod: #include <iostream> Multumesc anticipat. Pentru ca pui in vectorul a linia 1100000. http://www.dreamincode.net/forums/topic/127452-converting-ifstream-to-char-array/ Dar nu fa asa, e foarte aiurea, si ineficient :p Rezolvarea mea (100 p) Cod: #include <iostream> Titlul: Răspuns: 046 Text Scris de: Gherghita David din Decembrie 22, 2013, 16:33:18 Va rog... nu inteleg de ce nu functioneaza sursa asta... Uita-ti fragmentul din sursa:
n - nr de cuvinte l - nr de litere Cod: getline(infile, str); M-am gandit ca daca caracterul e litera, atunci adauga 1 la litere. Si daca urmatorul caracter nu mai e litera, atunci inseamna ca s-a termiant cuvantul, deci adauga 1 la cuvinte. Un exemplu de propozitie care nu o face corect v-as ruga sa imi dati... Titlul: Răspuns: 046 Text Scris de: George Marcus din Decembrie 22, 2013, 22:12:06 Ar fi bine sa declari stringul global. (cred ca asa scapi de KBS)
Titlul: Răspuns: 046 Text Scris de: Ciprian O. din Mai 07, 2014, 22:18:53 Buna! Ma puteti ajuta, va rog? :) Omit ceva, sau am gresit ceva, pentru ca nu pot lua punctaj maxim. Mi-ati putea da, va rog, un indiciu ? :D
int main() { while(fin.get(s,2)) { if((s>='a'&&s<='z')||(s>='A'&&s<='Z')) //verifica daca e litera {litere++; sw=1;} else if(sw==1) {cuvinte++; sw=0;} //verifica daca e cuvant } if(sw==1) cuvinte++; fout<<litere/cuvinte; return 0; } Titlul: Răspuns: 046 Text Scris de: fabbbyyy din Mai 01, 2015, 22:11:22 Salut!
Ma puteti ajuta va rog? Nu stiu de ce primesc WA la 3 teste (printre care si primul) Ideea mea este relativ simpla, citesc caracter cu caracter, daca gasesc o litera si inainte era simbol am gasit un cuvant nou, daca nu, creste doar nr de litere. Codul este urmatorul Cod: #include <fstream> LE: Acum ca ma gandesc, cred ca problema e ca textul poate fi pe mai multe linii si programul meu se opreste la primul rand. In acest sens problema poate fi rezolvata cu stream si citit caracter cu caracter, sau trebuie cu get sa memorez toate caracterele intr-un char[] ? Titlul: Răspuns: 046 Text Scris de: Raul Gavris din Octombrie 25, 2015, 10:16:37 salut :D de ce imi arata "in asteptare" la evaluator?deja de ieri
Titlul: Răspuns: 046 Text Scris de: Negulescu Anca-Mihaela din Noiembrie 20, 2015, 14:38:07 Pot vedea undeva testele? Am incercat sa numar cuvintele fara sa ma folosesc de functii precum isspace etc, si ar trebui dpdv logic sa mearga, dar imi da wrong answers si killed by signals. Multumesc.
Titlul: Răspuns: 046 Text Scris de: Vlad Rochian din August 09, 2016, 10:33:45 http://www.infoarena.ro/job_detail/1739323 (http://www.infoarena.ro/job_detail/1739323)
Cel puțin un test are format greșit. Titlul: Răspuns: 046 Text Scris de: Bogdan Pop din Noiembrie 24, 2016, 21:46:49 Mi se pare ca e ceva ciudat.
Am trecut de la 40 la 100 inlocuind Cod: getline(f,s) Cod: while(getline (f,s)) |