Шановні учасники конкурсу!
Спочатку про загальні проблеми, причому одна з них стосується більшості учасників: вчіться уважно читати завдання і не відступати від нього. Творчість заохочується при виконаному завданні.
Отже, щодо завданнь
-
Не в усіх висланих програмах присутнє рішення. У кількох роботах є програма яка приймає на вхід дані заносить їх у структури даних, але не виконує при цьому поставленого завдання.
-
Є помилки при використанні вмісту масиву. Масив, який оголошено, але не проініціалізовано, за умовчанням заповнюється нульовими значеннями.
-
Є помилки виходу за межі виділеної пам'яті, пов’язані з неправильним відліком елементів масиву
Трохи теорії
-
Відлік елементів масиву в С починається з «0», а не з «1»
-
Відлік біт в байті йде від молодшого (правого) біта до старшого (лівого).
-
Якщо масив оголошений глобально і ініціалізований, то всі його елементи инициализируются 0, якщо масив оголошений локально, його, зазвичай треба ініціалізувати самому, але у використаному компіляторі Microsoft Visual Studio 2008 він так само автоматично встановлюється в "0".
-
Відлік елементів двовимірного масиву так само починається з «0», тобто елементи масиву з 5-ти символів будуть доступні за адресами наприклад [4][1], [4][4], [1][4].
Тепер про роботи кожного з учасників
Айвазян Рафік
-
Вирішено лише задачу № 3.
Саша Бабіенко
-
Вислано тільки два файли по 1-й і по 2-й задачі.
-
Задача № 1 не вирішена. Програма тільки приймає вхідні значення і виводить двійкове подання числа. Перевірка біта не виконується.
-
Завдання № 2. Файл порожній. Але у файлі 1 присутнє розв’язання при виконанні виводу двійкового представлення числа. Тому за 2-ю задачу 7 балів.
Max Izumenka
-
Задача № 3 виконана.
-
Приємне враження що написана по Unix, + бал.
Микола Красан
-
Зроблено 1-а і 2-я задача. Рішення правильне.
Олена Мельникова
-
Перша задача не вирішена. Є спроба вирішення. Закритий if. Після if іточка з комою не ставиться.
-
Друга задача вирішена правильно.
Андрій Попович
-
Завдання № 3. Все правильно, але є груба помилка. Нумерація в С йде з «0» а не з «1»
Pavel Remygailo
-
Задача 1. Виконана. Але є комбінації при яких програма працює некоректно. При числі наприклад 4 (0100) якщо поставити перевірку біта № 0 і № 1. Потрібно або зробити для таких ситуацій окрему обробку за допомогою if, або здійснювати зсув маски, а не числа, або вести відлік бітів з 1-го по 8-й у цьому випадку зсув здійснювати не на position а на (position-1).
-
Задача № 2. Виконана правильно. Використання STL для перетворення типів вразило.
-
Задача № 3. Виконана неправильно. Логічна помилка в алгоритмі рядок 19: result [i] [j] = (result [i] [j]> matrix [i] [i])? 1:0; Йде порівняння обтулених значень масиву result (хоч масив і оголошений локально але в Visual Studio він і в цьому випадку забивається нулями), із значеннями головної діагоналі масиву matrix. Звичайно таке виконання неминуче призведе до того що, результат порівняння цих чисел з діагоналлю завжди буде «0».
-
Задача № 4. Рішення не надано.
-
Задача № 5 принципово вирішена. Але, учасник неуважний. Виводитися тільки один рядок, їх повинно бути 5 (це зазначено в завданні). Крім того є декілька запитань по використовуваному компілятору (Студія 2008 не працює без хідера # include <ctime>
Євген Задорожній
-
Зроблені всі завдання. Вражений тим, як використані можливості STL при вирішенні задачі № 5. Взагалі малося на увазі використання масивів і вказівниківв. За цю задачу ставлю 10. Ну це так, на перший час.
Хайленко Максим
1. Задача № 3 вирішена. У задачі № 5 виводиться тільки один рядок, їх повинно бути 5 (це зазначено в завданні). Крім того, є запитання щодо використовуваного компілятора. Справа в тому що Visual Studio 2008 не працює без хідера:
# include <ctime>
і без оголошення простору імен для оперетора управління потоком cout:
using namespace std;