Second Opinion
Folosind serviciul second opinion ne puteți trimite RMN-uri, CT -uri, angiografii, fișiere .pdf, documente medicale. Astfel vă vom putea da o opinie neurochirurgicală, fără ca aceasta să poată înlocui un consult de specialitate. Răspunsurile vor fi date prin e-mail în cel mai scurt timp posibil (de obicei în mai putin de 24 de ore, dar nu mai mult de 48 de ore). Second opinion – Neurohope este un serviciu gratuit. www.neurohope.ro |
Intrebare interviu
Last Updated: Nov 04 2011 00:53, Started by
George2503
, Nov 01 2011 20:50
·
0
#1
Posted 01 November 2011 - 20:50
Salutari. Zilele trecute , am primit un test pt un job ce continea urmatoare problema de algoritmica. Avand un string trebuia sa il transform in integer , similar functiei atoi din c, insa fara a folosi vreo functie predefinita. Aveti vreo sugestie de rezolvare. Multumesc.
Edit: Trebuia sa scriu o implementare la aceasta problema. Edited by George2503, 01 November 2011 - 21:04. |
#3
Posted 01 November 2011 - 21:20
Scrie un string pe hartie (unul care sa fie reprezentarea unui integer).
Apoi incearca sa iti dai seama cum ai putea sa il transformi in integer. Pentru string ai anumite "operatii" disponibile, pentru integer alte "operatii". Daca vei putea sa o faci pe hartie, implementarea ar trebui sa fie destul de simpla. Daca nu o poti face pe hartie, degeaba iti da cineva solutia. Apropo, gasesti solutia la o cautare. |
#5
Posted 01 November 2011 - 21:25
Nu ai zis clar in ce limbaj de programare ti s-a cerut asta. Daca chiar e o intrebare de interviu, atunci mi se pare una destul de ciudata. Presupunand ca se cere in C, imi pot imagina cateva solutii, dar acestea nu prea ar arata cat de bun programator esti, ci ce "chichite" ale limbajului cunosti.
|
#6
Posted 01 November 2011 - 21:33
Chichite ale limbajului? Nu cred ca sti ce inseamna sa te intrebe cineva chichite ale unui limbaj.
Intreabarea asta e una de bun simt, chiar simpla. |
#7
Posted 01 November 2011 - 21:37
Presupunând că-n C, ceva de genul:
for(int i = 0; stringNumber[i] != '\0'; i++) { integerNumber += (a[i] - '0') * pow(10, strlen(stringNumber) - i); }N-am verificat; posibil să trebuiască un + 1 sau - 1 pe undeva. Și de asemenea tre' să verifici la început dacă-ți încape și să returnezi altceva în caz negativ. L.E. Funcțiile pow și strlen ți le implementezi la fel de simplu. Edited by m3th0dman, 01 November 2011 - 21:39. |
#8
Posted 01 November 2011 - 21:49
Nici nu aveai nevoie de pow sau strlen
for(int i = 0; stringNumber[i] != '\0'; i++) { integerNumber = (integerNumber + (stringNumber[i] - '0'))*10; } integerNumber = integerNumber / 10; |
#9
Posted 01 November 2011 - 21:54
Sau si mai simplu:
int intNumber= 0; for (int i = 0; i < strlen(strNumber); ++i) { intNumber = intNumber * 10 + (intNumber[i] - '0'); } Continui sa cred ca nu e o intrebare buna de interviu, pentru ca se concentreaza pe detalii ale limbajului. Edited by Shinji, 01 November 2011 - 21:54. |
#10
Posted 01 November 2011 - 21:57
Secventa de cod scrisa mai sus nu are nicio legatura cu limbajul.Daca stiai cum, chiar nu conta in ce scriai ca era fix acelasi lucru si in C si in C++ si in Java etc...
|
|
#11
Posted 01 November 2011 - 21:58
n-are absolut nici o treaba cu kikitzele limbajului, pentru ca nu e nici o kikitza :w00t:
dar daca e pe C evident ca poate sa-ti arate cit a lucrat respectivul in C si despre m3th0dman si-ar da seama ca mai deloc, altfel ar fi facut cu pointeri jmekeri |
#12
Posted 01 November 2011 - 22:01
Unui incepator nu i-as cere sa se gandeasca la partea cu - '0', care poate fi dificil de imaginat daca n-ai vazut-o anterior. Unui senior nu i-as pune o intrebare de tipul asta. Deci nu mi-e clar pentru cine ar fi o intrebare buna de interviu.
|
#13
Posted 01 November 2011 - 22:03
#14
Posted 01 November 2011 - 22:10
Eu spun doar ca la o experienta de peste 5 ani in C++, intrebarea asta m-a pus pe ganduri. Chiar am simtit nevoia sa scriu solutia si sa o testez. Din intamplare e chiar solutia pe care am postat-o si care cred ca e cea mai simpla dintre toate care au fost propuse. Dar nu a fost chiar floare la ureche asa cum vreti sa sugerati. Sunt convins ca 90% din cei care tocmai au terminat o facultate de calculatoare, nu pot s-o rezolve.
|
#15
Posted 01 November 2011 - 22:15
solutia ta e incompleta si departe de a fi optima, nu verifica semnul, nu testeaza caractere aiurea si strlen incalca cerintele "insa fara a folosi vreo functie predefinita" :)
|
|
#16
Posted 01 November 2011 - 22:17
Mosotti, on 1st November 2011, 21:21, said: tu cum ai facut? :w00t: Eu? Cand am intalnit prima data asta (pe vremea cand invatam programare), am scris pe hartie cum impart intai stringul si ce fac cu bucatile ca sa compun numarul. Dupa aia am scris codul (din fericire nu pe hartie :) ). Am verificat cu diverse valori si am mai corectat pe ici pe colo. Oricum, la un interviu presupun ca intai vor sa vada daca gasesti algoritmul si apoi cum scrii codul. Cred ca ar trebui sa poti scrie codul pentru algoritmul asta chiar si pe hartie. Nu spun ca e usor, sunt sigur ca as avea greseli. EDIT: Vad ca au mai raspuns deja unii: De exemplu am omis partea cu numerele negative. La partea cu verificarea caracterelor m-am gandit. M-am mai gandit cum fac pentru ultimul caracter (conditia de stop). Nu m-am gandit ca nu am voie sa folosesc metoda length() de la String. Tot ce am omis mai sus a fost la nivel de gandire, maine dimineata am sa scriu codul sa vad ce alte probleme mai sunt :). Edited by stuiberv, 01 November 2011 - 22:22. |
#17
Posted 01 November 2011 - 22:19
Evident, asta nu e intrebare de interviu la firma serioasa..
|
#18
Posted 01 November 2011 - 22:20
Ai dreptate, Mosotti, n-am observat cerinta de a nu folosi vreo functie predefinita. :(
Daca ajungem si la semn, verificare de caractere aiurea, eventual si whitespaces, atunci devine si mai complicat... |
Anunturi
▶ 1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users