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

Задачі зі словами речення

У цьому розділі подано задачі на роботу зі словами в реченні.

Словом вважатимемо будь-яку послідовність символів. Між словами мають бути пробіли. У реченні може бути одне або кілька слів.

Усі вибрані з речення слова будемо розміщувати в одновимірному масиві для подальшої обробки за відомими алгоритмами (сортування, пошук, знаходження найбільшого тощо).

Для поділу речення на слова використовуватимемо метод Split, як роздільник — пробіл.

Перегляд слів у реченні

Приклад 1

Дано речення і літера. Вивести слова цього речення, які закінчуються на цю літеру.

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

Програма

static void Main(string[] args)
{
    // Отримання вхідного рядка та символу для перевірки
    string s = Console.ReadLine();  // Вхідний рядок слів
    char bukva = Convert.ToChar(Console.ReadLine());  // Символ для перевірки в кінці слів
    char poslbukv;  // Змінна для останнього символу слова
    
    // Розділення рядка на масив слів
    string[] sl = s.Split(' ');  // Масив слів (розділених пробілами)
    
    int i, Lsl, L = sl.Length;  // i - лічильник, Lsl - довжина поточного слова, L - кількість слів
    
    // Перебір усіх слів у масиві
    for (i = 0; i < L; i++)
    {
        Lsl = sl[i].Length;  // Визначення довжини поточного слова
        poslbukv = sl[i][Lsl - 1];  // Отримання останнього символу слова
        
        // Перевірка чи збігається останній символ із заданим
        if (poslbukv == bukva) 
            Console.WriteLine(sl[i]);  // Виведення слова, якщо умова виконується
    }
    
    // Очікування натискання клавіші перед завершенням
    Console.ReadKey();
}

Із слів одного речення сформувати інше речення

Приклад 2

Дано речення. Із слів цього речення сформувати нове речення, що містить лише слова з парними номерами.

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

Програма

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

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

Варіант 1

  1. Дано речення і літеру. Вивести слова, що починаються з цієї літери.
  2. Дано речення. Сформувати нове речення, у якому перше і останнє слова поміняні місцями.

Варіант 2

  1. Дано речення. Вивести лише слова з непарними номерами, вказуючи кількість літер у кожному слові.
  2. Дано речення. Сформувати нове речення, у якому перше і друге слова поміняні місцями.

Варіант 3

  1. Дано речення і слово. Вивести всі слова, окрім вказаного.
  2. Дано речення. Сформувати нове речення, у якому після слів з парними номерами вставити «!», після слів з непарними — «?». Пробіли зберегти.

Варіант 4

  1. Дано речення. Вивести лише ті слова, що закінчуються на літеру «а».
  2. Дано речення і число t. Сформувати нове речення, до якого увійдуть усі слова, крім слова з номером t.

Варіант 5

  1. Дано речення. Вивести лише ті слова, які не збігаються з останнім словом.
  2. Дано речення і літеру. Сформувати нове речення, виключивши слова, які починаються з цієї літери.

Варіант 6

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

Варіант 7

  1. Дано речення. Вивести слова, які починаються і закінчуються на ту саму літеру.
  2. Сформувати два нових речення: одне зі слів з непарними номерами, друге — з парними.

Варіант 8

  1. Дано речення. Надрукувати слова, замінюючи закінчення «ing» на «ed».
  2. Сформувати нове речення лише з симетричних слів (наприклад, «шалаш»).

Варіант 9

  1. Дано речення. Надрукувати слова, замінивши першу літеру кожного слова на велику.
  2. Сформувати нове речення, переставивши слова попарно: 1 з 2, 3 з 4 тощо. Якщо кількість слів непарна — останнє не переставляти.

Варіант 10

  1. Дано речення. У кожному слові переставити першу літеру в кінець слова.
  2. Дано число k. Зсунути слова циклічно на k позицій. Наприклад, при k = 2 і 8 словах: 3 4 5 6 7 8 1 2.

Варіант 11

  1. Знайти найдовше слово в реченні. Якщо таких кілька — вибрати перше.
  2. Дано два речення. Сформувати третє: слова з непарними номерами з першого речення + парні з другого.

Варіант 12

  1. Надрукувати слова, в яких перша літера зустрічається більше одного разу.
  2. Сформувати нове речення: слова з непарними номерами виводити в зворотному порядку (наприклад, «мама» → «амам»), парні — не виводити.

Варіант 13

  1. Надрукувати слова парної довжини у зворотному порядку (наприклад, «мама» → «амам»).
  2. Сформувати нове речення з трьох найдовших слів.

Варіант 14

  1. Знайти слово з найбільшою кількістю голосних (латиниця).
  2. Сформувати нове речення з трьох найкоротших слів.

Варіант 15

  1. Надрукувати всі слова у порядку зростання їх довжини.
  2. Сформувати нове речення: слова в алфавітному порядку без повторів.

Варіант 16

  1. Надрукувати всі слова, в яких літери розташовані в алфавітному порядку.
  2. Сформувати речення з неповторюваних слів.

Варіант 17

  1. Надрукувати всі слова, в яких немає повторюваних літер.
  2. Дано два речення. Сформувати третє з усіх унікальних слів, які трапляються хоча б в одному реченні (повторювані — один раз).

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