Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
example2.DOC
Скачиваний:
5
Добавлен:
02.06.2015
Размер:
323.07 Кб
Скачать

  1. Текст задания

Даны натуральное число N и вещественные числаa и b (a<b). Сформировать матрицуX(N,N),элементами которой являются вещественные случайные числа, равномерно распределенные на отрезке[a, b].Найти в матрице строку с минимальным элементом и поменять ее местами с первой строкой.

для решения задачи разработать следующие функции:

  • функцию ввода элементов вектора или матрицы в соответствии с индивидуальным заданием;

  • функцию обработки вектора или матрицы по правилу, определяемому индивидуальным вариантом;

  • функцию вывода вектора или матрицы на экран в общепринятом виде;

  • функцию main(),которая организует работу всех разработанных функций; в этой функции предусмотреть возможность многократного решения задачи с различными исходными данными.

Программу разработать в двух видах:

  • используя статическое распределение памяти для хранения исходного вектора или исходной числовой матрицы (предусмотреть некоторые максимально возможные значения параметров вектора или матрицы);

  • используя динамическое распределение памяти для хранения исходного вектора или исходной матрицы.

Предусмотреть вывод на экран вектора или матрицы, как вновь введенных, так и сформированных, а также проверку данных на соответствие диапазону, предусматриваемому для данного типа данных.

Входные данные:

Nможет принимать значения от 1 до 10.

aможет принимать значения от -100 до 100.

bможет принимать значения от -100 до 200.

Выходные данные:

N=3

a= -5E1

b= 5E1

Массив с переставленными строками

41.9 -31.7 -17

7.61 -28.9 44.1

31.6 21.1 18.8

Сформированный массив

7.61 -28.9 44.1

41.9 -31.7 -17

31.6 21.1 18.8

значение min элемента массива: -31.7

номер строки содержащей min элемент: 2

2 Спецификация программы

При запуске программы пользователю предлагается ввести числа N– размерность массива и числаaиb– границы диапазона значений элементов массива. В программе ввода числа предусмотрен контроль от ввода некорректных данных. Далее предусмотрен эхо-контроль (печать введенного числа). Далее программа производит выводит сформированный массив. Затем выполняет поиск строки с минимальным элементом и меняет её с первой строкой.

После получения результата работы программы пользователю выдается сообщение: «Для продолжения нажмите клавишу 'Y'». Если пользователь желает продолжить работу необходимо нажать клавишу ‘Y’ и выполнение программы начнется заново. Прервать работу программы можно нажав клавишу ‘ESC’.

Конструктивно программа выполнена в виде пяти вызываемых функций и одной основной функции main(), которая осуществляет управление вызываемыми функциями и поддерживает диалог с пользователем.

Вызываемые функции:

double number(double min, double max, int pnt); функция ввода числа

void inX(int N,double a,double b,double **X); формирование входного массива

void pr_mas(int N,double **X, char* str); печать массива

void dec(int N,double **X,int minrow); Функция замены строки

int min_row(int N,double **X); Функция определения строки с мin элементом

Входные данные программы приведены в таблице 1.

Выходные данные программы приведены в таблице 2.

Таблица 1-Входные данные

char ch;

double **X; //указатель на массив

int N,i,minrow;

double a, b;

тип

Идентификатор

Диапазон

назначение

char

ch

0…255

Ответ на запрос на продолжение программы

unsigned int

N

0…65535

Размерность массива

double

a,b

8 байт

Границы диапазона значений массива

Таблица 2-Выходные данные

тип

Идентификатор

Диапазон

назначение

double

X[i][j], i=0, m-1, j=0, n-1

8 байт*N*N

Массив

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]