Отчет по лабораторной работе № 4 по дисциплине «Информатика» Тема: МАССИВЫ.. Лабораторная работа №4. Отчет по лабораторной работе 4 по дисциплине Информатика Тема массивы. Студент гр. 0123 Павлов Ю. Г
Скачать 226.37 Kb.
|
МИНОБРНАУКИ РОССИИ Санкт-Петербургский государственный электротехнический университет «ЛЭТИ» им. В.И. Ульянова (Ленина) Кафедра Телевидения и видеотехники Отчет по лабораторной работе № 4 по дисциплине «Информатика» Тема: МАССИВЫ.
Цель работыЗнакомство с массивами. Краткие теоретические сведенияМассив – совокупность переменных одного типа, хранящихся в смежных ячейках памяти: все элементы (переменные), образующие массив, одного типа, имеют одинаковую длину; элементы массивов различаются с помощью индексов. Нумерация элементов начинается с нуля, последнее значение индекса массива меньше его длины на единицу; Массив должен быть объявлен заранее, при объявлении необходимо указывать тип элементов массива и их количество (длину массива) Одномерный массив <ТипДанныхМассива> <ИмяМассива> [<КоличествоЭлементовМассива>]; Доступ к элементу массива <ИмяМассива>[<НомерЭлемента>] Двумерный массив <ТипДанныхМассива><ИмяМассива>[<КоличествоСтрок>][<КоличествоСтолбцов>]; Доступ к элементу массива <ИмяМассива>[<НомерСтроки>][<НомерСтолбца>] Датчик случайных чисел ИмяПеременной> = rand(); Функция возвращает псевдослучайное целое число (тип int) в диапазоне от 0 до RAND_MAX. RAND_MAX – константа, определяющая максимальное значение, которое может быть возвращено функцией rand(). RAND_MAX = 232 = 4 294 967 296. Поскольку генерируемые функцией rand числа являются псевдослучайными, при каждом новом запуске приложения будет вырабатываться одна и та же последовательность чисел. Если это недопустимо, то можно использовать функцию srand(). Она изменяет стартовое число генератора, присваивая ему другую величину, получаемую функцией в качестве аргумента. Чаще всего в качестве передаваемой величины в функцию srand() используют системное время в секундах. Для этого в тексте программы указывается srand(time(NULL)); Упражнение 1Блок-схема_цикла__Код_программы'>Блок-схема цикла Код программы #include #include using namespace std; int main() { setlocale(LC_ALL, "Russian"); int n, i; double z, sum, mo, sko, arr[10]; cout << "Введите количество элементов массива (<=10): "; do { cin >> n; if (n > 10) cout << "Число элементов должно быть <= 10.\n"; } while (n > 10); sum = 0; z = 0; for (i = 1; i <= n; i++) { cout << "Введите значение элемента N" << i << ": "; cin >> arr[i - 1]; sum += arr[i - 1]; } mo = sum / n; cout << "Среднее арифметическое элементов массива: " << mo << endl; for (i = 0; i < n; i++) { z += pow((arr[i] - mo), 2); } sko = sqrt(z / n); cout << "СКО элементов одномерного массива: " << sko << endl; return 0; } Скриншоты Упражнение 2Блок-схема Код программы #include #include #include #include using namespace std; int main() { setlocale(LC_ALL, "Russian"); srand(time(NULL)); int n, i, arr[10], lowest; cout << "Введите границу диапазона генератора случайных чисел: "; cin >> n; lowest = n; cout << "Значения элементов массива:\n"; for (i = 0; i < 10; i++) { arr[i] = rand()%(2*n)-n; if ((arr[i] < lowest) && (arr[i] > 0)) lowest = arr[i]; cout << "N" << i+1 << ": " << arr[i] << endl; } cout << "Наименьшее из всех положительных элементов массива: " << lowest << endl; return 0; } Скриншоты Упражнение 3Блок-схема Код программы #include #include #include #include using namespace std; int main() { setlocale(LC_ALL, "Russian"); srand(time(NULL)); int n, i, j, arr[5][5], max, mi, mj; max = 0; cout << "Введите границу диапазона генератора случайных чисел: "; cin >> n; cout << "Значения элементов массива:\n"; for (i = 0; i < 5; i++) { for (j = 0; j < 5; j++) { arr[i][j] = rand() % n; if (arr[i][j] > max) //Строгое неравенство позволяет сохранить первое вхождение элемента { max = arr[i][j]; mi = i+1; mj = j+1; } cout.width(3); //Форматирование вывода cout << arr[i][j]; } cout << endl; } cout << "Индекс первого вхождения максимального элемента двумерного массива: (i,j) = (" << mi << "," << mj << ")\n"; return 0; } Скриншоты Упражнение 4Блок-схема (Алгоритм инициализации и вывода массива аналогичен алгоритму предыдущего задания) Алгоритм вывода транспонированного массива Код программы #include #include #include #include using namespace std; int main() { setlocale(LC_ALL, "Russian"); srand(time(NULL)); int n, m, min, max, i, j, arr[100][100]; cout << "Задайте количество строк массива (меньше 100): "; cin >> n; cout << "Задайте количество столбцов массива (меньше 100): "; cin >> m; cout << "Введите MIN диапазона генератора случайных чисел: "; cin >> min; cout << "Введите MAX диапазона генератора случайных чисел: "; cin >> max; cout << "Значения элементов массива:\n"; for (i = 0; i < n; i++) { for (j = 0; j < m; j++) { arr[i][j] = rand() % (max - min + 1) + min; cout.width(3); //Форматирование вывода cout << arr[i][j]; } cout << endl; } cout << "\nЗначения элементов транспонированного массива:\n"; for (i = 0; i < m; i++) { for (j = 0; j < n; j++) { cout.width(3); //Форматирование вывода cout << arr[j][i]; } cout << endl; } return 0; } Скриншоты ВыводВыполнив лабораторную работу, познакомился с массивами на основе конструкций языка C++. Санкт-Петербург 2020 |