- •Методичні вказівки до виконання лабораторних робіт із дисципліни "Програмування (Сі)" (1 частина)
- •123 "Комп’ютерна інженерія"
- •Поради та рекомендації:
- •Загальні відомості
- •If(умова) вираз_1 else вираз_2
- •For(ініціалізація_циклу; умова; список_виразів) тіло_циклу
- •Лабораторна робота №1 Базові типи змінних. Елементарне введення-виведення
- •Завдання до програми 1.1
- •Завдання до програми 1.2
- •Завдання до програми 1.3
- •Завдання до програми 1.4
- •Завдання до програми 1.5
- •Завдання до програми 1.6
- •Контрольні питання до лабораторної роботи № 1
- •Лабораторна робота №2 Оператори вибору
- •Завдання до програми 2.1
- •Завдання до програми 2.2
- •Завдання до програми 2.3
- •Завдання до програми 2.4
- •Завдання до програми 2.5
- •Лабораторна робота №3 Оператори циклу
- •Завдання до програми 3.1
- •Завдання до програми 3.2
- •Завдання до програми 3.3
- •Завдання до програми 3.4
- •Завдання до програми 3.5
- •Контрольні питання до лабораторної роботи № 3
- •Лабораторна робота №4 Масиви і покажчики
- •Завдання до програми 4.1
- •Завдання до програми 4.2
- •Завдання до програми 4.3
- •Завдання до програми 4.4
- •Завдання до програми 4.5
- •Контрольні питання до лабораторної роботи № 4
- •Лабораторна робота №5 Робота з різноманітними масивами
- •Завдання до програми 5.1
- •Завдання до програми 5.2
- •Завдання до програми 5.3
- •Завдання до програми 5.4
- •Контрольні питання до лабораторної роботи № 5
- •Лабораторна робота № 6 Структури та об'єднання. Бітові поля структур і об'єднань
- •Контрольні питання до лабораторної роботи № 6
- •Література
Завдання до програми 5.4
Розробіть програму, в який створюється динамічний масив для змінних заданого типу з використанням операції new або функції malloc. Розмір масиву вводиться з клавіатури. Масив заповнюється випадковими числами у заданому діапазоні та виводиться на екран. Потім звільняється пам’ять.
1. Створіть динамічний масив для змінних типу long з використанням операції new. Масив заповніть випадковими числами у діапазоні від –5000 до +5000.
2. Створіть динамічний масив для змінних типу float з використанням функції malloc. Масив заповніть випадковими числами у діапазоні від –50.5 до +50.5.
3. Створіть динамічний масив для змінних типу double з використанням операції new. Масив заповніть випадковими числами у діапазоні від 0.00 до 32.00.
4. Створіть динамічний масив для змінних типу char з використанням функції malloc. Масив заповніть випадковими числами у діапазоні від 60 до 125. Масив виведіть на екран десятковому та символьному вигляді.
5. Створіть динамічний масив для змінних типу double з використанням операції new. Масив заповніть випадковими числами у діапазоні від –15.000 до 15.000.
Програма 5.5 В програмі створюються двовимірні динамічні квадратні матриці. Розмір матриць вводиться з клавіатури. Значення елементів першої матриці вводяться з клавіатури, а другої – заповнюються випадковими числами від -50 до +50. Потім в другу матрицю заносяться суми елементів обох матриць.
#include <stdio.h>
#include <stdlib.h>
#include<time.h>
int main()
{int i,j,N;
printf("Input the size of the square matrix: ");
scanf("%u",&N);
int **matr; // покажчик на масив покажчиків
matr=new int*[N]; // запит пам’яті для масиву покажчиків
if(matr==NULL){puts("Error!"); return -1;}
for(i=0;i<N;i++)
{matr[i]=new int[N]; // запит пам’яті для елементів рядків
if(matr[i]==NULL){puts("Error!");return -2;}
}
puts("\n Input the elements of the matrix matr:");
for(i=0;i<N;i++)
for(j=0;j<N;j++)
scanf("%d", &matr[i][j]);
puts("\n\tMatrix matr:");
for(i=0;i<N;i++)
{for(j=0;j<N;j++)
{printf("%8d", matr[i][j]);}
printf("\n"); }
int **mas;// Покажчик на масив покажчиків
mas=new int*[N];// Запит пам’яті для масиву покажчиків
if(mas==NULL){puts("Error!"); return -1;}
for(i=0;i<N;i++)
{mas[i]=new int[N]; //Запит пам’яті для елементів рядків
if(mas[i]==NULL) {puts("Error!");return -2;}
}
srand((unsigned)time(NULL));//запуск генератора випадк. чисел
puts("\n\tMatrix mas: ");
for(i=0;i<N;i++)
{for(j=0;j<N;j++)
{mas[i][j]=rand()%101-50;
printf("%8d",mas[i][j]);}
printf("\n"); }
puts("\nNew values of elements of matrix mas: ");
for(i=0;i<N;i++)
{for(j=0;j<N;j++)
{mas[i][j]=matr[i][j]+mas[i][j];
printf("%8d",mas[i][j]);}
printf("\n"); }
//Звільнення пам’яті
for(i=0;i<N;i++)
{delete matr[i]; // звільнення пам'яті з-під масивів елементів
delete mas[i]; // звільнення пам'яті з-під масивів елементів
}
delete [] matr; // звільнення пам'яті з-під масиву покажчиків
delete [] mas; // звільнення пам'яті з-під масиву покажчиків
system("pause");
return 0;}
Завдання до програми 5.5 Доповніть програму, створивши третю динамічну матрицю. Виконайте задані відповідно варіанту дії. Результат занесіть в третю матрицю та виведіть на екран.
