//консольный вывод
System.out.println("Лабораторная работа №6-1");
System.out.println("Вариант №0");
System.out.println("ПО-11-1");
System.out.println("Пупкин Василий");
System.out.println();
// вызов диалогового окна ввода исходных данных
input=JOptionPane.showInputDialog("Нижняя граница диапазона vector_min:");
// преобразование из строкового значения в целое
vector_min=Integer.parseInt(input);
input=JOptionPane.showInputDialog("Верхняя граница диапазона vector_max:");
vector_max=Integer.parseInt(input);
input=JOptionPane.showInputDialog("Размер вектора n:");
n=Integer.parseInt(input);
// формирование строки вывода
text="Значения входных переменных:\nvector_min=" + vector_min + "\nvector_max=" + vector_max + "\nn=" + n;
// вызов диалогового окна эхо-печати
JOptionPane.showMessageDialog(null, text);
//консольный вывод
System.out.printf("vector_min=%d\nvector_max=%d\nn=%d\n",
vector_min, vector_max, n);
// создание вектора длиной n элементов
int vector[]=new int[n];
//консольный вывод
System.out.println();
System.out.println("Исходный вектор:");
// создание объекта Rand класса Random - генератора случ. чисел
// инициализация генератора случайных чисел,
// привязка его к системному времени
Random Rand=new Random();
// формирование вектора случайным образом
for (int i=0; i<n; i++)
{
// получение очередного случайного числа в диапазоне
// от vector_min до vector_max
vector[i]=Rand.nextInt(vector_max-vector_min+1) + vector_min;
//консольный вывод элемента вектора
System.out.printf(" %5d", vector[i]);
}
//консольный вывод
System.out.println();
// вычисления по заданному алгоритму
// максимальное и минимальное значения-
// начальные элементы вектора
max = vector[0];
i_max = 0;
min = vector[0];
i_min = 0;
// поиск минимального и максимального элементов вектора
// и их индексов
for (int i=1; i<n; i++)
{
if (vector[i] > max)
{
max = vector[i];
i_max = i;
}
if (vector[i] < min)
{
min = vector[i];
i_min = i;
}
}
//консольный вывод
System.out.printf("\nmax=%d i_max=%d", max, i_max);
System.out.printf("\nmin=%d i_min=%d\n", min, i_min);
//меняем местами max и min элементы вектора
vector[i_max] = min;
vector[i_min] = max;
//консольный вывод вектора
System.out.println();
System.out.println("Выходной вектор:");
for (int i=0; i<n; i++)
System.out.printf("%5d", vector[i]);
System.out.println();
}
}
3.4. На языке PHP:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>
Лабораторная работа №6_1
</title>
</head>
<body BgColor="silver" text="blue">
<H2>Лабораторная работа №6_1</h2>
<H3>Массивы</h3>
Вариант №0
<br>ПО-11-1
<br>Пупкин Василий
<br>
<br>
<Form name="LabRab_6_1" action="" method="POST">
Нижняя граница диапазона vector_min:<br>
<input type="text" name="vector_min" size="5"><br>
Верхняя граница диапазона vector_max:<br>
<input type="text" name="vector_max" size="5"><br>
Размер вектора n:<br>
<input type="text" name="n" size="5"><br>
<input type="submit" value="Вычислить"><br>
</form>
<?php
// получение значения переменной из формы
$vector_min=$_POST['vector_min'];
$vector_max=$_POST['vector_max'];
$n=$_POST['n'];
if (($n!='') && ($vector_min!='') && ($vector_max!=''))
{
//эхо-печать
echo "<br>n=$n";
echo "<br>vector_min=$vector_min";
echo "<br>vector_max=$vector_max<br>";
// инициализация генератора случайных чисел
mt_srand(time());
// заполнение вектора целыми случайными числами
// от vector_min до vector_max
for ($i=0; $i<$n; $i++)
$vector[$i]=mt_rand($vector_min, $vector_max);
// вывод исходного вектора на экран
echo '<br>Исходный вектор:<br>';
foreach($vector as $index=>$value)
{
echo "$index=>$value";
echo '<br>';
}
// определяем минимальный и максимальный
// элементы вектора
// пока это начальный элемент массива
$max = $vector[0];
$i_max = 0;
$min = $vector[0];
$i_min = 0;
for ($i=1; $i<$n; $i++)
{
if ($vector[$i] > $max)
{
$max = $vector[$i];
$i_max = $i;
}
if ($vector[$i] < $min)
{
$min = $vector[$i];
$i_min = $i;
}
}
// вывод найденных элементов
// и их индексов на экран
echo "<br>i_max=$i_max max=$max";
echo "<br>i_min=$i_min min=$min";
echo '<br>';
//меняем местами max и min
//элементы вектора
$vector[$i_max] = $min;
$vector[$i_min] = $max;
// вывод выходного вектора на экран
echo '<br>Выходной вектор:<br>';
foreach($vector as $index=>$value)
{
echo "$index=>$value";
echo '<br>';
}
echo '<br>';
}
?>
</body>
</html>
- Компиляция, отладка, тестирование и получение результата:
Задание 2.
1. Заполнить квадратный массив massivnn целыми случайными числами в диапазоне от v_min до v_max. Поменять местами главную и побочную диагонали массива. Размер массива n задать константой. Границы диапазона v_min и v_max задать с консоли. Вывести на экран исходный и полученный массивы.
Элементы главной диагонали квадратного массива имеют одинаковые индексы: massivii (i=1…n). Соответствующие им построчно элементы побочной диагонали имеют индексы massivi,n-i+1. Меняем их местами алгоритмом циклического обмена через третью переменную.
2. Схема алгоритма решения задачи:
3. Код программы
3.1. На языке Паскаль:
Program Variant_0;
Uses WinCrt;
Const n = 5; {задание размера массива именованной константой}
Var i, j: Word;
k, v_min, v_max: Integer;
massiv: Array [1..n, 1..n] Of Integer;
Begin
Randomize; {запуск генератора случайных чисел}
WriteLn('Лабораторная работа №6_2');
WriteLn('Вариант №0');
WriteLn('ИС-11-1');
WriteLn('Пупкин Василий');
WriteLn;
WriteLn('Задайте диапазон случайных чисел');
Write(‘v_min=’);
ReadLn(v_min);
Write(‘v_max=’);
ReadLn(v_max);
For i:=1 To n Do {заполнение массива случайными числами}
For j:=1 To n Do
massiv[i,j]:=Random(v_max-v_min + 1) + v_min;
WriteLn;
WriteLn('Исходный массив:');
For i:=1 To n Do {вывод на экран исходного массива}
Begin
For j:=1 To n Do
Write(massiv[i,j]:5);
WriteLn;
End;
WriteLn;
For i:=1 To n Do {меняем местами соответствующие элементы}
Begin {главной и побочной диагоналей}
k:=massiv[i,i];
massiv[i,i]:=massiv[i,n-i+1];
massiv[i,n-i+1]:=k;
End;
WriteLn;
WriteLn('Полученный массив:');
For i:=1 To n Do {вывод на экран полученного массива}
Begin
For j:=1 To n Do
Write(massiv[i,j]:5);
WriteLn;
End;
WriteLn;
End.
3.2. На языке Си:
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <time.h>
Int main()
{
int i, j, n, m, massiv_min, massiv_max, temp;