Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
5 / 5 / 5
Регистрация: 24.10.2012
Сообщений: 102

Определить, является ли последовательность корректной записью даты

12.01.2013, 16:37. Показов 1763. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
С клавиатуры задается последовательность символов. Написать программу, которая проверяет, является ли эта последовательность корректной записью даты (датой считаем запись, где первым указанное число, после - месяц, а потом год (4 или 2 цифры), причем разделителями могут быть символы «/», «.» И «-»).
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.01.2013, 16:37
Ответы с готовыми решениями:

Проверить, является ли последовательность скобок корректной
Здравствуйте, нашел на просторах интернета такую задачу. Нам даны строки, содержащие скобки 4 видов - круглые (), квадратные , фигурные {}...

Определить, является ли последовательность символов правильной записью нечетного числа в 14-ричной системе счисления
Как определить, является ли последовательность символов правильной записью нечетного числа в четырнадцатеричной системе счисления?

Проверка, является ли текст корректной записью вещественного числа
Прошу помощи в решении такой вот задачки Нужно написать процедуру, проверяющую является ли исходный текст правильно построенным числом...

7
 Аватар для Ласковая Киса
83 / 9 / 6
Регистрация: 11.01.2013
Сообщений: 55
12.01.2013, 19:38
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
32
33
#include <iostream>
#include <string>
 
using namespace std;
 
int main()
{
    int chislo,mes,god;
    string s;
    cin>>s;
    int c=0;
    for(int a=0;a!=s.size();a++)
    {
        if((a!=3 || a!=5) && int(s[a])<47 && int(s[a])>58)
            c=1;
    }
    if(c==0 && ((s[2]=='/' && s[5]=='/') || (s[2]=='.' && s[5]=='.') || (s[2]=='-' && s[5]=='-')))
    {
        chislo=int(s[0]-'0')*10+int(s[1]-'0');
        mes=int(s[3]-'0')*10+int(s[4]-'0');
        if(s.size()>8)
            god=int(s[6]-'0')*1000+int(s[7]-'0')*100+int(s[8]-'0')*10+int(s[9]-'0');
        else
            god=int(s[6]-'0')*10+int(s[7]-'0')+2000;
        if(chislo<32 && mes<13)
            cout<<"Everything is correct"<<'\n';
        else
            c=1;
    }
    if(c==1)
        cout<<"Error"<<'\n';
    return 0;
}
Код немного кривой.Программа не учитывает максимальное количество дней в месяце.
0
5 / 5 / 5
Регистрация: 24.10.2012
Сообщений: 102
14.01.2013, 16:45  [ТС]
ап, нужен вариант с использованием структур...
0
 Аватар для Ласковая Киса
83 / 9 / 6
Регистрация: 11.01.2013
Сообщений: 55
14.01.2013, 21:51
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
32
33
34
35
36
37
#include <iostream>
#include <string>
 
using namespace std;
struct date
{
    int chislo,mes,god;
    string s;
};
 
int main()
{
    date data;
    cin>>data.s;
    int c=0;
    for(int a=0;a!=data.s.size();a++)
    {
        if((a!=3 || a!=5) && int(data.s[a])<47 && int(data.s[a])>58)
            c=1;
    }
    if(c==0 && ((data.s[2]=='/' && data.s[5]=='/') || (data.s[2]=='.' && data.s[5]=='.') || (data.s[2]=='-' && data.s[5]=='-')))
    {
        data.chislo=int(data.s[0]-'0')*10+int(data.s[1]-'0');
        data.mes=int(data.s[3]-'0')*10+int(data.s[4]-'0');
        if(data.s.size()>8)
           data.god=int(data.s[6]-'0')*1000+int(data.s[7]-'0')*100+int(data.s[8]-'0')*10+int(data.s[9]-'0');
        else
            data.god=int(data.s[6]-'0')*10+int(data.s[7]-'0')+2000;
        if(data.chislo<32 && data.mes<13)
            cout<<"Everything is correct"<<'\n';
        else
            c=1;
    }
    if(c==1)
        cout<<"Error"<<'\n';
    return 0;
}

Нажимаем спасибо, не стесняемся
2
5 / 5 / 5
Регистрация: 24.10.2012
Сообщений: 102
14.01.2013, 22:51  [ТС]
Цитата Сообщение от Ласковая Киса Посмотреть сообщение
if((a!=3 || a!=5) && int(data.s[a])<47 && int(data.s[a])>58) c=1;
можеш объяснить эту строку?? =)

Добавлено через 7 минут
откуда цифры 3, 5, 47, 58
0
 Аватар для soon
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
14.01.2013, 23:04
Цитата Сообщение от Ласковая Киса Посмотреть сообщение
C++
1
2
if(data.chislo<32 && data.mes<13)
    cout<<"Everything is correct"<<'\n';
1
5 / 5 / 5
Регистрация: 24.10.2012
Сообщений: 102
14.01.2013, 23:11  [ТС]
Цитата Сообщение от soon Посмотреть сообщение
я там так написал...
C++
1
2
3
4
5
if(data.chislo>=32 || data.mes>=13)
            c=1;
 
         else
            cout<<"Everything is correct"<<'\n';
но надо еще добавить проверку на месяц, ато 31 день вовсе не в каждом месяце =)
0
 Аватар для Ласковая Киса
83 / 9 / 6
Регистрация: 11.01.2013
Сообщений: 55
15.01.2013, 00:06
Цитата Сообщение от TheVlad Посмотреть сообщение
можеш объяснить эту строку?? =)
откуда цифры 3, 5, 47, 58
3,5 - это чтобы не считало разделителей.
У каждого символа свой код.(string - это по сути массив char-ов) И вот так получилось что цифры 0-9 имеют код 47-58.
data.s[a] - это какой-то символ.
Написав int(data.s[a]) мы получили код этого символа.
И условием проверили является он цифрой или нет.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.01.2013, 00:06
Помогаю со студенческими работами здесь

Определить, является ли последовательность правильной записью целого числа
Вот мой код. Его нужно переделать. Он проверяет посимвольно, а нужно чтобы как целую строку. Изьян моего кода в том, что если написать...

Определить, является ли последовательность записью нечётного числа в пятнадцатеричной системе счисления
На вход программе подаётся последовательность символов, заканчивающаяся точкой (точка – признак конца и в последовательность не входит)....

Является ли последовательность скобок корректной
Дана последовательность скобок трёх типов: • – фигурные, • - квадратные, • () - круглые Необходимо определить,...

Определить, является ли строка корректной датой
х=1 - дата ок х=2 - дата ок х=3 - не дата goto ddd: x=4 - не дата программа вылетает .. Первую ошибку обрабатывает, а потом...

Определить, является ли формула корректной относительно использованных в её записи скобок
Введённая строка представляет собой формулу. Определить, является ли формула корректной относительно использованных в её записи скобок.


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение/ Перевод https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs . . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru