#1 2011-01-26 19:31:16

jolsatan

Nowy użytkownik

Zarejestrowany: 2010-11-27
Posty: 5
Punktów :   

zad2

Ma ktoś może zadanie 2? Brakuje mi do kompletu dla tego dziadzia.

Offline

 

#2 2011-01-26 22:36:54

 celudor

Użytkownik

Skąd: Wrocław
Zarejestrowany: 2010-10-20
Posty: 53
Punktów :   

Re: zad2

Laborka 2 zadanie 1


Kod:

// Lista2.1.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"


int day0 = 5; //Piątek 01.01.2010 - data odniesienia
char* Dni[] = {"niedziela", "poniedziałek", "wtorek", "sroda", "czwartek", "piatek", "sobota"};

struct DATA {
    int d,m,y;
};

struct DATA Data;

struct MD {
    int m, ile;
};

struct MD M[] = {
    {1, 0},
    {2, 31},
    {3, 59},
    {4, 90},
    {5, 120},
    {6, 151},
    {7, 181},
    {8, 212},
    {9, 243},
    {10,273},
    {11,304},
    {12,334}
};

int czyPrzestepny(int y)
{
    if((y % 4 == 0) && (y % 100 != 0) || (y % 400 == 0))
        return 1;
    else
        return 0;
}

int jakiDzien(int d, int m, int y)
{
    int n, k=0, z, ys, ye;

    if(y >= 2010)
        ys = 2010, ye = y, z = 1;
    else
        ys = y, ye = 2010, z = -1;

    for(int i = ys; i < ye; i++)
        if(czyPrzestepny(i) == 1)
            k+=z*2;
        else
            k+=z;

    if(czyPrzestepny(y) == 1 && m > 2)
        k+=1;

    n = ((M[m-1].ile + d) % 7) + k + day0;
    if(n > 7)
        n = n % 7;
    else
        if(n < 1)
            n = n % 7 + 7;

    return n - 1;
}


int _tmain(int argc, _TCHAR* argv[])
{
    fprintf(stderr,"Podaj date w formacie d.m.y ");
    scanf_s("%d%*c%d%*c%d",&Data.d,&Data.m,&Data.y);
    printf("%s %d.%d.%d\n", Dni[jakiDzien(Data.d,Data.m,Data.y)],Data.d,Data.m,Data.y);
    _getch();
    return 0;
}

Offline

 

#3 2011-01-27 17:46:23

jolsatan

Nowy użytkownik

Zarejestrowany: 2010-11-27
Posty: 5
Punktów :   

Re: zad2

thx

Offline

 

Stopka forum

RSS
Powered by PunBB
© Copyright 2002–2008 PunBB
Polityka cookies - Wersja Lo-Fi


Darmowe Forum | Ciekawe Fora | Darmowe Fora
ts2 space opinie