•miculprogramator
|
 |
« Răspunde #100 : Iulie 23, 2009, 18:29:57 » |
|
len <- 0 cuv <- 0 k <- 0
cat timp se citeste un caracter din fisier daca s-a citit o LITERA len <- len+1 daca k=0 cuv <- cuv+1 k <- 1 altfel k <- 0 sfarsit cat timp; sol <- len/cuv It works perfect, thanks a lot guy ! 
|
|
|
Memorat
|
|
|
|
•doruletz
Strain
Karma: 1
Deconectat
Mesaje: 5
|
 |
« Răspunde #101 : 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 
|
|
« Ultima modificare: August 22, 2009, 13:23:16 de către Petrican Teodor »
|
Memorat
|
|
|
|
•pauldb
|
 |
« Răspunde #102 : August 14, 2009, 22:01:23 » |
|
Fiecare problema se discuta pe propriul ei topic.
|
|
|
Memorat
|
Am zis 
|
|
|
•benny
Strain
Karma: 0
Deconectat
Mesaje: 8
|
 |
« Răspunde #103 : 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
|
|
|
Memorat
|
|
|
|
•cristian9
Strain
Karma: 2
Deconectat
Mesaje: 4
|
 |
« Răspunde #104 : Noiembrie 27, 2009, 17:27:54 » |
|
imi da 90 de puncte. la testul noua e WA. aveti vreo sugestie?
|
|
« Ultima modificare: Noiembrie 27, 2009, 18:09:10 de către Cristian Zloteanu »
|
Memorat
|
|
|
|
•Teodor94
|
 |
« Răspunde #105 : Decembrie 12, 2009, 21:11:05 » |
|
am folosit algoritmul len <- 0 cuv <- 0 k <- 0
cat timp se citeste un caracter din fisier daca s-a citit o LITERA len <- len+1 daca k=0 cuv <- cuv+1 k <- 1 altfel k <- 0 sfarsit cat timp; sol <- len/cuv 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?  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...
|
|
« Ultima modificare: Decembrie 12, 2009, 21:14:05 de către Sima Cotizo »
|
Memorat
|
|
|
|
•SpiderMan
|
 |
« Răspunde #106 : 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 daca k=0 cuv <- cuv+1 k <- 1 altfel k <- 0 trebuie k<-1 in daca, cu sfarsit si inceput, nu in afara lui.
|
|
|
Memorat
|
|
|
|
•vladtarniceru
|
 |
« Răspunde #107 : Februarie 05, 2010, 20:12:38 » |
|
40 de puncte  #include<fstream.h> #include<string.h> ifstream f("text.in"); ofstream g("text.out"); int litera(char a){ if((a>='a' && a<='z') || (a>='A' && a<='Z')) return 1; return 0; } int bun(char a,char b){ if(litera(a) && b=='-') return 1; return 0; } int main(){ char a[10001]; int cuv=0,nr=0,l,i,len,k; f.getline(a,2000); l=strlen(a); i=0; while(i<l){ if(litera(a[i])) nr++; i++; } i=0; while(litera(a[i])==0) i++;//cat timp exista spatii la inceput le elimini while(i<l){ while(litera(a[i])) i++; if(litera(a[i-1]) || litera(a[i+1])) cuv++; while(!litera(a[i])) i++; } g<<nr/cuv; g.close(); return 0; }
|
|
|
Memorat
|
|
|
|
•laurentt
Strain
Karma: 3
Deconectat
Mesaje: 7
|
 |
« Răspunde #108 : Martie 25, 2010, 22:09:02 » |
|
ce e asa de deosebit la testul 9 de iau TLE?
|
|
|
Memorat
|
|
|
|
•vladtarniceru
|
 |
« Răspunde #109 : 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; }
|
|
|
Memorat
|
|
|
|
•deiosx
Strain
Karma: -9
Deconectat
Mesaje: 28
|
 |
« Răspunde #110 : Mai 05, 2010, 18:50:02 » |
|
Am si eu o intrebare tehnica: Ce inseamna "Killed by signal 11(SIGSEGV)."?!?!?! 
|
|
|
Memorat
|
|
|
|
•alexandru92
|
 |
« Răspunde #111 : Mai 05, 2010, 19:34:51 » |
|
Am si eu o intrebare tehnica: Ce inseamna "Killed by signal 11(SIGSEGV)."?!?!?!  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
|
|
|
Memorat
|
|
|
|
•deiosx
Strain
Karma: -9
Deconectat
Mesaje: 28
|
 |
« Răspunde #112 : Septembrie 07, 2010, 09:09:59 » |
|
am trimis o sursa si la 3 teste mi-a dat Killed by signal 8(SIGFPE). ma poate ajuta cineva
|
|
|
Memorat
|
|
|
|
•vladtarniceru
|
 |
« Răspunde #113 : 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 ! 
|
|
|
Memorat
|
|
|
|
•deiosx
Strain
Karma: -9
Deconectat
Mesaje: 28
|
 |
« Răspunde #114 : Septembrie 08, 2010, 08:07:28 » |
|
merci...nu intlegeam mesajul
|
|
|
Memorat
|
|
|
|
•deiosx
Strain
Karma: -9
Deconectat
Mesaje: 28
|
 |
« Răspunde #115 : Septembrie 08, 2010, 08:41:12 » |
|
ce inseamna ca fisierul poate contine shi simboluri? adik */-+!@#$%^&*()_+-={}[]::"|<<?>?,./;'\  ? nu a inteles
|
|
|
Memorat
|
|
|
|
•SpiderMan
|
 |
« Răspunde #116 : 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.
|
|
|
Memorat
|
|
|
|
•deiosx
Strain
Karma: -9
Deconectat
Mesaje: 28
|
 |
« Răspunde #117 : 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
|
|
|
Memorat
|
|
|
|
•SpiderMan
|
 |
« Răspunde #118 : Septembrie 08, 2010, 09:07:56 » |
|
The same thing . 
|
|
|
Memorat
|
|
|
|
•Oancea.Catalin
Client obisnuit

Karma: -3
Deconectat
Mesaje: 75
|
 |
« Răspunde #119 : Decembrie 26, 2010, 00:56:06 » |
|
#include<fstream> using namespace std; fstream f("text.in", ios::in), g("text.out", ios::out); short stie; int nrlit, cuv; char l; int main() {
stie=0; nrlit=0; cuv=1; while(f>>l) { if( (l>='A' &&l<='Z')||(l>='a' && l<='z') ) // verifica daca l este litera { nrlit++; stie=1; // exista un cuvat ( deoarece contine litera) } else // daca nu e litera { if(stie==1) // si stie ca deja a avut un cuvant in fata cuv++;//numara cuvantul stie=0;// si "stie" se reseteaza } } g<<nrlit/cuv; f.close(); g.close(); return 0; } Cand citesc un nou l nu imi dau seama cand e spatiu... defapt daca in fisier am : imi afiseaza deoarece sare spatiile . Cum pot sa remediez asta? 
|
|
|
Memorat
|
|
|
|
•nahsuc
Strain
Karma: 0
Deconectat
Mesaje: 1
|
 |
« Răspunde #120 : Ianuarie 12, 2011, 11:29:17 » |
|
 ia vedeti ce se intampla daca propozitia se gata cu o litera Later edit : pardon, sirul de caractere Editat de moderator : Nu posta de mai multe ori consecutiv. Editeaza-ti posturile anterioare.
|
|
« Ultima modificare: Ianuarie 12, 2011, 16:12:26 de către Gabriel Bitis »
|
Memorat
|
|
|
|
•maritim
|
 |
« Răspunde #121 : 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 !
|
|
|
Memorat
|
|
|
|
•alex94
Strain
Karma: 0
Deconectat
Mesaje: 3
|
 |
« Răspunde #122 : 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; }
|
|
|
Memorat
|
|
|
|
•alexutzu29
Strain
Karma: -1
Deconectat
Mesaje: 3
|
 |
« Răspunde #123 : Martie 27, 2011, 09:58:29 » |
|
Imi spuneti si mie, va rog, de ce solutia asta nu merge  ? #include <iostream> #include <fstream> #include <string> using namespace std; ifstream fin("date.in"); ofstream fout("date.out"); int main() { char a; int n=0,c=0; int ok=0; while(fin>>a && !fin.eof()) if((a>='a' && a<='z') || (a>='A' && a<='Z')) {
n++; if(ok==0) c++; ok=1; } else ok=0;
fout<<n/c; fin.close(); fout.close(); return 0; } 
|
|
|
Memorat
|
|
|
|
•veleandu
|
 |
« Răspunde #124 : Iunie 11, 2011, 19:45:05 » |
|
fiserul nu e "date.in" si "date.out" 
|
|
|
Memorat
|
|
|
|
|