Jump to content
em

[Easy] C++ One minute challenge

Recommended Posts

Posted (edited)

Pentru ca am vazut ca penultimul meu challenge a fost un esec (doar o persoana a raspuns) am decis sa postez lucruri mult mai scurte.

Gigel a decis sa ajute la un proiect open source si a deschis una din sutele de surse. Intr-un fisier a vazut codul.


...
if(x==1)
cout<<"x este 1, continuam executia ";
else
cout<<"am primit eroarea "<<x;
...

Gigel a compilat sursa si a vazut mesajul "am primit eroarea 1";

Cum se poate asa ceva?

Raspunsuri prin PM. Comentarii aici.

Solvers

- AlStar

- cifratorul

- plm

- Nytro

- Robert1995

- Serar

- bogdannbv

- Sweby - cea mai originala solutie

- anon

- Ellimist

- adonisslanic

- BGS

- H3xoR

- aphdex

- totti93

- hit47

- DuTy^

Closed!

Edited by em
Posted (edited)

Closed. O solutie


char x='1';

Extra:

Sweby,aphex


int x;
x=1.1;

totti93


#define if (a) if (!(a))

Nytro


#define x 1<0

Edited by em
Posted (edited)
nu prea stiu c++

bool x = true; ar fi mers?

nu, true are valoarea 1 si false are valoarea 0

apropo, aici la char x = 1 nu functioneaza.. trebuie pus 1 intre ghilimele( '1' )............ si nici la int x = 1.1, valoarea absoluta a lui x tot 1 este............ doamne

Edited by H3xoR
Posted (edited)
em, cred ca vrei sa zici:

char x = 49;

Adica x e codul ASCII al caracterului '1'.

Am vrut sa zic char x='1'. Cum am dat copy/paste din PM-ul cuiva si prima oara nu s-au copiat ghilimelele. Si pe urma am uitat. Mersi.

@H3xoR,

Cea cu int x=1.1 merge. Ce compilator folosesti?

L.E. : Nu avem doamne pe forum.

Edited by em
Posted

cea cu int x=1.1 nu merge. Testat pe code blocks 10.05 (gcc 4.4.1) si pe visual c++ 2010

Asta inseamna sa gandesti out of the box literalmente :)), eu m-am gandit doar la acel bloc de cod nu si la variabila =))

Posted (edited)

gcc version 4.5.3 (Gentoo 4.5.3-r1 p1.0, pie-0.4.5)

int x=1.1 nu merge. Insa char x = '1'; da. Un cod corect nu inseamna intotdeauna o particularizare.

Edited by expirat
Posted (edited)

pai stai, int ( integer ) nu suporta virgulele, deci ar fi ilegal sa scrii 1.1 ca cifra stocata intr-o variabila de tip int .-. Care e logica? pe unele compilatoare merge faza, pe altele nu

Edited by adonisslanic
Posted

Mie pe g++ 4.6.1 merge. Dar intr-adevar este un abuz de notatie. Am punctat solutia doar pentru ca mi-a mers.

Felicitari participantilor.

Guest
This topic is now closed to further replies.


×
×
  • Create New...