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

Сократить код. Задача про сравнение символов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определить, пересекаются ли окружности, касаются друг друга или не имеют общих точек http://www.cyberforum.ru/cpp-beginners/thread1068382.html
Задача 2. Две окружности заданы координатами центра и радиусами. Определить, пересекаются ли они, касаются друг друга или не имеют общих точек.
C++ Две прямые заданы уравнениями: a1x + b1y+ c1 =0 и a2x + b2y+ c2 =0. Определить, пересекаются ли они. Задача 1. Две прямые заданы уравнениями: a1x + b1y+ c1 =0 и a2x + b2y+ c2 =0. Определить, пересекаются ли они. http://www.cyberforum.ru/cpp-beginners/thread1068381.html
Переставить десятичные цифры числа так, чтобы получить максимально возможное число, записанное теми же цифрами C++
Задача 37. Дано натуральное число n<1000. Переставить его десятичные цифры так, чтобы получить максимально возможное число, записанное теми же цифрами
C++ Вычислить НОД (наибольший общий делитель) двух натуральных чисел A и B
Задача 4. Вычислить НОД (наибольший общий делитель) двух натуральных чисел A и B.
C++ как свою прогу запустить на других компах http://www.cyberforum.ru/cpp-beginners/thread1068373.html
Здравствуйте! Написал игрульку ну и решил её опробовать на других компах. Она не работает. У меня windows 7. И на тех компах где windows 7 она запускалась. На остальных - нет. компилировал на Microsoft Visual Studio 2010/ Что это, и как это решить? Заранее благодарю!
C++ Найти каноническое разложение многочлена над полем путем отделения кратных корней Найти каноническое разложение многочлена над полем путем отделения кратных корней. x^6-15x^4+8x^3+51x^2-72x+27 никак не могу решить, толи опечатка в примере, то ли что. помогите разобраться пожалуйста.. подробнее

Показать сообщение отдельно
костя666674555
-94 / 0 / 0
Регистрация: 02.01.2014
Сообщений: 78
28.01.2014, 21:11  [ТС]     Сократить код. Задача про сравнение символов
условие
Кликните здесь для просмотра всего текста
Шахматы
(Время: 1 сек. Память: 16 Мб Сложность: 18%)

Шахматы Совсем недавно Вася занялся программированием и решил реализовать собственную программу для игры в шахматы. Но у него возникла проблема определения правильности хода конем, который делает пользователь. Т.е. если пользователь вводит значение «C7-D5», то программа должна определить это как правильный ход, если же введено «E2-E4», то ход неверный. Так же нужно проверить корректность записи ввода: если например, введено «D9-N5», то программа должна определить данную запись как ошибочную. Помогите ему осуществить эту проверку!

Входные данные

В единственной строке входного файла INPUT.TXT записан текст хода, который указал пользователь. Пользователь не может ввести строку, длиннее 5 символов.
Выходные данные

В выходной файл OUTPUT.TXT нужно вывести «YES», если указанный ход конем верный, если же запись корректна (в смысле правильности записи координат), но ход невозможен, то нужно вывести «NO». Если же координаты не определены или заданы некорректно, то вывести сообщение «ERROR».
Примеры
№ INPUT.TXT OUTPUT.TXT
1 C7-D5 YES
2 E2-E4 NO
3 BSN ERROR

код:
C++
1
2
3
4
5
6
7
8
#include <fstream>
#include <string>
main() {
  std::fstream q("input.txt"),o("output.txt", 2);
  std::string a;
  q>>a;
  o<<(a.length() < 5 || a[2] != '-' || a[0] < 'A' || a[0] > 'H' || a[3] < 'A' || a[3] > 'H' || a[1] < '1' || a[1] > '8' || a[4] < '1' || a[4] > '8' ? "ERROR" : abs((a[0] - a[3]) * (a[1] - a[4])) != 2 ? "NO" : "YES");
}
Размер кода: 264 (как короче?)
 
Текущее время: 08:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru