Результаты работы программы
Образец результатов программы приведен ниже
Начальный массив:
22 15 45 -15 -19 19 -38 34 -39 37 -3 -25 33 -11 -27 -45
47 29 5 -14 17 -40 -34 -8 46 -29 40 0 17 9 38 17
42 -47 -27 9 1 30 -33 -4 -50 27 -10 1 41 24 -7 -41
35 35 41 12 37 -49 16 29 49 -11 -15 35 -39 43 3 19
-20 21 -45 -3 13 -12 3 -13 12 -11 34 -5 -14 -35 -13 -50
-2 48 47 -4 45 46 -13 -29 45 -12 -45 -2 21 -33 -42 -2
13 27 -24 -42
Массив-результат:
22 15 45 -15 -17 19 -38 34 -39 37 -3 -14 33 -11 -27 -27
47 29 5 -14 17 -27 -27 -8 46 -29 40 0 17 9 38 17
42 -37 -27 9 1 30 -29 -4 -29 27 -10 1 41 24 -7 -24
35 35 41 12 37 -49 16 29 49 -11 -13 35 -39 43 3 19
-20 21 -24 -3 13 -12 3 -13 12 -11 34 -5 -14 -19 -13 -19
-2 48 47 -4 45 46 -13 -21 45 -12 -19 -2 21 -25 -25 -2
13 27 -24 -42
Выводы
При выполнении лабораторной работы рассмотрены вопросы
- работы с массивами;
- написания и отладки циклических программ, включая вложенные циклы.
Варианты индивидуальных заданий
Вариант №1
№ варианта
| Размерность массива
| Диапазон значений
| Что нужно сделать
| 1
| 10х10
| -50 - 50
| Заполнить элементы главной диагонали 0, а выше главной диагонали 5
|
Вариант №2
№ варианта
| Размерность массива
| Диапазон значений
| Что нужно сделать
| 2
| 10х10
| -50 - 50
| Заполнить элементы главной диагонали 10, а ниже главной диагонали -10
|
Вариант №3
№ варианта
| Размерность массива
| Диапазон значений
| Что нужно сделать
| 3
| 5х5
| -10 - 10
| Подсчитать сумму элементов главной диагонали
|
Вариант №4
№ варианта
| Размерность массива
| Диапазон значений
| Что нужно сделать
| 4
| 5х5
| -10 - 10
| Подсчитать сумму элементов выше главной диагонали
|
Вариант №5
№ варианта
| Размерность массива
| Диапазон значений
| Что нужно сделать
| 5
| 5х5
| -10 - 10
| Подсчитать сумму элементов ниже главной диагонали
|
Вариант №6
№ варианта
| Размерность массива
| Диапазон значений
| Что нужно сделать
| 6
| 6х6
| -10 - 10
| Все элементы, большие 3 заменить на 0
|
Вариант №7
№ варианта
| Размерность массива
| Диапазон значений
| Что нужно сделать
| 7
| 8х8
| -10 - 10
| Все отрицательные элементы заменить на -100
|
Вариант №8
№ варианта
| Размерность массива
| Диапазон значений
| Что нужно сделать
| 8
| 8х8
| -10 - 10
| Все положительные элементы заменить на 100
|
Вариант №9
№ варианта
| Размерность массива
| Диапазон значений
| Что нужно сделать
| 9
| 7х7
| -20 - 20
| Найти количество отрицательных элементов
|
Вариант №10
№ варианта
| Размерность массива
| Диапазон значений
| Что нужно сделать
| 10
| 7х7
| -20 - 20
| Найти количество положительных элементов
|
Вариант №11
№ варианта
| Размерность массива
| Диапазон значений
| Что нужно сделать
| 11
| 10х10
| 0 - 100
| Найти количество четных элементов
|
Вариант №12
№ варианта
| Размерность массива
| Диапазон значений
| Что нужно сделать
| 12
| 10х10
| 0 - 50
| Найти количество нечетных элементов
|
Вариант №13
№ варианта
| Размерность массива
| Диапазон значений
| Что нужно сделать
| 13
| 8х8
| -30 - 30
| Отобразить элементы симметрично относительно главной диагонали
|
Вариант №14
№ варианта
| Размерность массива
| Диапазон значений
| Что нужно сделать
| 14
| 9х9
| -40 - 40
| Найти максимальный элемент выше главной диагонали, а саму диагональ обнулить
|
Вариант №15
№ варианта
| Размерность массива
| Диапазон значений
| Что нужно сделать
| 15
| 9х9
| -10 - 10
| Заполнить элементы выше главной диагонали числами по порядку (1,2,3,…)
|
Вариант №16
№ варианта
| Размерность массива
| Диапазон значений
| Что нужно сделать
| 16
| 9х9
| -10 - 10
| Заполнить элементы ниже главной диагонали числами по порядку (1,2,3,…)
|
Вариант №17
№ варианта
| Размерность массива
| Диапазон значений
| Что нужно сделать
| 17
| 10х10
| -60 - 60
| Заменить все элементы ниже главной диагонали числами, противоположными по знаку
|
Вариант №18
№ варианта
| Размерность массива
| Диапазон значений
| Что нужно сделать
| 18
| 10х10
| -60 - 60
| Заменить все элементы выше главной диагонали числами, противоположными по знаку
|
Вариант №19
№ варианта
| Размерность массива
| Диапазон значений
| Что нужно сделать
| 19
| 9х9
| -70 - 70
| Заменить все элементы ниже главной диагонали модулями этих чисел
|
Вариант №20
№ варианта
| Размерность массива
| Диапазон значений
| Что нужно сделать
| 20
| 9х9
| -70 - 70
| Найти минимальный элемент ниже главной диагонали, а элементы самой диагонали установить в 1
|
Вариант №21
№ варианта
| Размерность массива
| Диапазон значений
| Что нужно сделать
| 21
| 10х10
| 0 - 100
| Обнулить все четные элементы матрицы
|
Лабораторная работа №5
Функции
Цель работы
Целью лабораторной работы является получение практических навыков при работе с функциями пользователя в языке C.
Темы для предварительной проработки
- Операторы цикла языка C. Вложенные циклы.
- Условный оператор языка C.
- Массивы.
- Функции пользователя в языке C.
Задание
Выполнить индивидуальное задание лаб. раб. №4, оформив различные этапы работы с массивом, а именно: заполнение элементов массива, вывод элементов массива на экран и обработку массива в виде отдельных функций.
Пример программы
/* Лабораторная работа №5 */
/* Работа с функциями */
/* Пример решения */
/***************************************************/
#include <stdio.h>
#include <stdlib.h>
const n=10, m=10;
int Ar[n][m]; /* массив, который обрабатывается */
void zapolnenie();
void print_mas();
void obrabotka_mas();
void zapolnenie()
{ /* заполнение массива случайными числами */
int i, j; /* индексы в массиве */
int firs_value=-10;
int last_value=10*2;
for (i=0; i<=n-1; i++)
for (j=0; j<=m-1; j++)
Ar[i][j]=firs_value + rand() % last_value;
}
void print_mas()
{ int i, j; /* индексы в массиве */
for (i=0; i<=n-1; i++)
{ for (j=0; j<=m-1; j++)
printf("%5i",Ar[i][j]);
printf("\n");}
}
void obrabotka_mas();
{ int i, j; /* индексы в массиве */
/* заполнение элементов массива выше главной диагонали */
for (i=1; i<=n-1; i++)
for (j=0; j<=i-1; j++)
Ar[i][j]=0;
/* заполнение элементов массива ниже главной диагонали */
for (i=0; i<=n-2; i++)
for (j=i+1; j<=m-1; j++)
Ar[i][j]=1;
}
int main(void) {
int i, j; /* индексы в массиве */
/* вывод начального массива */
printf("Begining mas:\n");
print_mas();
obrabotka_mas();
/* вывод результатов */
printf("Ending mas:\n");
print_mas();
return 0;
}
Лабораторная работа №6
Параметры функции
Цель работы
Целью лабораторной работы является получение практических навыков при работе с функциями пользователя, использующими входные параметры, в языке C.
Темы для предварительной проработки
- Операторы цикла языка C.
- Условный оператор языка C.
- Функции пользователя в языке C.
- Встроенные функции.
- Параметры функций.
Задание
Выполнить индивидуальное задание в соответствии с вариантом. Во всех вариантах основное задание оформить в виде отдельной функции, передав входные данные для этой функции через параметры. Использование глобальных переменных не разрешено.
Пример программы
4.1 Задание
Найти и вывести на печать сумму 2-х чисел. Вычисление оформить в виде отдельной функции. Вызов функции повторить для 4 пар разных значений чисел.
4.2 Текст программы
/* Лабораторная работа №6 */
/* Параметры функций */
/* Пример решения */
/***************************************************/
#include <iostream.h>
int summa(int,int);
int main(void) {
int i, x, y, z;
for (i=1; i<=4; i++)
{cout<<"Input 2 number (x and y):\n";
cin>>x>>y;
z= summa(x,y);
cout<<"x+y="<<z<<"\n";
}
return 0;
}
int summa(int a,int b)
{ int s;
s=a+b;
return s;
}
Варианты индивидуальных заданий
№ варианта
| Задание
| 1
| Найти и вывести на печать произведение 3-х чисел. Вычисление оформить в виде отдельной функции. Вызов функции повторить для 3 наборов разных чисел.
| 2
| Для введенного Х найти сумму всех натуральных чисел от 1 до Х. Вычисление оформить в виде отдельной функции. Вызов функции повторить для 5 разных значений х.
| 3
| Ввести число х. Определить, положительное оно или отрицательное. Вывести соответствующее сообщение. Вычисление оформить в виде отдельной функции. Вызов функции повторить для 6 разных значений х.
| 4
| Для заданного х найти значение у по формуле Вычисление оформить в виде отдельной функции. Вызов функции повторить для 3 разных значений х.
| 5
| Ввести число х. Определить, четное оно или нечетное. Вывести соответствующее сообщение. Вычисление оформить в виде отдельной функции. Вызов функции повторить для 5 разных значений х.
| 6
| Подсчитать количество введенных чисел. Вычисление оформить в виде отдельной функции.
| 7
| По заданному радиусу R найти длину окружности (L=2 R). Вычисление оформить в виде отдельной функции. Вызов функции повторить для 5 разных значений R.
| 8
| Найти площадь прямоугольника со сторонами a и b. Вычисление оформить в виде отдельной функции. Вызов функции повторить для 4 разных пар чисел.
| 9
| По заданным радиусам R1 и R2 найти площади кругов S1 и S2 и кольца S1-S2. Вычисление площади оформить в виде отдельной функции(S= ).
| 10
| Для введенных чисел а, b, c определить, могут ли они быть сторонами треугольника. Вычисление оформить в виде отдельной функции. Вызов функции повторить для 3 разных наборов чисел.
| 11
| Даны 3 точки А(х1,у1), В(х2,у2) и С(х3,у3). Найти длины отрезков АВ, ВС и АС. Вычисление длины отрезка оформить в виде отдельной функции.
| 12
| Определить, попадает ли точка с координатами х,у в окружность радиусом r. Вычисление оформить в виде отдельной функции. Вызов функции повторить для 3 разных точек.
| 13
| Ввести числа х и у. Определить, является ли число у делителем х. Вывести соответствующее сообщение. Вычисление оформить в виде отдельной функции. Вызов функции повторить для 5 разных значений х и у
| 14
| Даны 6 чисел. Найти и вывести на печать квадраты этих чисел. Вычисление и вывод квадрата числа оформить в виде отдельной функции
| 15
| Найти и вывести на печать абсолютные значения (модули) 6-ти чисел. Вычисление модуля оформить в виде отдельной функции
| 15
| Ввести 2 числа, являющиеся катетами прямоугольного треугольника. Вычислить гипотенузу. Вычисление оформить в виде отдельной функции. Вызов функции повторить 5 раз.
| 16
| Ввести несколько вещественных чисел. Округлить каждое из них и вывести на печать. Вычисление округления оформить в виде отдельной функции. Ввод чисел прекратить по желанию пользователя.
| 17
| Для заданного х найти значение у по формуле Вычисление оформить в виде отдельной функции. Ввод х-ов прекратить по желанию пользователя.
| 18
| Ввести несколько чисел. Найти и вывести на печать кубы этих чисел. Вычисление куба числа оформить в виде отдельной функции. Ввод чисел прекратить по желанию пользователя.
| 19
| Для заданного х найти значение у по формуле Вычисление оформить в виде отдельной функции. Вызов функции повторить для 5 разных значений х.
| 20
| Для заданного х найти значение у по формуле Вычисление оформить в виде отдельной функции. Вызов функции повторить для 6 разных значений х.
|
Лабораторная работа №7
Ссылочный тип
Цель работы
Целью лабораторной работы является получение практических навыков при работе с функциями пользователя, использующими входные параметры, переданные по ссылке.
|