Wpis z mikrobloga

// policz sumę N elementów wczytanych od użytkownika
for(int i = 0, t[N], suma = 0; ((i < N) && scanf("%d", &t[i])) || (printf("%d", suma) && !getch()); (suma += t[i]) && i++);

Kolejna pętla w życiu programisty zarabiającego porządne pieniądze czy "sztuka dla sztuki"?

#programowanie #cpp
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@4i60r: Sztuka dla sztuki. Fajnie jest pisać takie pętle w ramach ciekawostki, ale czytelność takiego monstrum jest zerowa.
  • Odpowiedz
@4i60r: (suma += t[i]) && i++ – słyszałeś o short cirquit evaluation? Dowolne wejście, które da suma == 0 nie zwiększy i. Tutaj lepiej nada się operator przecinka, ewentualnie bit_and (&).
  • Odpowiedz
@4i60r: Jakby ktoś czytał kiedyś czysty kod, to pewnie by dostał ataku złości po zobaczeniu takiego tworu w kodzie, który dostał.

// policz sumę N elementów wczytanych od użytkownika

Oczekuje od funkcji, że liczy sumę elementów wczytanych przez użytkownika. Nie wczytuje, nie formatuje, nie modyfikuje, nie sra ogniem. Zlicza, zwraca wynik. Koniec.
  • Odpowiedz
@4i60r: C++ w połączeniu ze scanf, printf...proszę mnie nie rozśmieszać :) Osoba która to napisała zamiast spędzać czas na głupoty powinna nauczyć się strumieni wejścia wyjścia.
  • Odpowiedz