Задачи: Формирование даты исход из нач. даты + часы, координаты прямоу

Тема в разделе "C/C++/C#", создана пользователем dimon131, 8 дек 2010.

Статус темы:
Закрыта.
  1. dimon131

    dimon131 Member

    Регистрация:
    8 дек 2010
    Сообщения:
    13
    Симпатии:
    0
    1 Даны целые числа x1, y1,…, xn, yn. Выяснить, есть ли среди точек (x1, y1),…, (xn, yn)
    четыре вершины квадрата. Если да, то вывести их


    2 Дана дата в виде числа, месяца, времени(например, 12 мая, 9 часов), и эта дата припала на день недели – четверг. Кроме того дано натуральное число К. Вывести день недели, месяц и сезон, которые наступят после после данной даты через k часов. Считать год не высокосным невисокосним

    Если можно, то на языке Си

    Добавлено: код задачи №2

    #include<conio.h>
    #include<stdio.h>
    #include<math.h>
    int main()
    {
    unsigned long k; //переменные
    int u,i,a,b,c,d,n;
    printf("Vvedite k, k=");
    scanf("%d\n",&k); //Ввод данных
    printf("Vvedite 4iclo, c=");
    scanf("%d\n",&c); //Ввод данных
    printf("Vvedite № mecaca, n=");
    scanf("%d\n",&n); //Ввод данных
    printf("Vvedite vrema, d=");
    scanf("%d\n",&d); //Ввод данных
    a=k/24;
    c=c+a;
    b=k%24;
    d=d+b;
    i=c;
    u=d;

    switch(n)
    {
    case 1:printf("janvar\n"); break;
    case 2:printf("fevral\n"); break;
    case 3:printf("mart\n"); break;
    case 4:printf("aprel\n"); break;
    case 5:printf("maj\n"); break;
    case 6:printf("ijun\n"); break;
    case 7:printf("ijul\n"); break;
    case 8:printf("avgust\n"); break;
    case 9:printf("sentabr\n"); break;
    case 10:printf("oktabr\n"); break;
    case 11:printf("najabr\n"); break;
    case 12: printf("dekabr\n"); break;
    }
    if (i<24) //условие
    {
    printf("4iclo %d",c); //Вывод на экран
    printf("mesac %d",n);
    printf("vremja %d",d);
    }
    else
    {
    for(i=c;i<24;i-24)
    i++;
    }
    if(i>30) //условия
    {
    i-30;
    n++; //действия

    printf("4iclo %d",c); //Вывод на экран
    printf("mesac %d",n);
    printf("vremja %d",d);
    }
    getch();
    return 0;
    }
     
  2. lazybiz

    lazybiz Well-Known Member
    C\C++ Team

    Регистрация:
    3 ноя 2010
    Сообщения:
    1.344
    Симпатии:
    0
    Это единственное что я понял... Ну еще там про точки какие-то и числа...
    По-русски же умеешь писать! Так переведи для нас задание, если сам его конечно понял.
     
  3. DarkKnight

    DarkKnight Well-Known Member
    C\C++ Team

    Регистрация:
    1 авг 2010
    Сообщения:
    653
    Симпатии:
    0
    Вот оптимальное решение... Но оно не совсем математического, математический алгоритм будет намного более объемен, слишком много параметров нужно учитывать... Будет время напишу мат. решение... Но такой алгоритм - намного более правелен, хотя и ни так хорошо проверят знания.

    Код (C++):
    /*
    codeby.net
    Autor: DarkKnight125 (Denis Goncharov)
    */

    #include <iostream>
    #include <time.h>

    using namespace std;

    void main(void)
    {
    setlocale(LC_ALL,"Russian");
    struct tm *myDate;

    cout << "Введите заданную дату и время в формате (dd.mm.yyyy hh:mm) : ";
    int d,m,y,h,min; //День, месяц, Год, Час, минута

    //Получим введенные данные
    cin>>d; //Получим дату
    cin.ignore(); //этим будем пропускать не значащие символы
    cin>>m; //Получим месяц
    cin.ignore();
    cin>>y; //Получим год
    cin>>h; //Получим время
    cin.ignore();
    cin>>min; //Получим минуты
    //Сформируем структуру
    time_t vTime = time(NULL); //Получим текущее время
    myDate = localtime(&vTime); //Сформируем структуру
    //заполним структуру введенной датой
    myDate->tm_year = y - 1900; //Отчет идет от 1900
    myDate->tm_mon = m-1; //Месяцы в структуре идут от 0
    myDate->tm_mday = d;
    myDate->tm_hour = h;
    myDate->tm_min = min;
    //
    //Введем время которое нужно прирастить
    int dHour; //Приращение часов
    cout << "Введите кол-во часов приращения dHour = ";
    cin>>dHour;
    myDate->tm_hour += dHour; //Добавим часы
    vTime = mktime(myDate); //Сформируем структуру по зад. параметрам

    //Вывод времени года
    if (myDate->tm_mon == 11 || myDate->tm_mon < 2)
    cout << "Время года ЗИМА " << endl;
    if (myDate->tm_mon >= 2 && myDate->tm_mon < 5)
    cout << "Время года ВЕСНА " << endl;
    if (myDate->tm_mon >= 5 && myDate->tm_mon < 8)
    cout << "Время года ЛЕТО " << endl;
    if (myDate->tm_mon >=8 && myDate->tm_mon < 11)
    cout << "Время года ОСЕНЬ " << endl;

    cout<<ctime(&vTime); //Стандартный С вывод даты (можно конечно определить массивы строк и вывести на русском, но это уже сам)
    }
     

    Вложения:

    • time_hour.jpg
      time_hour.jpg
      Размер файла:
      37,5 КБ
      Просмотров:
      11
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей