Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методич. указания по выполнению лабораторных работ.doc
Скачиваний:
40
Добавлен:
27.03.2016
Размер:
5.32 Mб
Скачать

Задание 2

  1. Заполнить квадратный массив massivnn целыми случайными числами в диапазоне от v_min до v_max. Поменять местами главную и побочную диагонали массива. Размер массива n задать константой. Границы диапазона v_min и v_max задать с консоли. Вывести на экран исходный и полученный массивы.

Элементы главной диагонали квадратного массива имеют одинаковые индексы: massivii (i = 1…n). Соответствующие им построчно элементы побочной диагонали имеют индексы massivi,n-i+1 . Меняем их местами алгоритмом циклического обмена через третью переменную.

  1. Схема алгоритма решения задачи:

  1. Код программы

    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.

    1. На языке Си:

#include <stdio.h>

#include <conio.h>

#include <math.h>

#include <time.h>

int main()

{

int i, j, n, m, massiv_min, massiv_max, temp;

time_t t; // текущее время для инициализации

// генератора случайных чисел

srand((unsigned) time(&t)); // инициализация генератора

// случайных чисел

printf("\nЛабораторная работа №6_2");

printf("\nВариант №0");

printf("\nПО-11-1");

printf("\nПупкин Василий\n");

printf("\nВведите нижнюю границу диапазона:");

scanf("%d", &massiv_min);

printf("\nВведите верхнюю границу диапазона:");

scanf("%d", &massiv_max);

printf("\nВведите размер массива:");

scanf("%d", &n);

int massiv[n][n];

printf("\nИсходный массив:\n");

m = massiv_max-massiv_min + 1;

for (i=0; i<n; i++)

{

// получение случайного числа в диапазоне

// от vector_min до vector_max

for (j=0; j<n; j++)

{

massiv[i][j]=rand()% m + massiv_min;

printf("%5d", massiv[i][j]);

}

printf("\n");

}

printf("\n");

for (i=0; i<n ; i++) //меняем местами соответствующие элементы

{ //главной и побочной диагоналей

temp = massiv[i][i];

massiv[i][i] = massiv[i][n-i-1];

massiv[i][n-i-1] = temp;

}

printf("\nВыходной массив:\n");

for (i=0; i<n; i++)

{

for (j=0; j<n; j++)

printf("%5d", massiv[i][j]);

printf("\n");

}

printf("\n");

return 0;

}

    1. На языке Java:

package javaapplication6_2;

// Импорт библиотеки графических компонентов Swing

import javax.swing.*;

import java.util.*;

public class JavaApplication6_2 // задание нового класса

{

// описание главного метода main этого класса

public static void main(String[] args)

{

//описание переменных