Назад
Вперед
Зміст
Задачі з рядками
Приклад 1
Дано текстовий файл 1.txt, що містить російський текст. Переписати з цього файлу до файлу 2.txt усі рядки, довжина яких більша за 11.
Спосіб 1 (з перекодуванням)
Це завдання виконується за таким планом:
- За допомогою програми «Блокнот» створити текстовий файл
1.txt у кодуванні ANSI. Зберегти у папці bin\Debug.

Файл повинен містити рядки різної довжини: більше 11 символів і менше. Наприклад:

- Скласти програму, яка виконує дію за умовою:
static void Main(string[] args)
{
// Створення об'єкта для читання файлу
// Файл у кодуванні Windows-1251 (кирилиця)
StreamReader f1 = new StreamReader("1.txt", Encoding.GetEncoding(1251));
// Створення об'єкта для запису у файл
// Запис у кодуванні Windows-1251 (кирилиця)
// Параметр false означає перезапис файлу (не додавання)
StreamWriter f2 = new StreamWriter("2.txt", false, Encoding.GetEncoding(1251));
string s; // Змінна для зберігання рядка
int L = 0; // Змінна для довжини рядка
// Читання рядків поки не досягнемо кінця файлу
while (f1.EndOfStream != true)
{
// Читання поточного рядка
s = f1.ReadLine();
// Визначення довжини рядка
L = s.Length;
// Якщо довжина рядка більша за 11 символів - запис у новий файл
if (L > 11) f2.WriteLine(s);
}
// Закриття файлових потоків
f1.Close();
f2.Close();
// Очікування натискання клавіші перед завершенням
Console.ReadKey();
}
- Програма нічого не виведе на екран. Результат у файлі
2.txt (у тій самій папці). Кодування файлу — ANSI.

Спосіб 2 (без перекодування)
- Зберегти файл
1.txt у кодуванні UTF-8:


- При читанні перекодування не потрібне, вихідний файл
2.txt також буде у кодуванні UTF-8.
static void Main(string[] args)
{
// Створення об'єкта для читання файлу
// Використовується кодування UTF-8 за замовчуванням
StreamReader f1 = new StreamReader("1.txt");
// Створення об'єкта для запису у файл
// Використовується кодування UTF-8 за замовчуванням
StreamWriter f2 = new StreamWriter("2.txt");
string s; // Змінна для зберігання рядка
int L = 0; // Змінна для довжини рядка
// Читання рядків поки не досягнемо кінця файлу
while (!f1.EndOfStream) // Виправлено помилку (findOfStream → EndOfStream)
{
// Читання поточного рядка
s = f1.ReadLine();
// Визначення довжини рядка
L = s.Length;
// Якщо довжина рядка більша за 11 символів - запис у новий файл
if (L > 11)
{
f2.WriteLine(s);
}
}
// Закриття файлових потоків
f1.Close();
f2.Close();
// Очікування натискання клавіші перед завершенням
Console.ReadKey();
}
- Вихідний файл у кодуванні UTF-8:

Приклад 2
Дано текстовий файл 1.txt. Переписати в 2.txt усі рядки таким чином: код кожного символу збільшити на 1.
- Створити файл
1.txt у кодуванні UTF-8:

- Написати програму:
static void Main(string[] args)
{
// Читання файлу у кодуванні UTF-8
StreamReader f1 = new StreamReader("1.txt");
// Запис файлу у кодуванні UTF-8
StreamWriter f2 = new StreamWriter("2.txt");
string s1, s2; // s1 - вхідний рядок, s2 - перетворений рядок
int L = 0, i, k; // L - довжина рядка, i - лічильник, k - код символу
// Читання файлу до кінця
while (!f1.EndOfStream)
{
// Читання рядка
s1 = f1.ReadLine();
// Отримання довжини рядка та ініціалізація s2
L = s1.Length;
s2 = "";
// Обробка кожного символу рядка
for (i = 0; i < L; i++)
{
// Отримання коду символу та його збільшення на 1
k = (int)s1[i];
k++;
// Додавання перетвореного символу до нового рядка
s2 = s2 + (char)k;
}
// Запис перетвореного рядка у вихідний файл
f2.WriteLine(s2);
}
// Закриття файлів
f1.Close();
f2.Close();
// Очікування натискання клавіші
Console.ReadKey();
}
- Результат переглянути у файлі
2.txt:

Приклад 3
Дано два текстові файли 1.txt і 2.txt. Створити 3.txt таким чином: перша половина — з 1.txt, друга — з 2.txt.
- Створити файли
1.txt та 2.txt у папці bin\Debug:


- Скласти програму:
static void Main(string[] args)
{
// Відкриття файлів для читання та запису
StreamReader f1 = new StreamReader("1.txt"); // Перший вхідний файл
StreamReader f2 = new StreamReader("2.txt"); // Другий вхідний файл
StreamWriter f3 = new StreamWriter("3.txt"); // Вихідний файл
string s; // Змінна для зберігання рядка
int i; // Лічильник
int k1 = 0; // Лічильник рядків у першому файлі
int k2 = 0; // Лічильник рядків у другому файлі
// Підрахунок кількості рядків у першому файлі
while (!f1.EndOfStream)
{
s = f1.ReadLine();
k1++;
}
// Підрахунок кількості рядків у другому файлі
while (!f2.EndOfStream)
{
s = f2.ReadLine();
k2++;
}
// Закриття файлів
f1.Close();
f2.Close();
// Визначення кількості рядків у половині кожного файлу
k1 = k1 / 2;
k2 = k2 / 2;
// Відкриття першого файлу знову для читання з початку
StreamReader f11 = new StreamReader("1.txt");
// Читання та запис першої половини першого файлу
for (i = 1; i <= k1; i++)
{
s = f11.ReadLine();
f3.WriteLine(s); // Запис у вихідний файл
}
// Відкриття другого файлу знову для читання з початку
StreamReader f22 = new StreamReader("2.txt");
// Пропуск першої половини другого файлу
for (i = 1; i <= k2; i++)
{
s = f22.ReadLine();
}
// Читання та запис другої половини другого файлу
while (!f22.EndOfStream)
{
s = f22.ReadLine();
f3.WriteLine(s); // Запис у вихідний файл
}
// Закриття всіх файлів
f11.Close();
f22.Close();
f3.Close();
// Очікування натискання клавіші
Console.ReadKey();
}
- Результат — файл
3.txt:

Варіанти задач
Варіант 1
- Дано файл
1.txt. Переписати в 2.txt усі рядки, крім третього.
- Дано файл
1.txt. Переписати всі рядки, додаючи на початок кожного рядка символ "*".
- Дано файл
1.txt. Усі літери "c" замінити на "d" та записати в 2.txt.
- Дано два файли
1.txt і 2.txt. Створити 3.txt, записавши спочатку всі рядки з 1.txt, потім з 2.txt.
Варіант 2
- Дано файл
1.txt. Переписати рядки з 3-го по 6-й у 2.txt.
- Дано файл
1.txt. До кожного рядка додати в кінці "!!!" та записати у 2.txt.
- Ввести з клавіатури два символи. З
1.txt у 2.txt переписати рядки, замінюючи всі входження першого символа на другий.
- Дано два файли. У
3.txt спочатку записати вміст 2.txt, потім — 1.txt.
Варіант 3
- Ввести з клавіатури число K. У
2.txt записати всі рядки з 1.txt, крім K-го.
- Додати до кожного рядка
1.txt символи «-» на початку і в кінці. Записати в 2.txt.
- Усі пробіли у рядках
1.txt замінити на підкреслення та зберегти у 2.txt.
- Ввести число n. У
3.txt записати n рядків з 1.txt, а потім усі рядки з 2.txt. Якщо n більше за кількість рядків — скопіювати всі.
4 варіант
- Дано текстовий файл 1.txt. Ввести з клавіатури числа s1 і s2. Переписати з цього файлу у файл 2.txt усі рядки з s1-го по s2-й.
- Дано текстовий файл 1.txt. Ввести з клавіатури два будь-які символи. Переписати з цього файлу у файл 2.txt усі рядки, вставляючи на початок рядка перший символ і додаючи в кінець рядка другий символ.
- Дано текстовий файл 1.txt. Переписати з цього файлу у файл 2.txt усі рядки таким чином: усі голосні англійські літери замінити на знак підкреслення.
- Дано два текстові файли 1.txt і 2.txt. Ввести з клавіатури ціле число n. Створити файл 3.txt таким чином: спочатку переписати усі рядки з файлу 1.txt, потім n рядків з файлу 2.txt. Якщо n більше, ніж кількість рядків у файлі, то переписати всі рядки.
5 варіант
- Дано текстовий файл 1.txt. Ввести з клавіатури число M. Переписати з цього файлу у файл 2.txt усі рядки, довжина яких менша за M.
- Дано текстовий файл 1.txt. Переписати з цього файлу у файл 2.txt усі рядки, додаючи на початок кожного рядка символ «+», якщо рядок починається з символу «С», і символ «*» в інших випадках.
- Дано текстовий файл 1.txt. Переписати з цього файлу у файл 2.txt усі рядки таким чином: усі великі англійські літери перетворити на малі.
- Дано два текстові файли 1.txt і 2.txt. Ввести з клавіатури ціле число n. Створити файл 3.txt таким чином: спочатку n рядків з файлу 1.txt, потім n рядків з файлу 2.txt. Якщо n більше, ніж кількість рядків у файлі, то переписати всі рядки.
6 варіант
- Дано текстовий файл 1.txt. Переписати з цього файлу у файл 2.txt усі рядки, крім порожніх (із довжиною 0).
- Дано текстовий файл 1.txt. Переписати з цього файлу у файл 2.txt усі рядки, додаючи в кінці кожного рядка символ "*", якщо рядок закінчується на символ «;».
- Дано текстовий файл 1.txt. Переписати з цього файлу у файл 2.txt усі рядки таким чином: усі малі російські літери перетворити на великі.
- Дано два текстові файли 1.txt і 2.txt. Ввести з клавіатури ціле число n. Створити файл 3.txt таким чином: спочатку переписати n рядків з файлу 1.txt, потім n рядків з файлу 2.txt. На початок кожного рядка файлу 3.txt додати номер рядка. Якщо n більше, ніж кількість рядків у файлі, то переписати всі рядки.
7 варіант
- Дано текстовий файл 1.txt. Переписати з цього файлу у файл 2.txt усі рядки, що починаються на літеру «к».
- Дано текстовий файл 1.txt. Ввести з клавіатури будь-який символ. Переписати з цього файлу у файл 2.txt усі рядки, причому, якщо рядок не закінчується на введений символ, додати його в кінець рядка.
- Дано текстовий файл 1.txt. Переписати з цього файлу у файл 2.txt усі рядки таким чином: усі великі англійські літери перетворити на малі, а всі малі англійські літери перетворити на великі.
- Дано два текстові файли 1.txt і 2.txt. Ввести з клавіатури ціле число n. Створити файл 3.txt таким чином: кожен рядок третього файлу дорівнює сумі перших n символів відповідних рядків першого і другого файлів. Якщо n більше, ніж кількість символів у рядку, то додавати увесь рядок. Якщо перший і другий файли мають різну кількість рядків, то наприкінці записуються перші n символів рядків лише одного файлу.
8 варіант
- Дано текстовий файл 1.txt. Переписати з цього файлу у файл 2.txt усі рядки, що закінчуються на крапку «.».
- Дано текстовий файл 1.txt. Переписати з цього файлу у файл 2.txt усі рядки, причому, якщо рядок починається і закінчується на однакові літери, додати в кінець рядка символ «!».
- Дано текстовий файл 1.txt. Переписати з цього файлу у файл 2.txt усі рядки таким чином: якщо довжина рядка більша за 10, переписуються лише перші 10 символів рядка, якщо менша або дорівнює 10, то рядок переписується повністю.
- Дано два текстові файли 1.txt і 2.txt. Ввести з клавіатури ціле число n. Створити файл 3.txt таким чином: кожен рядок третього файлу дорівнює сумі перших n символів відповідних рядків першого і другого файлів. Якщо n більше, ніж кількість символів у рядку, то додавати увесь рядок. В кінці кожного рядка файлу 3.txt додати номер рядка. Якщо перший і другий файли мають різну кількість рядків, то наприкінці записуються перші n символів рядків лише одного файлу.
9 варіант
- Дано текстовий файл 1.txt. Ввести з клавіатури будь-який символ. Переписати з цього файлу у файл 2.txt усі рядки, що починаються і закінчуються на цей символ.
- Дано текстовий файл 1.txt. Переписати з цього файлу у файл 2.txt усі рядки. Якщо рядок починається з малої російської літери, перетворити цю літеру на велику.
- Дано текстовий файл 1.txt і число К. Переписати з цього файлу у файл 2.txt усі рядки, видаляючи з початку кожного рядка К символів (якщо довжина рядка менша за К, записати замість цього рядка порожній рядок).
- Дано два текстові файли 1.txt і 2.txt. Створити файл 3.txt таким чином: рядок з файлу 1.txt, рядок з файлу 2.txt, рядок з файлу 1.txt, рядок з файлу 2.txt і так далі.
10 варіант
- Дано текстовий файл 1.txt. Переписати з цього файлу у файл 2.txt усі рядки, що починаються і закінчуються на однакові символи.
- Дано текстовий файл 1.txt. Переписати з цього файлу у файл 2.txt усі рядки. Якщо рядок закінчується на цифру, додати на початок рядка символ «+», а в кінець символ "="; в інших випадках нічого не додавати.
- Дано текстовий файл 1.txt. Переписати з цього файлу у файл 2.txt усі рядки таким чином: прибрати всі пробіли.
- Дано два текстові файли 1.txt і 2.txt. Створити файл 3.txt таким чином: рядок з файлу 1.txt, рядок з файлу 2.txt, рядок з файлу 1.txt, рядок з файлу 2.txt і так далі. На початок кожного рядка файлу 3.txt вставити номер рядка.
11 варіант
- Дано текстовий файл 1.txt. Переписати з цього файлу у файл 2.txt усі рядки, що починаються з великої російської літери.
- Дано текстовий файл 1.txt. Переписати з цього файлу у файл 2.txt усі рядки, вставляючи в кінець кожного рядка його порядковий номер.
- Дано текстовий файл 1.txt. Переписати з цього файлу у файл 2.txt усі рядки таким чином: розрідити символи пробілами (після кожного символу додати пробіл).
- Дано два текстові файли 1.txt і 2.txt. Створити файл 3.txt таким чином: спочатку з файлу 1.txt переписуються рядки, що починаються з великої англійської літери, потім з файлу 2.txt переписуються рядки, що починаються з великої англійської літери, потім з файлу 1.txt переписуються усі інші рядки, і з файлу 2.txt переписуються усі інші рядки.
12 варіант
- Дано текстовий файл 1.txt. Переписати з цього файлу у файл 2.txt усі рядки, що закінчуються на цифру.
- Дано текстовий файл 1.txt. Переписати з цього файлу у файл 2.txt усі рядки, вставляючи після кожного рядка порожній рядок.
- Дано текстовий файл 1.txt. Переписати з цього файлу у файл 2.txt усі рядки таким чином: прибрати зайві пробіли (не може бути двох, трьох і більше пробілів поспіль).
- Дано два текстові файли 1.txt і 2.txt. Створити файл 3.txt таким чином: спочатку з файлу 1.txt переписуються рядки, які закінчуються на крапку, потім з файлу 2.txt переписуються рядки, які закінчуються на крапку, потім з файлу 1.txt переписуються усі інші рядки, і з файлу 2.txt переписуються усі інші рядки.
13 варіант
- Дано текстовий файл 1.txt. Переписати з цього файлу у файл 2.txt усі рядки, що починаються з малої англійської літери.
- Дано текстовий файл 1.txt і рядок S. Переписати з цього файлу у файл 2.txt усі рядки, додавши рядок S на початок і в кінець нового файлу.
- Дано текстовий файл 1.txt. Переписати з цього файлу у файл 2.txt усі рядки таким чином: зашифрувати їх, виконавши циклічну заміну кожної літери на наступну в алфавіті, зберігаючи регістр літер ("А" перетвориться в "B", "B" в "C", "z" в "a" і так далі). Символи, які не є літерами, не змінювати.
- Дано два текстові файли 1.txt і 2.txt. Створити файл 3.txt таким чином: спочатку з файлу 1.txt переписуються рядки, що починаються з цифри, потім з файлу 2.txt переписуються рядки, що починаються з цифри, потім з файлу 1.txt переписуються усі інші рядки, і з файлу 2.txt переписуються усі інші рядки.
14 варіант
- Дано текстовий файл 1.txt. Переписати з цього файлу у файл 2.txt усі рядки, що починаються і закінчуються на цифру.
- Дано текстовий файл 1.txt. Переписати з цього файлу у файл 2.txt усі рядки. Якщо рядок починається з малої англійської літери, перетворити цю літеру на велику.
- Дано текстовий файл 1.txt. Переписати з цього файлу у файл 2.txt усі рядки таким чином: замінити російську літеру відповідною англійською (брати не всі російські літери, а лише ті, які можна замінити іншою англійською літерою, наприклад «абвгдежзиклмнопрст»).
- Дано два текстові файли 1.txt і 2.txt. У файлах мають бути цифри і літери. Створити файл 3.txt таким чином: спочатку з усіх рядків файлу 1.txt переписуються цифри, потім з усіх рядків файлу 2.txt переписуються цифри. Тобто у файлі 3.txt у кожному рядку будуть лише цифри.
15 варіант
- Дано два текстові файли 1.txt і 2.txt. Переписати у файл 3.txt спочатку рядки з файлу 1.txt, а потім рядки з файлу 2.txt.
- Дано текстовий файл 1.txt. Переписати з цього файлу у файл 2.txt усі рядки, вставляючи перед 3-ю, 4-ю та 7-ю рядками рядок з 10 мінусів.
- Дано текстовий файл 1.txt. Ввести з клавіатури число К. Переписати з цього файлу у файл 2.txt усі рядки таким чином: зашифрувати кожен рядок, виконавши циклічну заміну кожної літери на літеру того ж регістру, розташовану в алфавіті на К-му місці після літери, що шифрується. Наприклад, для К = 2 "А" перетвориться в "C", "B" в "D", "z" в "b" і так далі. Символи, які не є літерами, не змінювати.
- Дано два текстові файли 1.txt і 2.txt. Створити файл 3.txt таким чином: спочатку з файлу 1.txt переписуються рядки, які закінчуються на кому, потім з файлу 2.txt переписуються рядки, які закінчуються на кому, потім з файлу 1.txt переписуються усі інші рядки, і з файлу 2.txt переписуються усі інші рядки.
16 варіант
- Дано два текстові файли 1.txt і 2.txt. Створити файл 3.txt таким чином: кожен рядок третього файлу дорівнює сумі відповідних рядків першого і другого файлів. Якщо перший і другий файли мають різну кількість рядків, то наприкінці записуються рядки лише одного файлу.
- Дано текстовий файл 1.txt. Переписати з цього файлу у файл 2.txt усі рядки, вставляючи перед рядками, які закінчуються на цифру, порожній рядок.
- Дано текстовий файл 1.txt. Переписати з цього файлу у файл 2.txt усі рядки таким чином: перевести кожен рядок з російської мови на тарабарську (глухий приголосний замінити на дзвінкий і навпаки). Наприклад:
Сьогодні школяр, завтра академік Російською Зекотня жгольниг, сафдра агатемиг Тарабарською
- Дано два текстові файли 1.txt і 2.txt. У файлах мають бути цифри і літери. Створити файл 3.txt таким чином: спочатку з усіх рядків файлу 1.txt переписуються лише літери, потім з усіх рядків файлу 2.txt переписуються літери. Тобто у файлі 3.txt у кожному рядку будуть лише літери.
17 варіант
- Дано два текстові файли 1.txt і 2.txt. Створити файл 3.txt таким чином: кожен рядок третього файлу дорівнює найдовшому з відповідних рядків першого і другого файлів. Якщо відповідні рядки обох файлів мають однакову довжину, вибрати рядок з файлу 1.txt. Якщо перший і другий файли мають різну кількість рядків, то наприкінці записуються рядки лише одного файлу.
- Дано текстовий файл 1.txt. Переписати з цього файлу у файл 2.txt усі рядки, вставляючи перед рядками, які починаються і закінчуються на цифру, рядок з 10 «*».
- Дано текстовий файл 1.txt. Переписати з цього файлу у файл 2.txt усі рядки таким чином: усі цифри замінити словами.
- Дано текстовий файл 1.txt. У файлі мають бути цифри і літери. Створити файли 2.txt і 3.txt таким чином: з кожного рядка файлу 1.txt у файл 2.txt переписуються лише літери, а у файл 3.txt — лише цифри.
Назад
Вперед
Зміст