Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти і науки, молоді та спорту України
Національний університет “Львівська політехніка”
Кафедра ЕОМ
РОЗРАХУНКОВА РОБОТА
з дисципліни: “Основи алгоритмізації та програмування”
Львів-2012
Завдання
Заповнити сектори матрицi, якi лежать вище i нижче вiд головної та побiчної дiагоналей, значеннями вектора b1, b2, ... , b32, вiд лiвого верхньго кута вправо - вниз. Решта матрицi заповнити нулями. ( Примiтка. На малюнку вказанi iндекси елементiв вектора b.)
Розрахунковий розділ
Блок-схема алгоритму:
Текст програми:
#include <stdio.h>
#include <conio.h>
#define N 9
#define M (N * N + 1)/ 2 - N
int main()
{
/* Опис змінних */
int matrix[N][N];
int indexb[M];
int i, j;
int counter = 0;
/* Створюємо, зростаючи послідовність */
for (i = 0; i < M; i++)
{
indexb[i] = i + 1;
}
/* Заповнюємо матрицю нулями, рядок за рядком */
for (i = 0; i < N; i++)
{
for (j = 0; j < N; j++)
{
matrix[i][j] = 0;
}
}
/* Переміщуємося по горизонталі матриці */
for (i = 0; i < N; i++)
{
/* Переносимо, зростаючи послідовність послідовно по вертикалі з відступами з початку і з кінця на крок +1 відносно порядку горизонталі, але лише до середини матриці відносно вертикалі */
for (j = i + 1; j < N - i - 1; j++)
{
matrix[i][j] = indexb[counter++];
}
/* Переносимо, зростаючи послідовність послідовно по вертикалі з відступами з початку і з кінця на крок +1 відносно порядку горизонталі, але починаючи з середини матриці відносно вертикалі */
for (j = N - i; j < i; j++)
{
matrix[i][j] = indexb[counter++];
}
}
printf("matrix:\n");
/* Виводимо результат: рядок за рядком з кроком табуляції між елементами в рядку */
for (i = 0; i < N; i++)
{
for (j = 0; j < N; j++)
{
printf("%d\t", matrix[i][j]);
}
printf("\n");
}
getch ();
return 0;
}
Результат програми:
/
Рис 1. Ескіз з результатом роботи програми
Висновки:
В цій роботі я навчився писати складні задачі на мові програмування С, використовуючи масив. Навчився формулювати алгоритми задач та подавати їх в схемах, писати коментарі, відлагоджувати програми та користуватися різними допоміжними засобами в інтегрованому середовищі Visual C++ 2005, зокрема довідковою системою. Зауважив, що масив хоча і важче використовувати, проте він заміняє багато простих операторів і тому він зручніший.
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!