Работа со строками в программировании
Информатика

11. Какой оператор нужно вставить вместо многоточия, чтобы программа подсчитывала, сколько раз в строке S встречается

11. Какой оператор нужно вставить вместо многоточия, чтобы программа подсчитывала, сколько раз в строке S встречается подстрока "12"? Вводите ответ без пробелов.

Ответ:
int c = 0, p;
while ( 1 ) {
...
if ( p >= 0 ) {
S.erase(0, p+2);
c ++;
} else {
break;
}
}

12. Какой оператор нужно вставить вместо многоточия, чтобы программа подсчитывала, сколько раз в строке S встречается цифра "0"? Вводите ответ без пробелов.

Ответ:
int c = 0, k;
for ( k = 0; k < S.length(); k++ ) {
if ( S[k] == "0" ) {
...
}
}

13. Какой оператор нужно вставить вместо многоточия, чтобы в строке S были записаны символы строки Q в обратном порядке? Вводите ответ без пробелов.
Верные ответы (1):
  • Солнечный_Пирог
    Солнечный_Пирог
    10
    Показать ответ
    Тема: Работа со строками в программировании

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

    1. В задаче 11. необходимо заменить многоточие на следующий оператор:
    cpp
    p = S.find("12");

    Этот оператор выполняет поиск первого вхождения подстроки "12" в строке S и возвращает индекс первого символа найденной подстроки. Если подстрока не найдена, то возвращаемое значение равно -1. Затем внутри цикла происходит удаление найденной подстроки и увеличение счетчика.

    2. В задаче 12. необходимо заменить многоточие на следующий оператор:
    cpp
    c++;

    Этот оператор увеличивает счетчик c на 1, если текущий символ в строке S равен "0". В результате выполнения цикла будет подсчитано количество вхождений символа "0" в строке.

    Например:

    Задача 11:
    cpp
    string S = "120201201";
    int c = 0, p;
    while (1) {
    p = S.find("12");
    if (p >= 0) {
    S.erase(0, p + 2);
    c++;
    }
    else {
    break;
    }
    }
    // Вывод: c = 3


    Задача 12:
    cpp
    string S = "120201201";
    int c = 0, k;
    for (k = 0; k < S.length(); k++) {
    if (S[k] == "0") {
    c++;
    }
    }
    // Вывод: c = 4


    Совет: При работе со строками в программировании важно обратить внимание на правильный выбор типа данных и использование соответствующих функций и операторов для работы с ними. Например, оператор "==" используется для сравнения символов, а функция `find()` для поиска подстроки в строке.

    Закрепляющее упражнение: Какой оператор нужно вставить вместо многоточия, чтобы программа подсчитывала, сколько раз в строке S встречается подстрока "abc"? Вводите ответ без пробелов. Ответ: int c = 0, p; while (1) { ... if (p >= 0) { S.erase(0, p+3); c++; } else { break; } }
Написать свой ответ: