М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
buriboyhamraev
buriboyhamraev
08.05.2023 14:42 •  Информатика

Как сделать проверку заглавной первой буквы в c++ с if?

👇
Ответ:
romanenckoalia
romanenckoalia
08.05.2023

Решение, которое перебирает

Большие буквы стоят в таблице кодов подряд, то есть, образуют диапазон, нам требуется проверить лежит ли буква в заданном диапазоне. Для русских букв проверять будем так:

if ('А' <= str[0] && str[0] <= 'Я'), для английских нужно просто поменять буквы на английские.

Пример для русских букв:

Программа выводит заглавные буквы

#include <iostream>

#include <string>

#include <windows.h>

signed main() {

SetConsoleCP(1251);

SetConsoleOutputCP(1251);

std::string str;

getline(std::cin, str);

if ('А' <= str[0] && str[0] <= 'Я')

 std::cout << "Первая буква является заглавной!";

else

 std::cout << "Этот символ не является заглавной буквой!";

return 0;

}

4,6(97 оценок)
Открыть все ответы
Ответ:
Turtlrs
Turtlrs
08.05.2023
Var
let: array [1..63] of Integer = (5 , 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 ,16 ,17 , 18, 19 , 20, 25, 26, 27, 28, 29,30, 35, 36, 37, 38, 39, 40, 45, 46, 47, 48, 49, 50, 55, 56, 57, 58, 59, 60, 65, 66, 67, 68, 69, 70, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 95, 96, 97, 98, 99);
gad: array [1..9] of Integer = (1, 21, 31, 41, 51, 61, 71 ,81 ,91);
goda: array[1..27] of Integer = (2,3,4,22,23,24,32,33,34,42,43,44,52,53,54,62,63,64,72,73,74,82,83,84,92,93,94);
k: Integer;
begin
for k:=1 to 99 do
begin
if k = let then
begin
writeln('Мне', k, 'лет');
end;
if k = gad then
begin
writeln('Мне', k, 'год');
end;
if k = goda then
begin
writeln('Мне', k, 'Года');
end;

end;

end.
4,4(54 оценок)
Ответ:
илья1899
илья1899
08.05.2023
Условия:
1. Алексеев и Воробьев будут или не будут в призерах соревнований одновременно.
2. Воробьев будет в тройке победителей, то и Алексеев тоже.
3. Алексеев не будет среди призеров или среди победителей будут Бедняков и Воробьев.

Сразу заменим фамилии в буквы:
Алексеева = А
Беднякова = Б
Воробьева = В

Запишим утверждение пользуясь языком логических выражений:
! - логическое отрицание
∪ - дизьюнкция, логическое ИЛИ
∩ - коньюнкция, логическое И

Запись первой буквы фамилии учасника будем считать за утверждение, что он входит в тройку победителей, то есть ИСТИНА
Отрицанием же будет утверждение, что он не входит в тройку победителей.

1.
Алексеев и Воробьев будут в призерах соревнований одновременно на языке логических выражений выглядит вот так:
(А ∩ В)

Алексеев и Воробьев не будут в призерах соревнований одновременно:
!(А ∩ В)

И первое и второе выражение входит в первое условие, запишим его едино:
(А ∩ В) ∪ !(А ∩ В)

2.
Второе условие можем изобразить как:
В ∩ А

3.
Третье условие получается из двух.Алексеев не будет среди призеров:


Или среди победителей будут Бедняков и Воробьев:
Б ∩ В

Теперь снова объеденим в одно целое:
!А ∪ (Б ∩ В)

Теперь запишим все утверждения целеком рядом:
1. (А ∩ В) ∪ !(А ∩ В)
2. В ∩ А
3. !А ∪ (Б ∩ В)

Вопрос: После соревнований оказалось, что два из предположений истинно, а одно - ложно. Кто из спортсменов был в призерах?

Наглядно видно, что в последнем (третьем) утверждении два должны быть именны, а одно ложно.

ответ: Бедняков и Воробьев были в призерах.

за отметку "Лучший ответ" и нажатую кнопочку " " - тут и у меня в профиле.
4,4(67 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ