Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Ciężkie początki, problem z zadaniem

Ostatnio zmodyfikowano 2013-02-01 01:10
Autor Wiadomość
memento49
Temat założony przez niniejszego użytkownika
Ciężkie początki, problem z zadaniem
» 2013-01-31 17:15:31
Witam wszystkich, postanowiłem niedawno posiąśc wiedzę na temat programowania zaczynając od C++. Przerabiam kolejne lekcje z kursu, który znalazłem w internecie. Jednak natrafiłem na problem, z którym nie moge sobie poradzić, mianowicie prosiłbym o pomoc w zadaniu o treści:

Mamy dany rok . Powiemy, że rok  jest przestępny, gdy wartość  jest podzielna przez 4. Jeśli jednak wartość  dzieli się przez 100, a nie dzieli się przez 400 to rok  nie jest przestępny. Zadaniem Twojego programu jest stwierdzenie czy dany rok jest przestępny.

Pisałem różne kody, które moim zdaniem są poprawne, ale mimo wszystko nie działa poprawnie :(
 Prosiłbym o jakieś wskazówki i zaznaczam, że nie chce rozwiązania. Intereują mnie jakieś informacje, które mogły by mi pomóc w rozwiązaniu tego samodzielnie.
Z góry dziękuję i pozdrawiam ;)
P-75462
jsc
» 2013-01-31 18:14:42
Dwie podpowiedzi:
1) modulo
2) if
P-75473
memento49
Temat założony przez niniejszego użytkownika
» 2013-01-31 20:02:36
To zadanie jest podsumowaiem jednej lekcji tego kursu. W tej lekcji wprowadzona została instrukcja if, operatory logiczne i instrukcje złożone (klamry }), nic nie słyszałem o modulo. To jest kod, który napisałem, tylko nie wiem czy to ma sens ;p:
C/C++
#include <cstdio>

int main()
{
    int r;
    scanf( "%d", & r );
    if( r / 4 )
         printf( "Tak\n" );
    else
    if( r / 100 && r / 400 )
         printf( "tak\n" );
    else
         printf( "nie\n" );
   
    return 0;
}
P-75492
jsc
» 2013-01-31 20:06:34
Reszta z dzielenia.
P-75495
memento49
Temat założony przez niniejszego użytkownika
» 2013-01-31 21:52:18
O właśnie dzięki za przypomnienie ;p Napisałem coś takiego, działa, ale prosze o opinie, może da się to jakoś prościej zrobić?
C/C++
#include <cstdio>

int main()
{
    int r;
    scanf( "%d", & r );
    if( r / 4 ) {
        if( r % 4 == 0 )
             printf( "tak\n" );
        else
        printf( "nie\n" ); }
    else
    if( r / 100 && r / 400 ) {
        if( r % 100 == 0 && r % 400 == 0 )
             printf( "tak\n" );
        else
        printf( "nie\n" ); }
    else
         printf( "nie\n" );
   
    return 0;
}
P-75513
jsc
» 2013-01-31 23:10:45
Pozbądź się ifów z dzieleniem całkowitym, nic nie w noszą.
P-75518
memento49
Temat założony przez niniejszego użytkownika
» 2013-02-01 01:10:27
No tak, racja. Wielkie dzięki za pomoc :D
P-75524
« 1 »
  Strona 1 z 1