Int n, vector_min, vector_max, min, max, i_min, i_max; String input, text; // строк класса String




//консольный вывод

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>

  1. Компиляция, отладка, тестирование и получение результата:

 

Задание 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;



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-02-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: