SLC-S21W3 [SUMMARY] - Strings in C
1 comment
Пригадую себе в школі, як після контрольної роботи в нас була "робота над помилками"...
Коротко прокоментую домашні завдання
Спочатку нагадаю що оголошення масиву розміром N - int a[N] дає N елементів типу int, розміщених в пам'яті.
Пеhший елемент a[0], а останній - a[N-1]. І коли розмір масиву N - індекс рівний N не може були, це вже вихід за межі.
Перше завдання полягало в тому щоб продемонструвати два розміри масиву - фізичний і логічний(уявний, поточний). Ви могли помітити що у рядках це теж присутнє, але реальний розмір задається не числом а спеціальним символом.
Другим завданням було розвернути рядок - "12345" => "54321". І як я вже говорив, потворю ще тут про три кроки спрощення задачі.
- спочатку зробити видимість розв'язку, тобто масив не перетворювати, а лиш вивести на екран необхідний результат. (Імітувати розв'язок)
- вирішити завдання з допомогою додаткового масиву. Тобто спочатку результат вписати в додатковий масив, а після його формування переписати у даний масив. Адже задача була змінити саме цей масив певним чином.
- виконані два попередні пункти дадуть можливість збагнути як розв'язувати задачу без такого "послаблення.
але при переході до третього кроку слід було ще й не весь масив проходити, Адже за один крок ми обробляли вдвічі більше масивів.
В задачі ж циклічного зсуву - всі розв'язали одним способом, запам'ятати перший(останній), зсунути всі вліво(праворуч), відновити в кінець(початок) раніше запам'ятований елемент.
Але одного разу учень мені сказав не подумавши, треба перший поміняти з останнім, потім другий переміняти з останнім....
Задачу з видаленням розв'язати відносно просто, так як зайве місце потрібне - довжина рядка лиш зменшиться.
А от задачу з вставкою - її не розв'язати якщо оригінальний рядок не містив місця для "зайвих" літер.
Циклічний зсув слід оформлювати функцією, і навіть зробити ще більше. Робити зсув не всього масиву а лише його певної частини - наприклад з 3 по 8й елемент
Дуже приємно що знайшлася така кількість учасників - радий знайомству з новими комп 'ютерниками.))
Чотири найкращі роботи
1 | @ady-was-here | Домашня робота | 10 |
2 | @event-horizon | Домашня робота | 9.1 |
3 | @mohammadfaisal | Домашня робота | 9.0 |
4 | @akmalshakir | Домашня робота | 8.8 |
Дякую, що взяли участь у навчанні, особливо тим, хто нічого з програмуванням не стикався з цим, важливо читати умови та поданий навчальний матеріал.
Ще раз, дякую. До зустрічі!
Comments