- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 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
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
#include <iostream>
#include <string>
#include <cmath>
using namespace std;
int perevod(char a)
{
switch (a)
{
case 'A': {return 1; break;}
case 'B': {return 2; break;}
case 'C': {return 3; break;}
case 'D': {return 4; break;}
case 'E': {return 5; break;}
case 'F': {return 6; break;}
case 'G': {return 7; break;}
case 'H': {return 8; break;}
}
return 0;
}
int proverka(char a)
{
switch (a)
{
case '1': {return 1; break;}
case '2': {return 2; break;}
case '3': {return 3; break;}
case '4': {return 4; break;}
case '5': {return 5; break;}
case '6': {return 6; break;}
case '7': {return 7; break;}
case '8': {return 8; break;}
}
return 0;
}
int main()
{
string s;
cin >> s;
int x1, x2, y1, y2;
x1=perevod(s[0]);
x2=perevod(s[3]);
y1=proverka(s[1]);
y2=proverka(s[4]);
if(s.length() != 5 || x1 == 0 || x2 == 0 || y1 == 0 || y2 == 0||s[2]!='-')
{
cout << "ERROR";
}
else{
if(abs(x2 - x1) == 1 && abs(y2 - y1) == 2 || abs(x2 - x1) == 2 && abs(y2 - y1) == 1)
{
cout << "YES";
}
else
{
cout << "NO";
}
}
return 0;
}
TEH3OPHblu_nemyx 02.06.2020 16:04 # 0
bormand 02.06.2020 16:43 # +2
666_N33D135 02.06.2020 16:46 # +2
https://govnokod.ru/24840
TEH3OPHblu_nemyx 02.06.2020 17:26 # 0
TEH3OPHblu_nemyx 02.06.2020 17:20 # +1
666_N33D135 02.06.2020 17:22 # 0
TEH3OPHblu_nemyx 02.06.2020 17:25 # 0
666_N33D135 02.06.2020 19:10 # 0
TEH3OPHblu_nemyx 02.06.2020 19:12 # 0
666_N33D135 02.06.2020 19:15 # 0
TEH3OPHblu_nemyx 02.06.2020 19:20 # 0
666_N33D135 02.06.2020 19:50 # 0
TEH3OPHblu_nemyx 02.06.2020 20:26 # 0
https://ideone.com/ROYHNd
666_N33D135 02.06.2020 20:30 # 0
TEH3OPHblu_nemyx 02.06.2020 20:32 # 0
666_N33D135 02.06.2020 20:35 # 0
TEH3OPHblu_nemyx 02.06.2020 20:46 # 0
• gets не проверяет размер буфера, возможно переполнение.
• gets_s есть не во всех библиотеках (ввели в C11, но до сих пор где-нибудь может отсутствовать).
• fgets проверяет размер, но может вернуть результат с символом перевода строки, а может без.
MAKAKA 02.06.2020 20:47 # +1
guest8 02.06.2020 20:51 # −999
MAKAKA 02.06.2020 20:53 # 0
666_N33D135 02.06.2020 21:08 # +1
666_N33D135 02.06.2020 21:09 # 0
1024-- 02.06.2020 23:57 # 0
Однако, я бы возвращал количество считанных символов вместо питушарского указателя на саму строку, который никому не нужен. Это даёт O(1) накладных расходов, но избавляет от пердолинга с O(N) strlen получившейся питушни.
guest8 02.06.2020 23:58 # −999
guest8 03.06.2020 00:00 # −999
gost 03.06.2020 00:17 # 0
TEH3OPHblu_nemyx 03.06.2020 01:12 # 0
1024-- 03.06.2020 10:14 # 0
какую-то его версию, которая не ворвращает NULL
> однострочные хаки
Причём эта недофункциональщина встречается только в некоторых функциях. Видимо, только в тех местах, где она требовалась авторам языка на стадии, когда кроме них на нём никто не писал.
Неясно, почему нельзя сделать второй слой API - stdio2, stdlib2 или просто добавить в них
guest8 03.06.2020 02:25 # −999
3.14159265 04.06.2020 00:57 # 0
Видимо они ожидают посимвольного чтения и парсинга буферизированного потока.
3.14159265 04.06.2020 01:48 # 0
POSIX read
MAKAKA 04.06.2020 01:49 # 0
3.14159265 04.06.2020 02:01 # 0
guest8 04.06.2020 02:05 # −999
3.14159265 04.06.2020 02:08 # +1
NAME
fread, fwrite - binary stream input/output
fgets питушня заточенная на текстовые данные. Потому всякие \n.
MAKAKA 04.06.2020 02:14 # 0
Велдан всегда будет с переводом, а raw -- нет?
А ведь есть еще штольмановский getline...
3.14159265 04.06.2020 02:20 # 0
Опять же неразумные питузы клевали и оплевывали Царя, вместо того чтобы внимать его мудрому Слову.
MAKAKA 04.06.2020 02:21 # 0
В сишке же сериализация из коробки. Если ты умеешь управлять align (кажется, что все компиляторы дают такую возможность), то зачем вообще текстовые файлы?
3.14159265 04.06.2020 02:23 # +1
MAKAKA 04.06.2020 02:26 # 0
Ну хотя да, наверное если у меня
то будут проблемы. Кстати, а у кого порядок байт отличается из современных cpu? Кроме x86 и ARM есть что-то? Какой порядок у ARM?
TEH3OPHblu_nemyx 04.06.2020 02:30 # 0
guest8 04.06.2020 02:33 # −999
TEH3OPHblu_nemyx 04.06.2020 02:39 # 0
Похоже, ARM — единственная выжившая платформа с переключателем порядка байтов.
guest8 04.06.2020 02:46 # −999
TEH3OPHblu_nemyx 04.06.2020 02:50 # 0
А чем интересна эта архитектура?
guest8 04.06.2020 02:55 # −999
TEH3OPHblu_nemyx 04.06.2020 03:04 # +1
Есть реальные примеры киллер-фич архитектуры «MIPS»?
3.14159265 04.06.2020 13:27 # 0
https://govnokod.ru/26528#comment536094
Noodles 05.06.2020 18:04 # 0
сВАЕВО РАДНОГА ЕЗЫКА НЕ ЗНАТЬ ПАЗОР!!!11
3.14159265 04.06.2020 02:42 # +1
Можно
См. TCP/IP.
https://tools.ietf.org/html/rfc1700 Есть SMB, но то как правильно замечено виндузятные еретики.
guest8 04.06.2020 02:44 # −999
3.14159265 04.06.2020 02:48 # −1
Опять же читаем изречения Царя о полезных структурах данных.
Массиву байт например насрать на их сетевой порядок.
А всё остальное от лукавого.
Впрочем какой-нибудь bswap ещё никому не делал хуже.
guest8 04.06.2020 02:49 # −999
3.14159265 04.06.2020 02:57 # 0
Использовать две ячейки байтового массива!
guest8 04.06.2020 02:58 # −999
TEH3OPHblu_nemyx 04.06.2020 03:09 # +2
Desktop 04.06.2020 15:16 # 0
MAKAKA 04.06.2020 15:19 # 0
Noodles 05.06.2020 18:25 # 0
Stop all of your coding, 'cause your code smells like "govno"!
MAKAKA 05.06.2020 18:27 # 0
TOPT 05.06.2020 18:31 # 0
guest8 05.06.2020 18:32 # −999
TOPT 05.06.2020 18:36 # 0
Noodles 05.06.2020 18:51 # 0
Noodles 05.06.2020 18:07 # 0
TEH3OPHblu_nemyx 04.06.2020 03:18 # +1
guest8 04.06.2020 03:22 # −999
TEH3OPHblu_nemyx 04.06.2020 02:45 # 0
TIFF-файлы были с сигнатурой «MM» (от слова «Motorola») и «II» (от слова «Intel»), указывающей на порядок байтов в многобайтовых числах.
TEH3OPHblu_nemyx 04.06.2020 02:42 # 0
1024-- 04.06.2020 20:20 # 0
TEH3OPHblu_nemyx 04.06.2020 02:32 # 0
Set the endianness bit in the CPSR, without affecting any other bits in the CPSR.
SETEND cannot be conditional, and is not permitted in an IT block.
Show/hideSyntax
SETEND specifier
where: specifier is one of:
BE Big-endian.
LE Little-endian.
Show/hideUsage
Use SETEND to access data of different endianness, for example, to access several big-endian DMA-formatted data fields from an otherwise little-endian application.
Show/hideArchitectures
This ARM instruction is available in ARMv6 and above.
This 16-bit Thumb instruction is available in T variants of ARMv6 and above, except the ARMv6-M and ARMv7-M architectures.
There is no 32-bit Thumb version of this instruction.
Example
MAKAKA 02.06.2020 20:32 # 0
A newline character makes fgets stop reading, but it is considered a valid character by the function and included in the string copied to str.
666_N33D135 02.06.2020 20:34 # 0
guest8 02.06.2020 20:39 # −999
666_N33D135 02.06.2020 20:40 # 0
KOPOHABuPYC 04.06.2020 20:35 # 0
Noodles 05.06.2020 18:10 # 0
уМРИ ЗАРАЗА!!11
gost 05.06.2020 18:11 # 0
666_N33D135 02.06.2020 19:53 # 0
MAKAKA 02.06.2020 17:25 # 0
почему 15, а не 0xF?
Почему функции, а не макросы с инлайном?
TEH3OPHblu_nemyx 02.06.2020 17:27 # 0
MAKAKA 02.06.2020 17:33 # 0
666_N33D135 02.06.2020 17:42 # 0
TEH3OPHblu_nemyx 02.06.2020 17:43 # 0
TEH3OPHblu_nemyx 02.06.2020 17:50 # 0
666_N33D135 02.06.2020 19:52 # 0
Кстати, по-стандарту гарантируется ли, что истина обязательно именно 1? -1 быть не может?
gost 02.06.2020 19:58 # 0
TEH3OPHblu_nemyx 02.06.2020 20:28 # 0
666_N33D135 02.06.2020 17:42 # 0
У них даже своей учётки нет.
666_N33D135 02.06.2020 19:22 # 0
MAKAKA 02.06.2020 20:27 # 0
1024-- 02.06.2020 18:01 # 0
KOPOHABuPYC 03.06.2020 21:19 # 0
Аллокатор, вовзращащий указатель на 1 элемент массива, заполненного массивами.