|
Titlul: Problema cu o problema... Scris de: FMIAnita Liviu din Februarie 14, 2010, 13:54:28 Salutari,eu deranjez din nou...mi-a dat un prieten o problema care suna cam asa: Se citesc de la tastatura numerele a,b,c.Ordoneti crescator numerele a,b,c , in functie de numarul de divizori.
Dupa ce m-am scremut umpic,am scris asta: Cod: //Se citesc 3 variabile: a,b,c;Afisati-le in ordinea crescatoare a numarului de divizori insa de aici in colo nu am mai avut ce-i face...de la undeva la 8 erori,rusie sa-mi fie ca scriam (nr_a<=nr_b) && (nr_a<=nr_c) ,in loc de (nr_a<=nr_b && nr_a<=nr_c),insa omu' din greseli invata :D,am coborat la o eroare ,am bagat si niste static_cast-uri (sa scap de o parte din warninguri,ca ma ofticau)...insa acea eroare care a ramas imi cam da batai de cap...imi poate spune cineva ce am gresit? PS: Am precizat pe cod la ce linie imi indica, compilatorul eroarea ,care suna cam asa : syntax error before string constant ...pur si simplu nu ii pot da de capat... PPS:Tin sa il rog pe cel care doreste sa ma ajute,sa nu modifice sursa prea tare,ca sa pot intelege,fiindca asta e si ideea... Titlul: Răspuns: Problema cu o problema... Scris de: alexandru din Februarie 14, 2010, 14:04:18 Tin sa te anunt ca eroarea nu-i acolo ci cu vreo 2 linii mai jos
Cod: cout<<b", "; //aici e eroarea Cod: cout<<b<<", "; ps: Nu-i mai simplu radical=(int)sqrt(...) decat sa scri static_cast<int> ? Titlul: Răspuns: Problema cu o problema... Scris de: FMIAnita Liviu din Februarie 14, 2010, 15:08:49 multumesc mult :D dupa ce am postat mi-am dat seama ca ar merge cu funtii,insa m-am gandit sa o las asa,daca tot era postata in forma asta :D oricum,in 15 minute o fac cu functie...si multumesc mult pentru gasirea erorii...eu m-am dat cu capu de tastatura vro 20 de minute,si tot nu am gasit nimic :D
Titlul: Răspuns: Problema cu o problema... Scris de: Pripoae Teodor Anton din Februarie 14, 2010, 18:23:57 Tin sa te anunt ca eroarea nu-i acolo ci cu vreo 2 linii mai jos Cod: cout<<b", "; //aici e eroarea Cod: cout<<b<<", "; ps: Nu-i mai simplu radical=(int)sqrt(...) decat sa scri static_cast<int> ? floor(sqrt(...)). Cast-ul la int iti rotunjeste la cel mai apropiat intreg. Titlul: Răspuns: Problema cu o problema... Scris de: alexandru din Februarie 14, 2010, 19:06:05 vrei sa zici ca pentru 5.66674 ar rontuji la 6 (cast-ul) ? Nu, tot la 5 :)
Titlul: Răspuns: Problema cu o problema... Scris de: Andrei Grigorean din Februarie 14, 2010, 19:17:59 Tin sa te anunt ca eroarea nu-i acolo ci cu vreo 2 linii mai jos Cod: cout<<b", "; //aici e eroarea Cod: cout<<b<<", "; ps: Nu-i mai simplu radical=(int)sqrt(...) decat sa scri static_cast<int> ? floor(sqrt(...)). Cast-ul la int iti rotunjeste la cel mai apropiat intreg. Castul la int te scapa de partea fractionara. Titlul: Răspuns: Problema cu o problema... Scris de: Pripoae Teodor Anton din Februarie 14, 2010, 20:53:26 Mdea, asa e. Nu stiu de ce aveam eu impresia ca e cum am zis. N-am prea incercat sa fac cast la int asa. Foloseam floor sau ceil. Oricum, nu sunt sigur ca e standard treaba asta. Tin minte ca o data, acu ceva timp imi busea la o faza de genul.
Titlul: Răspuns: Problema cu o problema... Scris de: Andrei Grigorean din Februarie 14, 2010, 21:14:15 Stiu ca exista un standard pentru conversia floating point -> int.
Titlul: Răspuns: Problema cu o problema... Scris de: Radu Grigore din Februarie 22, 2010, 14:37:16 Cast la int rotunjeste catre zero.
Vezi 6.3.1.4 (pagina 43): http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf |