• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Не Могу Понять Что За Проблемы С Кодировкой?

  • Автор темы factura
  • Дата начала
F

factura

Найти в тексте все слова (не содержащие пробелов последовательности символов), содержащие символы из более чем одного из четырёх алфавитов: русских букв, латинских букв, цифр, символов (математических символов и знаков пунктуации).

Вот что сделал


C++:
#include <conio.h>
#include <stdio.h>
#include <string.h>
void main()
{
printf("INPUT:\n");
char s[100];
scanf("%[^\n]s",s);
int count=0;
for(int i=0;i<strlen(s)-1;i++)
{
if(s[i]==' ' && ((s[i+1]>='A'&& s[i+1]<='Z' && s[i+1]>='А' && s[i+1]<='Я') || (s[i+1]>='a'&& s[i+1]<='z' && s[i+1]>=-128 && s[i+1]<=-17)) )
count++;
}
printf("RESULT-%d",count);
_getch();

}
Когда ввожу слова с русскими и латинскими буквами по отдельности всё Работает
Работает когда ввожу последовательность типа "SSSЯЯЯЯ"
Но, когда ввожу последовательность "ЯЯЯЯJJJJ" то слово игнорируется почему не могу понять
 
R

rrrFer

s[i+1]>='a'&& s[i+1]<='z' && s[i+1]>=-128 && s[i+1]<=-17
символы от a до z имеют положительные коды. Как один и тот же (s[i+1]) символ может быть, с одной стороны положительным число, а с другой - отрицательным (от -17 до -128) ? я не понимаю этих условий и того, как это может работать вообще.
 
F

factura

s[i+1]>='a'&& s[i+1]<='z' && s[i+1]>=-128 && s[i+1]<=-17
символы от a до z имеют положительные коды. Как один и тот же (s[i+1]) символ может быть, с одной стороны положительным число, а с другой - отрицательным (от -17 до -128) ? я не понимаю этих условий и того, как это может работать вообще.
Работает, ибо при проверке диапазон кириллических символов диапазон составил от -127 до -17 среда VS 2012
 
R

rrrFer

Работает, ибо при проверке диапазон кириллических символов диапазон составил от -127 до -17 среда VS 2012
ты понимаешь значение союза "И" ?

ты фактически пишешь (значения чуть другие, но суть таже):

(А > -10) И (A < 10) И (А > 100) И (А < 110)

никакое А этакому условию не соответствует. Это понимаешь школьник-второклассник, а ты - не понимаешь?
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!