Форум программистов, компьютерный форум CyberForum.ru

Переведите с Паскаля - C++

Восстановить пароль Регистрация
 
zago-vlad
13 / 8 / 1
Регистрация: 12.01.2010
Сообщений: 106
03.12.2011, 23:27     Переведите с Паскаля #1
Всем привет!

Нарыл в инете прогу на Паскале (прога определяет день недели по дате). Нужно перевести ее на С++

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
program denned;                                                           
 
const                                                                    
 
  YEARS  : array[0.. 3] of byte = (0, 2, 3, 4);                        
  MONTHS : array[1..12] of byte = (0, 3, 3, 6, 1, 4, 6, 2, 5, 0, 3, 5);  
  DAYOFWEEKS  : array[0..6] of string =                                  
    ('Воскресенье', 'Понедельник', 'Вторник', 'Среда', 'Четверг',        
     'Пятница', 'Суббота');                                                
 
var       
                                                                
  a, b, c, d, e, f, tmp : byte;                                          
  day, month, year      : word;                                            
 
begin                                                                     
 
  repeat                                                                  
 
    write('Число XX -> ');
    readln(day);                                                         
    if day = 0 then break; { выход }                                      
    write('Месяц XX -> ');                                               
    readln(month);                                                        
    write('Год XXXX -> ');                                               
    readln(year);                                                       
    tmp := year - 1996;                                                  
    a := tmp and 3;                                                       
    b := (tmp shr 2) + (tmp and $FC);                                     
    c := MONTHS[month];                                                 
    if (a = 0) and (month > 2) then inc(c);                             
    a := YEARS[a];                                                      
    e := (a + b + c + day) mod 7;                                      
    writeln('Результат: ', DAYOFWEEKS[e]);                           
    writeln;                                                           
 
  until false;                                                         
 
end.
Заранее ОГРОМНОЕ спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.12.2011, 23:27     Переведите с Паскаля
Посмотрите здесь:

переведите на С++ из паскаля C++
C++ переведите с Паскаля на си++
C++ переведите с Паскаля на си++
Переведите, пожалуйста, с паскаля на C++ C++
C++ переведите с паскаля на с++.пожалуйста
C++ переведите лабы с паскаля на си++
C++ Переведите из Паскаля в С++
C++ Переведите программу из Паскаля на С++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kidasov
76 / 76 / 12
Регистрация: 02.12.2011
Сообщений: 966
Записей в блоге: 3
04.12.2011, 01:22     Переведите с Паскаля #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <iostream>
#include <cstdio>
using namespace std;
 
const int YEARS[4] = {0, 2, 3, 4};
const int MONTHS[12] = {0, 3, 3, 6, 1, 4, 6, 2, 5, 0, 3, 5};
const char DAYOFWEEKS[7][20] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
 
int main()
{
  int a, b, c, d, e, f, tmp, day, month, year ;
  while(1) {
    cout<<"Number x-> ";
    cin>>day;
    if (day == 0) return -1;
    cout<<"Month -> ";
    cin>>month;
    cout<<"Year -> ";
    cin>>year;
    tmp = year - 1996;
    a = tmp & 3;
    b = (tmp>>2) + (tmp & 0xFC);
    c = MONTHS[month];                                                 
    if (a == 0 && month > 2) { c += 1; }                             
    a = YEARS[a];                                                      
    e = (a + b + c + day) % 7;                                      
    cout<<"Результат: "<<DAYOFWEEKS[e];                           
    cout<<"\n";
  }
  return 0;
}
Yandex
Объявления
04.12.2011, 01:22     Переведите с Паскаля
Ответ Создать тему
Опции темы

Текущее время: 00:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru