Простые структуры данных
Автор: Nifezu • Ноябрь 7, 2022 • Лабораторная работа • 2,388 Слов (10 Страниц) • 167 Просмотры
ОТЧЕТ
по лабораторной работе №1
по курсу «Логика и основы алгоритмизации в инженерных задачах»
на тему «Простые структуры данных»
Выполнили студенты
Приняли
2022
Методические указания.
Задание 1: написать программу, вычисляющую разницу между максимальным и минимальным элементами массива.
Задание 2: написать программу, реализующую инициализацию массива случайными числами.
Задание 3: написать программу, реализующую создание массива произвольного размера, вводимого с клавиатуры.
Задание 4: написать программу, вычисляющую сумму значений в каждом столбце (или строке) двумерного массива.
Задание 5: написать программу, осуществляющую поиск среди структур student структуру с заданными параметрами (фамилией, именем и т.д.).
Описание метода решения задачи:
Задание 1 и 2:
При помощи функции rand() массив заполняется случайными числами. Далее программа за максимальный и минимальный элемент берёт нулевую ячейку. Затем программа сравнивает нулевую ячейку со следующей, если следующая больше/меньше, то переменная максимума/минимума заменяется этим значением. Так программа перебирает все элементы и в ответе выводит результат – разницу между максимумом и минимумом.
Задание 3:
В начале пользователь вводит с клавиатуры размер массива, далее под него выделяется память при помощи функции malloc(). После пользователь вводит сам массив.
Задание 4:
Программа заполняет двумерный массив случайными числами и выводит его пользователю. После при помощи цикла for программа складывает все элементы массива по строкам и выводит итоговые суммы пользователю.
Задание 5:
Пользователь вводит информацию о студенте в поля структуры согласно требованиям. После ему предлагается начать поиск информации по полям. После начала поиска пользователю необходимо ввести искомый параметр в консоль. Если найдётся совпадение, то в консоль выведется вся информация о студенте
Листинг:
Задание 1 и 2:
#include "StdAfx.h"
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
int main()
{
srand(time(NULL));
int Arr[15];
for (int i = 0; i < 15; i++){
Arr[i] = rand() % 100;
printf(" %d ",Arr[i]);
}
int max=Arr[0];
int min=Arr[0];
for (int i = 0; i < 15; i++){
if(max<Arr[i])
max=Arr[i];
if(min>Arr[i])
min=Arr[i];
}
printf("\nAmmount: %d ",max - min);
return 0;
}
Задание 3:
#include "stdafx.h"
#include <locale.h>
#include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
int sizeX,sizeY;
cout <<"Введите размер массива: \n";
cin >> sizeX;
cin >> sizeY;
cout << "\n";
int **n = (int**)malloc(sizeof(int*)*sizeX);
for(int i=0;i<sizeX;i++){
n[i] = (int*)malloc(sizeof(int)*sizeY);
}
for (int i = 0; i < sizeX; i++) {
for (int j = 0; j < sizeY; j++) {
cin >> n[i][j];
}
}
cout << "Введённый массив: ";
...