Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Засоби вiдлагодження iнтегрованого середовища Visual C++ 2005: точки переривання, покрокове виконання. Розв'язування на С задач, в яких використовуються числовi масиви та визначення i виклик функцiй

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Не вказано

Інформація про роботу

Рік:
2015
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Основи алгоритмізації та програмування

Частина тексту файла

Міністерство освіти і науки Національний університет „Львівська політехніка” Кафедра EОМ Звіт з лабораторної роботи №5 з дисципліни: “Основи алгоритмізації та програмування ” «Засоби вiдлагодження iнтегрованого середовища Visual C++ 2005: точки переривання, покрокове виконання. Розв'язування на С задач, в яких використовуються числовi масиви та визначення i виклик функцiй» 2015 Мета роботи Познайомитися iз основними засобами вiдлагодження iнтегрованого середовища Visual C++ 2005; Познайомитися iз засобами опису функцiй та виклику їх в мовi програмування С; Познайомитися iз використанням масивiв в мовi програмування С. Завдання лабораторної роботи 4-7. Задані дійсні числа x, y. Отримати: / 5-7. Задані дійсні числа a 1 , b 1 , a 2 , b 2 , . . . , a 24 , b 24 . (a i < b i ). Розглядаючи пари a i і b i як ліві і праві кінці відрізків на тій самій прямій, визначити кінці відрізка, який є перетином всіх цих відрізків. Якщо такого відрізка нема, то повідомити про це. 6-7. Заповнити сектори матрицi, якi лежать влiво i вправо вiд головної та побiчної дiагоналей, значеннями вектора b1, b2, ... , b32, вiд лiвого верхньго кута вниз - вправо. Решта матрицi заповнити нулями. Хід виконання роботи 1.Текст першої програми: #include <stdio.h> #include <math.h> int sign(double x); int main(void) { double x, y, z; // Ввід x i y scanf("%lf", &x); scanf("%lf", &y); // Обчислення умови задачі z = (sign(x) + sign(y)) * (sqrt(x * sign(x)) + sqrt(y * sign(y))); printf("%f\n", z); return 0; } // Обчислення потрібного значення в залежності від переданого параметра int sign(double x) { int a; if (x == 0) a = 0; else { if (x < 0) a = -1; else a = 1; } return (a); } Результат виконання програми: / Рис. 1. Результат виконання програми Моя програма правильно інтерпретувала введені числа і обчислила результат(рис. 1) згідно заданої умови. 2.Текст другої програми: #include <stdio.h> #include <conio.h> #define N 25 int main(void) { int x[N], y[N], k = 0, k1 = 0; int desux = 0, desuy = 0; // Тимчасові змінні для зберігання координат //Цикл для вводу координат x і у while (k <= N) { scanf("%d", x + k); scanf("%d", y + k); // Умова переревання вводу координат if (y[k] == 404 && x[k] == 404) break; k++; } while (k1 <= k - 2) { // Вихід з циклу якщо відрізки не перетинаються if (x[k1] < x[k1 + 1] && x[k1+1] > y[k1] && y[k1] < y[k1 + 1]) break; if (x[k1] > x[k1 + 1] && x[k1] > y[k1+1] && y[k1] > y[k1 + 1]) break; // Перевірка на перетин за різних умов if (x[k1] < x[k1 + 1] && y[k1] > y[k1 + 1]) { desux = x[k1 + 1]; desuy = y[k1 + 1]; } if (x[k1] > x[k1 + 1] && y[k1] < y[k1 + 1]) { desux = x[k1]; desuy = y[k1]; } if (x[k1] > x[k1 + 1] && x[k1] < y[k1 + 1] && y[k1] > y[k1 + 1]) { desux = x[k1]; desuy = y[k1 + 1]; } if (x[k1] < x[k1 + 1] && y[k1] < y[k1 + 1] && y[k1] > x[k+1]) { desux = x[k1 + 1]; desuy = y[k1]; } if (x[k1] == x[k1 + 1] && y[k1] == y[k1 + 1]) { desux = x[k1]; desuy = y[k1]; } k1++; // Координати відрізка який є перетином записуються для наступного циклу x[k1] = desux; y[k1] = desuy; } printf("\tRESULT = %d, %d\n", desux, desuy); getch(); return 0; } Результат виконання програми: / Рис. 2. Перевірка двох відрізків на перетин Програма знайшла перетин відрізків і вивела координати відрізку перетину на екран(рис. 2). 3.Текст третьої програми: #include <stdio.h> #include <conio.h> int FillingZeros(int *a, int array_size); int main(void) { int i, j; int cnt = 0, num = 1; int array_size; printf("Input the size of array: "); scanf("%d", &array_size); // Виділення пам’яті для матриці int **a = (int **)malloc(array_size*sizeof(int *)); for (int i = 0; i < array_size; i++) { a[i] = (int *)malloc(array_size*sizeof(int)); } FillingZeros(a, array_size); for (i = 0; i < (ar...
Антиботан аватар за замовчуванням

24.11.2018 19:11

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини