Afişează mesaje
|
Pagini: 1 2 [3]
|
52
|
infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: Siruri de caractere
|
: Martie 02, 2012, 11:16:50
|
In primul rand citirea pe care tu ai propus-o se face cu tipul string. Dar nu asta e o problema. Problema este ca programul da eroare la compilare. Si mam mai gandit la o problema: la afisare de unde stiu pana unde il incrementez pe 'j' ? deoarece nu stiu lungimea fiecare linii. Ma gandeam sa mai folosesc o matrice care sa retina lungimile dar mi se pare prea costisitor. Daca aveti idei mai bune nu ezitati sa imi spuneti. Asta e ceea ce am lucrat pana acum: #include<fstream> #include<cstring> #include<string> using namespace std;
int n,m; string M[20][100]; char S[20][300]; int V[7]; ifstream f("culori.in"); ofstream g("culori.out");
int main() { f>>n; for(int j=1;j<=n;j++) { getline(f,M[j]); }
f.close(); g.close(); return 0;
}
Editat de moderator: Foloseste tagul code atunci cand postezi cod.
|
|
|
54
|
infoarena - concursuri, probleme, evaluator, articole / Informatica / Siruri de caractere
|
: Martie 01, 2012, 20:51:37
|
Buna, am si eu o problema. Nu stiu cum sa citesc o matrice de caractere. Adica vreau ca pe fiecare linie a matricii sa citesc unul sau mai multe cuvinte. Am incercat sa fac asta dar nu imi afiseaza nimic dupa aia, deci este prost. Va rog daca puteti dati-mi o secventa de cod unde pe fiecare linie a matricii citesc caractere. Codul sa fie in C/C++.
|
|
|
58
|
infoarena - concursuri, probleme, evaluator, articole / Informatica / Labirint matrice
|
: Februarie 08, 2012, 21:34:24
|
Buna, Am o problema pe care nu stiu cum sa o rezolv si as aprecia daca m-ati putea ajuta. Problema suna in felul urmator: Se considera un labirint. Labirintul este dat sub forma unei matrice de dimensiune n x m. Un element de pe pozitia (i,j) din aceasta matrice are valoarea 0 daca pozitia respectiva face parte din culoar si valoarea 1 daca pe pozitia (i,j) exista zid. Cunoscand coordonatele la care se afla un om in labirint, determinati cel mai scurt drum pana la iesirea din labirint. Persoana avanseaza pe culoare astfel incat la fiecare pas se deplaseaza intr-o pozitie vecina pe orizontala sau verticala cu pozitia pe care se afla. Se considera ca omul a iesit din labirint daca a ajuns pe o pozitie din marginea matricii, aceasta pozitie avand valoarea 0. Mi se da dimensiunea matricei, elementele matricei si coordonatele persoanei din matrice. Va rog daca puteti sa imi dati si o secventa de cod la ceea ce imi spuneti. Codul sa fie in C/C++.
|
|
|
60
|
infoarena - concursuri, probleme, evaluator, articole / Informatica / Introducere in algoritmi
|
: Februarie 06, 2012, 11:38:37
|
Salut , Stiti cumva unde pot gasi cartea "Introducere in algoritmi" de T.H Cormen? Prefer varianta in limba romana caci cea in engleza o am in format electronic. Am cautat pe toate situri-le si nicaieri nu mai este in stoc. Daca cumva stiti un site unde se mai gaseste sau o aveti careva si nu va mai trebuie, o cumpar imediat. Banii nu sunt o problema.
|
|
|
61
|
infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: Backtracking
|
: Ianuarie 18, 2012, 17:37:28
|
Am incercat sa fac problema si nu imi afiseaza nimic. Iata codul pe care l-am scris. #include<fstream> using namespace std;
int n,ST[100],as,ev,k,y=0,l=0,z=0;
ifstream f("paranteze.in"); ofstream g("paranteze.out");
void init() { ST[k]=-1;
}
void succ() {
if(ST[k]<2) { ST[k]++; as=1; } else as=0;
}
void valid() { ev=1; for(int i=1;i<=k;i++) { if(ST[i]==0) { y++; for(int j=i+1;j<=k;j++) { if(ST[j]==1) l++;}} else z++;
} if(l==0) ev=0; if(z!=y!=n/2) ev=0; }
void tipar() { for(int i=1;i<=k;i++) g<<ST[i]<<" "; g<<endl; }
int sol() {
return (k==n); }
void back() { k=1; init(); while(k) { do{ succ(); if(as) valid();
} while(as && !ev); if(as) if(sol()) tipar(); else{ k++; init(); } else k--; }
}
int main() { f>>n; back(); f.close(); g.close(); return 0; }
|
|
|
62
|
infoarena - concursuri, probleme, evaluator, articole / Informatica / Backtracking
|
: Ianuarie 17, 2012, 21:41:35
|
Buna. Sunt destul de incepator in programere si anume am inceput serios sa lucrez la informatica de 3-4 luni. Am o problema la metoda backtraking pe care nu am nici o idee cum sa o fac si aceea este: Se da un numar N natural par. Sa se determine toate sirurile de N paranteze care se inchid corect. De exemplu: N=6. Se va afisa: ( ( ( ) ) ), ( ( )( ) ), ( ) ( ) ( ), ( ) ( ( ) ), ( ( ) ) ( ) Va rog sa imi spuneti mai intai un algortim pe care ar trebui sa il urmez si o secventa de cod cheie. Codul de asemenea sa fie in C++.
|
|
|
|