Ajutor cu scenariu la un program.
#1
Posted 17 May 2015 - 11:22
Salut baieti am urmatoarea conditie : "Se da o lista de n cuvinte. Sa se formeze cel mai lung sir în care fiecare cuvânt incepe cu litera cu care se
termina predecesorul sau." . Ajutati-ma cu scenariul programului ( Ce si cum ar trebuie sa fac) , iar programul il scriu eu si in final il postez aici . Mersi . p.s. Limbajul de programare e C desi pentru voi nu conteaza . Edited by Dima1994, 17 May 2015 - 11:23. |
#2
Posted 17 May 2015 - 11:33
Stiu ca in scoli va imbuiba cu algoritmi. Nu sugerez ca nu e bine sa stii algoritmica, ai nevoie de ea.
DAR Atunci cand esti pus in fata unei probleme, te gandesti mai intai cum modelezi datele de input. Asadar, dintre toate structurile de date pe care le cunosti, poti sa le enumeri pe cele care s-ar potrivi inputului tau? Inputul este un set de cuvinte de cardinalitate n, cuvinte intre care poate exista o relatie de "sfarsitul meu este egal cu inceputul altui cuvant", intre fiecare cuvant C(n) si restul de cuvinte C(n-1). Deci? Edited by OriginalCopy, 17 May 2015 - 11:34. |
#3
Posted 17 May 2015 - 11:43
OriginalCopy, on 17 mai 2015 - 11:33, said:
Stiu ca in scoli va imbuiba cu algoritmi. Nu sugerez ca nu e bine sa stii algoritmica, ai nevoie de ea. DAR Atunci cand esti pus in fata unei probleme, te gandesti mai intai cum modelezi datele de input. Asadar, dintre toate structurile de date pe care le cunosti, poti sa le enumeri pe cele care s-ar potrivi inputului tau? Inputul este un set de cuvinte de cardinalitate n, cuvinte intre care poate exista o relatie de "sfarsitul meu este egal cu inceputul altui cuvant", intre fiecare cuvant C(n) si restul de cuvinte C(n-1). Deci? Sa creez sirul nu e greu . Pur si simplu voi citi un vector de cuvinte. dar partea cu sfirsitul meu este egal cu inceputul unui alt cuvint e mister pentru mine as putea face cu strcmp ? da cum sa fac sa comparea anume ultima litera ? |
#4
Posted 17 May 2015 - 11:45
Dima1994, on 17 mai 2015 - 11:41, said:
In scoli in general nu se invata corect . Sa creez sirul nu e greu . Pur si simplu voi citi un vector de cuvinte. dar partea cu sfirsitul meu este egal cu inceputul unui alt cuvint e mister pentru mine Citeste cu atentie ce am scris, ca n-am scris degeaba: Quote
(1) Inputul este un set de cuvinte de cardinalitate n, cuvinte intre care poate exista o relatie de "sfarsitul meu este egal cu inceputul altui cuvant", intre fiecare cuvant C(n) si restul de cuvinte C(n-1). (2) Asadar, dintre toate structurile de date pe care le cunosti, poti sa le enumeri pe cele care s-ar potrivi inputului tau? Asta daca ai chef sa te invat cum sa pescuiesti singur, nu sa-ti fie pus pestele in undita. |
#5
Posted 17 May 2015 - 11:47
OriginalCopy, on 17 mai 2015 - 11:45, said:
Obisnuieste-te sa raspunzi fix la intrebarile care ti se pun, nu la ce ai impresia ca esti intrebat. Citeste cu atentie ce am scris, ca n-am scris degeaba: Raspunsul tau la intrebarea (2) trebuie sa fie o lista de nume de structuri de date care respecta criteriul din afirmatia (1). Asta daca ai chef sa te invat cum sa pescuiesti singur, nu sa-ti fie pus pestele in undita. |
#6
Posted 17 May 2015 - 11:51
Dima1994, on 17 mai 2015 - 11:47, said:
Am chef. Ca sincer sa fiu putina programare care o stiu am invatat-o de pe forum , nu-mi ramane de ales. Pai bun, atunci nu o mai lalai si spune lista de structuri de date cunoscute tie care au acea proprietate. Asa arata un raspuns punctual la intrebarea mea:
|
#7
Posted 17 May 2015 - 11:55
OriginalCopy, on 17 mai 2015 - 11:51, said:
Pai bun, atunci nu o mai lalai si spune lista de structuri de date cunoscute tie care au acea proprietate. Asa arata un raspuns punctual la intrebarea mea:
stiva coada |
#8
Posted 17 May 2015 - 12:00
Dima1994, on 17 mai 2015 - 11:55, said:
Ma gindesc la : stiva (1) coada (2) Bun. Acum hai sa iti arat cum iti testezi ipotezele (1) si (2). Ai setul de cuvinte {abba, apa, ara}.
Edited by OriginalCopy, 17 May 2015 - 12:01. |
#9
Posted 17 May 2015 - 12:14
OriginalCopy, on 17 mai 2015 - 12:00, said:
Bun. Acum hai sa iti arat cum iti testezi ipotezele (1) si (2). Ai setul de cuvinte {abba, apa, ara}.
Nu reusesc Nu am avut de-aface cu stive si cozi. Nu am prelucrat siruri de caractere decit cu functiile din string.h. Edited by Dima1994, 17 May 2015 - 12:16. |
#10
Posted 17 May 2015 - 12:16
Dima1994, on 17 mai 2015 - 12:14, said: Nu reusesc Raspuns corect. Revenim. Mai citeste o data (cu foarte mare atentie): Quote
(1) Inputul este un set de cuvinte de cardinalitate n, cuvinte intre care poate exista o relatie de "sfarsitul meu este egal cu inceputul altui cuvant", intre fiecare cuvant C(n) si restul de cuvinte C(n-1). (2) Asadar, dintre toate structurile de date pe care le cunosti, poti sa le enumeri pe cele care s-ar potrivi inputului tau? |
|
#11
Posted 17 May 2015 - 12:17
#12
Posted 17 May 2015 - 12:20
Dima1994, on 17 mai 2015 - 12:17, said:
Vrei sa-mi dai ceva sa citesc , ca sa inteleg si sa nu incerc sa ghicesc ? Nu incerci sa ghicesti. La ghici e atunci cand spatiul de solutii e (in termeni pragmatici) e infinit, iar tu iei solutii aleatorii, random, din acest spatiu de solutii. Spatiul tau de solutii nu este insa infinit, numarul de structuri de date pe care le cunosti este finit, si cel mai probabil destul de redus ca numar. Asadar, metoda brute force este una fiabila in stabilirea de ipoteze si verificarea lor. Ia enumera toate structurile de date pe care le cunosti. Deduc ca lista ta incepe asa:
|
#13
Posted 17 May 2015 - 12:23
OriginalCopy, on 17 mai 2015 - 12:20, said:
Nu incerci sa ghicesti. La ghici e atunci cand spatiul de solutii e (in termeni pragmatici) e infinit, iar tu iei solutii aleatorii, random, din acest spatiu de solutii. Spatiul tau de solutii nu este insa infinit, numarul de structuri de date pe care le cunosti este finit, si cel mai probabil destul de redus ca numar. Asadar, metoda brute force este una fiabila in stabilirea de ipoteze si verificarea lor. Ia enumera toate structurile de date pe care le cunosti. Deduc ca lista ta incepe asa:
liste arbori Altele nu cred ca stiu . |
#14
Posted 17 May 2015 - 12:28
Dima1994, on 17 mai 2015 - 12:23, said:
matrici liste arbori Altele nu cred ca stiu . Perfect. De mai mult nici nu ai nevoie. Pentru matrici nu ai incercat sa gasesti o reprezentare a acelor informatii. Din nou, pentru matrici: Fie setul de cuvinte {abba, apa, ara, acces}. Deoarece matricile cu siruri de caractere sunt complicate, vom numi cuvantul abba 0, apa = 1, ara = 2, acces = 3. De acum inainte nu te vei mai referi la aceste cuvinte folosind numele lor ca string, ci numele lor de ordine 0, 1, 2, respectiv 3. Poti veni cu un exemplu concret de matrice in care codezi informatiile: de la 0 pot ajunge la {1, 2, 3} de la 1 pot ajunge la {0, 2, 3} de la 2 pot ajunge la {0, 1, 3} de la 3 pot ajunge la: {} ? |
#15
Posted 17 May 2015 - 12:41
OriginalCopy, on 17 mai 2015 - 12:28, said:
Perfect. De mai mult nici nu ai nevoie. Pentru matrici nu ai incercat sa gasesti o reprezentare a acelor informatii. Din nou, pentru matrici: Fie setul de cuvinte {abba, apa, ara, acces}. Deoarece matricile cu siruri de caractere sunt complicate, vom numi cuvantul abba 0, apa = 1, ara = 2, acces = 3. De acum inainte nu te vei mai referi la aceste cuvinte folosind numele lor ca string, ci numele lor de ordine 0, 1, 2, respectiv 3. Poti veni cu un exemplu concret de matrice in care codezi informatiile: de la 0 pot ajunge la {1, 2, 3} de la 1 pot ajunge la {0, 2, 3} de la 2 pot ajunge la {0, 1, 3} de la 3 pot ajunge la: {} ? #include <stdio.h> void main() { int a[10][10]; int m=2 , n=2; int i,j; //aici vom introduce elementele matricei 0 , 1 ,2 , 3. for(i=0; i<m; i++) for(j=0; j<n; j++) { printf("Elemntul [%d,%d]= ", i+1, j+1); scanf("%d", &a[i][j]); } //iar aici le voi afisa , dar accesul de la elementu 1 al matricei la celelalte , nu stiu cum sa fac . for(i=0; i<m; i++) { for(j=0; j<n; j++) printf(" %d\n", a[i][j]); } getchar(); int k; scanf("%d", k); } Poti sa rizi da eu chiar nu inteleg cum sa fac accesu asta . Edited by Dima1994, 17 May 2015 - 12:41. |
|
#16
Posted 17 May 2015 - 12:49
Dima1994, on 17 mai 2015 - 12:41, said:
Iar ai luat-o pe aratura. Eu nu ti-am cerut codul. Eu vreau sa te invat cum sa gandesti cand abordezi probleme care ti se par imposibil de rezolvat. Ti-am cerut un exemplu de matrice. Trebuie sa vii cu un exemplu concret de matrice, cu valori concrete in ea. Uite exemplu de matrice: [ http://upload.wikimedia.org/wikipedia/commons/thumb/b/bb/Matrix.svg/247px-Matrix.svg.png - Pentru incarcare in pagina (embed) Click aici ] a1,1 este de fapt a0,0 in termeni informatici. Tu trebuie sa vii cu o matrice concreta, cu valori concrete in ea, care raspunde la scenariul dat: setul de cuvinte ordonate (abba, apa, ara, acces), folosind numerele lor de ordine. Codeaza aceste informatii in matrice, si posteaza matricea: de la 0 pot ajunge la {1, 2, 3} de la 1 pot ajunge la {0, 2, 3} de la 2 pot ajunge la {0, 1, 3} de la 3 pot ajunge la: {} Lasa codul, nu codul e important, ci ideile din spatele codului si ideile care te conduc la construirea unui cod. Codul e fix pix, ala e un detaliu, e cea mai mica problema a ta. Edited by OriginalCopy, 17 May 2015 - 12:54. |
#17
Posted 17 May 2015 - 12:54
OriginalCopy, on 17 mai 2015 - 12:49, said:
Tu trebuie sa vii cu o matrice concreta, cu valori concrete in ea, care raspunde la scenariul dat: setul de cuvinte ordonate (abba, apa, ara, acces), folosind numerele lor de ordine. Ce vrei tu e o matrice simpla ca asta http://prntscr.com/7663yt merg elementele de pe linia 1 , apoi linia 2 . Si ordinea va fi 0 1 2 3 . Edited by Dima1994, 17 May 2015 - 12:54. |
#18
Posted 17 May 2015 - 13:03
Dima1994, on 17 mai 2015 - 12:54, said:
Ce vrei tu e o matrice simpla ca asta http://prntscr.com/7663yt merg elementele de pe linia 1 , apoi linia 2 . Si ordinea va fi 0 1 2 3 . Ce ordine? Ordinea ti se cere abia la solutie. Noi inca procesam inputul, si incercam sa gasim o reprezentare viabila in memorie a lui. Nici nu am inceput sa scriem un algoritm care rezolva problema. Eu cand ma uit la matrice trebuie sa vad urmatoarele informatii in ea: de la 0 pot ajunge la {1, 2, 3} de la 1 pot ajunge la {0, 2, 3} de la 2 pot ajunge la {0, 1, 3} de la 3 pot ajunge la: {} Poate exemplul de input te induce in eroare. Hai sa luam un alt exemplu de set ordonat: {acces=0, arat=1, sete=2, tacere=3, enzima=4} Matricea trebuie sa codeze informatiile: de la 0 pot ajunge la {2} de la 1 pot ajunge la {3} de la 2 pot ajunge la {4} de la 3 pot ajunge la {4} de la 4 pot ajunge la {0, 1} Edited by OriginalCopy, 17 May 2015 - 13:07. |
Anunturi
▶ 1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users