SLC-S21W3 [SUMMARY] - Strings in C

in Ukraine on Steem10 hours ago


image.png

Пригадую себе в школі, як після контрольної роботи в нас була "робота над помилками"...
Коротко прокоментую домашні завдання

Спочатку нагадаю що оголошення масиву розміром 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

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

Ще раз, дякую. До зустрічі!

material for reviewㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ‎‎
image.png1. Who is a programmer? What should have been done earlier to become a programmer in the future?
image.png2. How to Prepare Yourself for Programming?
image.png3. Writing the first code
image.png4. Decision Making in Programming: If-Then-Else
image.png5. Iteration in Programming: For, While, and Do-While Loops
image.png6. Practice cycles and Guess the number game
image.png1. (7) Learn more about variable types. Subroutines. Practice problems.
image.png2. (8) Programming arrays
image3. (9) Strings in C. C-style strings
image.png4. (10) Recursia