Afişează mesaje
|
Pagini: [1]
|
3
|
Comunitate - feedback, proiecte si distractie / Feedback infoarena / dificultate probleme
|
: Mai 04, 2008, 21:09:43
|
Cred ca ar trebui ca la arhiva de probleme, in dreptul fiecarei problema sa fie prezentat gradul de dificultate, in procente. Cei ce au rezolvat problema au voie sa voteze cat de dificila a fost (de la 10% pana la 100%, din 10 in 10), modificand astfel gradul de dificultate obtinut ca medie al voturilor, adica cel precizat langa numele problemei alaturi de autor etc... Sper ca m-am facut inteles.
Mersi anticipat.
|
|
|
4
|
infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: am si eu o problema...... :D
|
: Martie 18, 2008, 20:44:41
|
sunt in clasa a IX-a si fac C++. am rezolvat destule probleme de pe infoarena.ro , si la toate am aceeasi problema - depasesc limita de timp. V-as fi foarte recunoscator daca mi-ati da niste sfaturi, cum sa fac algoritmii mai eficienti.  in primul rand nu trece direct la partea de implementare, stai intai si gandeste bine problema, incearca sa optii un timp de executie logaritmic sau cat mai aproape. Totul pleaca de la algoritmii fundamentali. Daca folosesti bubble sort ca sa sortezi un vector de cateva sute de mi de elemente nu o sa te incadrezi in timp cam niciodata. Asa ca invata algoritmi fundamentali cat mai eficienti (spre exemplu qsort pentru sortare) si o sa observi diferenta. mult succes.
|
|
|
6
|
infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: cmmmc pentru n numere
|
: Martie 17, 2008, 19:59:30
|
uitati aici un cod: #include <iostream.h> #include <conio.h>
int cmmdc(int a, int b) { if (b == 0) return a; else return cmmdc(b, a%b); }
int main() { int n, i, s[100], cmmmc = 1; cout<<"Cate numere: ";cin>>n; for (i = 0; i < n; i++) cin>>s[i]; for (i = 0; i < n; i++) cmmmc = cmmmc * s[i]/cmmdc(cmmmc, s[i]); cout<<"Cel mai mic multiplu comun este: "<<cmmmc; getche(); return 0; }
|
|
|
8
|
infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: Ghiduri
|
: Februarie 11, 2008, 20:12:42
|
in primu rand ma dereanjeaza :"in clasele 5-8 mi-am pierdut timpu cu visual basic,html,movie making, edit meldii, 3d MAX, Maya deci pe scurt am incercat din fiecare.... ". Eu am facut numai Word, Excel si PP asa ca ar trebui sa fi recunoscator. daca vrei ghiduri... documentatia c++ de pe siteul oficial este destul de buna. Daca ai posibilitatea te sfatuiesc sa iti cumperi toate volumele (sau cel putin primul) din seria "Programarea in limbajul C/C++ pentru liceu" de autorii Emanuela Cerchez si Marinel Serban. infoarena.ro este un site care te-ar putea ajuta dupa ce mai inveti cate ceva. bafta.
|
|
|
11
|
infoarena - concursuri, probleme, evaluator, articole / Teme / Răspuns: conway game of life
|
: Ianuarie 21, 2008, 19:52:05
|
asa ceva se face la facultate... eu am facut-o in clasa a 9-a fara vreo problema majora..... #include <fstream.h> #include <stdlib.h> #include <conio.h>
void citeste_fisier(int &, int &, int[20][20], int[20][20]); void arata(int [20][20], int ,int); void schimbare(int[20][20], int[20][20], int, int);
int main() { int M[20][20], MOD[20][20];char x='n'; register int c = 0; int i, y, n, m; citeste_fisier(n, m, M, MOD); arata(M, n, m); cout<<"Iesiti? (d/n) "; x = getche(); cout<<'\n'<<'\n'<<'\n'<<'\n'; if(x == 'd') return 0; while(x != 'd') { schimbare(M, MOD, n, m); arata(M, n, m); cout<<"Iesiti? (d/n) "; x = getche(); cout<<'\n'; for(int lol = 0; lol < 3; lol++) cout<<'\n'; }
return 0; } void citeste_fisier(int & a, int & b, int M[20][20], int MOD[20][20]) { fstream f("start.in", ios::in); f>>a>>b; for (int i = 0; i < a; i++) for(int y = 0; y < b; y++) { f>>M[i][y]; MOD[i][y] = M[i][y]; } }
void arata(int M[20][20], int n, int m) { char x; static int contor = 0;
cout<<"Pasul t + "<<contor<<"."<<'\n'; for(int i = 0; i < n; i++) { for(int y = 0; y < m; y++) cout<<M[i][y]; cout<<'\n'; } contor++; }
void schimbare(int M[20][20], int MOD[20][20], int n, int m) { int nr = 0; for(int i = 0; i < n; i++) for( int y = 0; y < m; y++) { if(M[i-1][y-1] == 1) nr++; if(M[i-1][y] == 1) nr++; if(M[i-1][y+1] == 1) nr++; if(M[i][y-1] == 1) nr++; if(M[i][y+1] == 1) nr++; if(M[i+1][y-1] == 1) nr++; if(M[i+1][y] == 1) nr++; if(M[i+1][y+1] == 1) nr++; if(M[i][y] == 1) { if (nr<2 || nr >3) MOD[i][y] = 0; } if (M[i][y] == 0) if (nr==3) MOD[i][y] = 1; nr = 0; }
for(int i = 0; i < n; i++) for(int y = 0; y < m; y++) M[i][y] = MOD[i][y]; }
afiseaza ceva de genul: pasul t + x; aici este matricea. Doriti sa continuati? (d/n) samd.
|
|
|
13
|
infoarena - concursuri, probleme, evaluator, articole / Informatica / erathostone
|
: Ianuarie 10, 2008, 21:43:11
|
am citit articolul despre ciurul lui erathostene si am incercat sa implementez penultima varianta in c++ dar nu am reusit. Am facut ceva de genu: int main() { fstream f("prime.out", ios::out); int i, j; for (i = 1; i*i<MAX; i++) if(S[i] == 0) for (j = (2*i+1)*(2*i+1); j<MAX; j += 2*i+1) S[j/2] = 1; for(i = 0; 2*i+1 <MAX; i++) if(S[i] == 0) f<<2*i+1<<"-"; f.close();
nu vreu sa imi spuneti ce am gresit, ca asta pot sa imi dau si singur seama daca postati o varianta corecta a implementarii. Va multumesc!
|
|
|
16
|
infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: nu gasesc problema
|
: Ianuarie 07, 2008, 22:32:54
|
Incearca sa pui "using namespace std; " pe randul de sub #include<fstream.h> . Vezi daca merge.
#include <fstream> /* Pentru fstream */ #include <iostream> /* Pentru cin / cout */
using namespace std;
...
Daca nu incluzi #include <iostream> si folosesti cin / cout vei obtine o eroare de compilare. ai dreptate, problema s-a rezolvat. se pare ca am uitat sa sterg partea aia inainte sa trimit sursa.  totusi mai am problema: Killed by signal 11(SIGSEGV). Asta de ce apare? Si am citit intr-o carte ca daca incluzi fstream nu mai trebuie sa incluzi si iostream, si intradevar merge la mine pe calculator. Poti sa imi explici care e problema?
|
|
|
18
|
infoarena - concursuri, probleme, evaluator, articole / Informatica / nu gasesc problema
|
: Ianuarie 07, 2008, 20:41:18
|
imi apare urmatoarea eroare: Eroare de compilare in evaluator: In file included from /usr/include/c++/4.2/backward/fstream.h:31, from user.cpp:1: /usr/include/c++/4.2/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <iostream> instead of the deprecated header <iostream.h>. To disable this warning use -Wno-deprecated. user.cpp: In function 'int main()': user.cpp:16: error: 'cout' was not declared in this scope
pentru urmatorul program: #include <fstream.h>
int main() { ifstream f("sume.in"); ofstream fout("sume.out"); int a, i, p, s[1000], nu = 1, n; ... code deleted ... cout<<n; fout<<n<<'\n'<<a; f.close(); fout.close(); return 0; }
Daca il compilez pe calculatorul meu merge perfect dar cand trimit sursa imi apare eroarea de mai sus. Astept explicatii, multumesc anticipat. P.S. La alte probleme am inclus acelasi header si nu a aparut nici o problema. Editat de moderator: Nu postati surse cu rezolvarea completa a unor probleme!
|
|
|
|