Strony: 1
Witam czy ktoś posiada "coś" na temat zadań 3,4,5 ?
http://imageshack.us/photo/my-images/40 … mowan.jpg/
Offline
Truje dupe, ale jestem
zad 3 i 4:
dzień tygodnia na podstawie wczytanej daty. Do określenia dnia tygodnia
zastosować wzór
([2.6M-0.2]+D+Y+[Y/4]+C/4-2C)mod(7)
D- dzień, M- numer miesiąca przy czym 1 oznacza marzec, 2 kwiecień, ..., 11 styczeń, 12
luty, C liczba utworzona z dwóch pierwszych cyfr roku,Y liczba utworzona z dwóch ostatnich
cyfr roku np. dla 1989 mamy C=19, Y=89, datę 1 styczeń 1900r zapisujemy D=1, M=11,
C=18, Y=99, [x] oznacza całość z x, mod(7) jest resztą z dzielenia przez 7. Gdy reszta równa
się 0 oznacza to, że dniem tygodnia była niedzielą, 1 poniedziałkiem, ... , 6 sobotą. Jeśli
wartość w nawiasie jest ujemna to przed dzieleniem mod(7) należy dodać 196.
zad 5
dajesz a
for (i=a;a=0;i--)
{
if (a%i==0) wypisz dzielnik ;
if (a%i==0 and i!=1 and i!=a) CzyPierwsza=false;
}
Ostatnio edytowany przez djgrabek (09-03-2012 12:24:11)
Offline
Truje dupe, ale jestem
tak na szybko ;-)
int tydzien (int rok, int miesiac, int dzien) { int y; int c; int M[13]={0,11,12,1,2,3,4,5,6,7,8,9,10}; float wynik; c=rok/100; y=rok-(c*100); if (miesiac <3) y--; if (y<0) y=100+y; //jeśli rok 1900 i miesiac styczen to da 99 float a= 2.6*M[miesiac]-0.2; float b= y/4; wynik = (int)a+dzien+y+(int)b+(c/4)-(2*c); if (wynik < 0) wynik += 196; int wynikk; wynikk= (int)wynik % 7; return wynikk; }
int main(int argc, char *argv[]) { string dni[7]={"niedziela","poniedzialek","wtorek","sroda","czwartek","piatek","sobota"}; cout << dni[tydzien(1988,1,9)]; system("PAUSE"); return EXIT_SUCCESS; }
Offline
Truje dupe, ale jestem
a = tydzien(rok,miesiac,dzien); switch (a) { case 0 : cout << "/n niedziela"; break; case 1 : cout << "/n wtorek"; break; ... default : cout << "ERROR" ; }
..
Ostatnio edytowany przez djgrabek (17-03-2012 07:46:13)
Offline
Strony: 1