Назад Вперед Зміст

Задачі на перегляд рядка

Приклад 1

Дано рядок. Скільки в ньому літер «а»?

Вхід: "банан"
Вихід: Кількість літер 'a' у рядку: 3

Вхід: "яблуко"
Вихід: Кількість літер 'a' у рядку: 0

Програма

static void Main(string[] args)
{
    int i, k = 0, L = 0;
    string s = Console.ReadLine();  // Отримання вхідного рядка від користувача
    L = s.Length;                  // Визначення довжини рядка
    
    // Перебір кожного символу рядка
    for (i = 0; i < L; i++)
    {
        // Перевірка, чи поточний символ є літерою 'a'
        if (s[i] == 'a') k++;     // Збільшення лічильника при знаходженні 'a'
    }
    
    // Виведення результату (кількість літер 'a')
    Console.WriteLine("k={0} ", k);
    
    // Очікування натискання клавіші перед закриттям програми
    Console.ReadKey();
}

Приклад 2

Дано рядок. Скільки в ньому цифр?

Програма

static void Main(string[] args)
{
    int i, k = 0, L = 0;      // Оголошення змінних: i - лічильник, k - лічильник цифр, L - довжина рядка
    string s = Console.ReadLine();  // Зчитування вхідного рядка з консолі
    L = s.Length;                  // Визначення довжини рядка
    
    // Цикл перебору всіх символів рядка
    for (i = 0; i < L; i++)
    {
        // Перевірка, чи поточний символ є цифрою
        if (char.IsDigit(s[i])) k++;  // Якщо цифра - збільшуємо лічильник
    }
    
    // Виведення кількості знайдених цифр
    Console.WriteLine(k);
    
    // Очікування натискання клавіші перед завершенням програми
    Console.ReadKey();
}

Приклад 3

Дано рядок. Скільки разів у цьому рядку зустрічається поєднання «ох»?

Програма

static void Main(string[] args)
{
    int i = 0, x = -1, k = -1;  // i - індекс пошуку, x - позиція знаходження, k - лічильник входжень
    string s = Console.ReadLine();  // Отримання вхідного рядка від користувача
    
    // Пошук усіх входжень підрядка "ox"
    while (i != -1)  // Поки знаходимо входження (i не дорівнює -1)
    {
        // Пошук підрядка "ox" починаючи з позиції x+1
        i = s.IndexOf("ox", x + 1);
        x = i;  // Запам'ятовуємо позицію знайденого входження
        k++;    // Інкрементуємо лічильник знайдених входжень
    }
    
    // Виведення кількості знайдених входжень "ox"
    Console.WriteLine(k);
    
    // Очікування натискання клавіші перед завершенням програми
    Console.ReadKey();
}

Приклад 4

Дано рядок. Скільки в ньому літер «а» до першої коми? Якщо ком не знайдено, вивести повідомлення.

Результат роботи програми

banana,orange
k=3
apple
Error
a,a,a
k=1
k=0

Програма

static void Main(string[] args)
{
    int i, k = 0, p, L = 0;  // i - счетчик, k - счетчик букв 'a', p - позиция запятой, L - длина строки
    string s = Console.ReadLine();  // Чтение входной строки
    L = s.Length;  // Получение длины строки
    
    // Поиск позиции первой запятой в строке
    p = s.IndexOf(",");
    
    if (p == -1)  // Если запятая не найдена
    {
        Console.WriteLine("Error");  // Вывод сообщения об ошибке
    }
    else
    {
        // Подсчет букв 'a' до первой запятой
        for (i = 0; i < p; i++)
        {
            if (s[i] == 'a') k++;  // Увеличение счетчика при нахождении 'a'
        }
        Console.WriteLine($"k={k}");  // Вывод результата (исправленная версия)
    }
    
    Console.ReadKey();  // Ожидание нажатия клавиши
}

Варіанти задач

  1. Дано рядок. Знайдіть у ньому кількість усіх символів, що стоять після першої крапки. Якщо в рядку немає крапок — вивести повідомлення.
  2. Дано рядок. Знайдіть у ньому кількість усіх символів, що стоять до останньої коми. Якщо в рядку немає ком — вивести повідомлення.
  3. Дано рядок і букву. Скільки в рядку символів, що стоять після першого входження цієї букви? Якщо такої букви немає — вивести повідомлення.
  4. Дано рядок і букву. Скільки в рядку символів, що стоять до останнього входження цієї букви? Якщо такої букви немає — вивести повідомлення.
  5. Дано рядок і букву. Скільки разів ця буква зустрічається в рядку?
  6. Дано рядок. Яка літера зустрічається частіше: "А", "О", чи однаково?
  7. Дано рядок і дві букви. Яка з двох літер зустрічається в цьому рядку частіше, або їх кількість однакова?
  8. Дано рядок. Знайдіть кількість символів «+», що стоять до першої коми. Якщо в рядку немає ком — вивести повідомлення.
  9. Дано рядок. Знайдіть кількість символів «*», що стоять після останнього пробілу. Якщо в рядку немає пробілів — вивести повідомлення.
  10. Дано рядок і букву. Скільки разів ця буква зустрічається від початку рядка до першої крапки? Якщо в рядку немає крапок — вивести повідомлення.
  11. Дано рядок і букву. Скільки разів ця буква зустрічається від останнього пробілу до кінця рядка? Якщо в рядку немає пробілів — вивести повідомлення.
  12. Дано рядок і букву. Скільки разів ця буква зустрічається від першого до останнього пробілу? Якщо в рядку менше двох пробілів — вивести повідомлення.
  13. Дано рядок. Знайдіть кількість символів «+», що стоять між першою та останньою цифрою. Якщо в рядку менше двох цифр — вивести повідомлення.
  14. Дано рядок. Знайдіть кількість цифрових символів, що стоять між першою та останньою буквами. Якщо в рядку менше двох літер — вивести повідомлення.
  15. Дано рядок str і дві букви bukva1 і bukva2. Визначити, скільки разів у рядку зустрічається bukva1 між першим та останнім входженням bukva2?
  16. Дано два рядки str1 і str2. Скільки разів рядок str2 входить у рядок str1?
  17. Дано два рядки. Для кожної букви першого рядка з'ясувати, чи є вона у другому. Наприклад, якщо задано слова «інформація» і «процесор», то для букв першого з них відповідь буде така: «ні ні ні так так ні ні так ні ні».

Варіанти задач

Варіант 1

  1. Дано рядок str і два символи symv1 та symv2. Замінити в усьому рядку всі символи symv1 на symv2.
  2. Дано рядок str. Видалити в цьому рядку всі пробіли від початку рядка до першої крапки. Якщо в рядку немає крапок — вивести повідомлення.
  3. Дано рядок str. Після кожного символу цього рядка вставити пробіл.

Варіант 2

  1. Дано три рядки: str, str1 та str2. Замінити в рядку str всі входження str1 на str2.
  2. Дано рядок str. Видалити в цьому рядку всі літери.
  3. Дано рядок str. Вставити «0» після кожного пробілу в першій половині рядка.

Варіант 3

  1. Дано рядок. Замінити в ньому всі пробіли на «*» від початку рядка до останньої крапки. Якщо крапок немає — вивести повідомлення.
  2. Дано рядок. Видалити з нього всі входження першого символу.
  3. Дано рядок str. Подвоїти кожен символ у цьому рядку.

Варіант 4

  1. Дано рядок. Замінити в ньому всі входження «ох» на «ха» від першого пробілу до кінця рядка. Якщо пробілів немає — вивести повідомлення.
  2. Дано рядок str. Видалити в ньому всі літери та цифри.
  3. Дано рядок str і символ symv. Вставити пробіл перед кожним входженням символу symv.

Варіант 5

  1. Дано рядок str і символ symv. Замінити в усьому рядку всі літери на symv.
  2. Дано рядок. Видалити з нього всі зайві пробіли, залишивши по одному замість кількох.
  3. Дано рядок str. Вставити пробіл перед і після кожного мінуса у другій половині рядка.

Варіант 6

  1. Дано рядок str і символ symv. Замінити в усьому рядку всі літери та цифри на symv.
  2. Дано рядок str. Видалити в ньому всі входження підрядка «ох» від останнього пробілу до кінця рядка. Якщо пробілів немає — вивести повідомлення.
  3. Дано рядок str і два символи symv1 та symv2. Вставити символ symv2 перед кожним входженням символу symv1.

Варіант 7

  1. Дано рядок str і три символи symv1, symv2 і symv3. Замінити в рядку всі символи symv1 на symv2 від початку рядка до останнього входження symv3. Якщо symv3 не знайдено — вивести повідомлення.
  2. Дано рядок str. Видалити з першої половини цього рядка всі входження першого символу.
  3. Дано рядок str. Перед кожною літерою вставити підкреслення.

Варіант 8

  1. Дано рядок str і символ symv. Замінити в усьому рядку всі малі літери на symv.
  2. Дано рядок str. Видалити з другої половини цього рядка всі зайві пробіли, залишивши по одному.
  3. Дано рядок str. Вставити «!» перед кожним пробілом від початку рядка до останньої крапки. Якщо крапок немає — вивести повідомлення.

Варіант 9

  1. Дано три рядки: str, str1, str2 і символ symv. Замінити в рядку str всі входження рядка str1 на str2 від першого входження symv до кінця рядка. Якщо символ symv не знайдено — вивести повідомлення.
  2. Дано рядок str. Видалити в ньому всі розділові знаки.
  3. Дано рядок str. Вставити «!!!» після кожного «ох» від першого пробілу до кінця рядка. Якщо пробілів немає — вивести повідомлення.

Варіант 10

  1. Дано три рядки: str, str1 і str2. Замінити в рядку str всі входження str1 на str2 від початку рядка до останньої крапки. Якщо крапок немає — вивести повідомлення.
  2. Дано рядок str. Видалити в ньому всі великі літери.
  3. Дано рядок str і символ symv. Після кожної малої російської літери вставити symv.

Варіант 11

  1. Дано рядок str. Замінити в усьому рядку всі малі літери на відповідні великі.
  2. Дано рядок str і символ symv. Видалити цей символ від початку рядка до останньої крапки. Якщо крапок немає — вивести повідомлення.
  3. Дано рядок str і символ symv. Після кожного розділового знака вставити symv.

Варіант 12

  1. Дано рядок str. Замінити в усьому рядку всі великі літери на відповідні малі.
  2. Дано рядок str. Видалити в ньому всі англійські літери.
  3. Дано рядок str і три символи symv1, symv2 та symv3. Вставити symv2 перед кожним символом symv1 від початку рядка до останнього входження symv3. Якщо symv3 не знайдено — вивести повідомлення.

Варіант 13

  1. Дано рядок str і два символи symv1 та symv2. Замінити в рядку str всі входження symv1 на symv2 від першої до останньої крапки. Якщо крапок менше двох — вивести повідомлення.
  2. Дано рядок str. Видалити в ньому всі малі англійські літери.
  3. Дано рядок str. У першій половині цього рядка перед кожною великою літерою вставити відповідну малу.

Варіант 14

  1. Дано рядок str і символ symv. Замінити всі великі літери на symv від початку рядка до останнього пробілу. Якщо пробілів немає — вивести повідомлення.
  2. Дано два рядки: str1 і str2. Видалити в рядку str1 всі входження рядка str2 від першого пробілу до кінця рядка. Якщо пробілів немає — вивести повідомлення.
  3. Дано рядок str і символ symv. Перед кожною великою англійською літерою вставити symv.

Варіант 15

  1. Дано рядок str і символ symv. Замінити в усьому рядку всі англійські літери на symv.
  2. Дано рядок str. Видалити всі великі літери від останньої крапки до кінця рядка. Якщо крапок немає — вивести повідомлення.
  3. Дано рядок str і три символи symv1, symv2 та symv3. Вставити symv2 після кожного входження symv1 від першого входження symv3 до кінця рядка. Якщо symv3 не знайдено — вивести повідомлення.

Варіант 16

  1. Дано рядок str. Замінити всі великі літери на малі від першого пробілу до кінця рядка. Якщо пробілів немає — вивести повідомлення.
  2. Дано рядок str і два символи symv1 та symv2. Видалити в рядку всі символи symv1 від початку рядка до останнього входження symv2. Якщо symv2 не знайдено — вивести повідомлення.
  3. Дано рядок str. У першій половині прорідити символи пробілами, а в другій — після кожної літери вставити кому.

Варіант 17

  1. Дано речення російською мовою. Перекласти його тарабарською мовою (глуху приголосну замінити на дзвінку і навпаки).
    Наприклад:
    Сегодня школьник, завтра академик. — російською
    Зекотня жгольниг, сафдра агатемиг — тарабарською
  2. Дано рядок str. Видалити всі малі літери від початку рядка до першого пробілу. Якщо пробілів немає — вивести повідомлення.
  3. Дано рядок str. У першій половині подвоїти всі літери, у другій — після кожної малої літери вставити відповідну велику.

Назад Вперед Зміст