Главная страница
Навигация по странице:

  • Цель работы Научиться работать с массивами на языке C.Ход работы 1 задание

  • Для одномерного массива

  • Для двумерного массива

  • массивы. Лабораторная работа 8 Массивы Вариант 1 Выполнил Ст гр. 220692 Абросимов Владимир Вячеславович Проверил


    Скачать 23.32 Kb.
    НазваниеЛабораторная работа 8 Массивы Вариант 1 Выполнил Ст гр. 220692 Абросимов Владимир Вячеславович Проверил
    Анкормассивы
    Дата23.11.2019
    Размер23.32 Kb.
    Формат файлаdocx
    Имя файлаProgrammirovanie_8nov.docx
    ТипЛабораторная работа
    #96600


    МИНОБРНАУКИ РОССИИ

    Федеральное государственное бюджетное образовательное учреждение высшего образования «Тульский государственный университет»

    Кафедра вычислительной техники


    Программирование

    Лабораторная работа 8

    Массивы

    Вариант 1


    Выполнил Ст. гр. 220692

    Абросимов Владимир Вячеславович
    Проверил

    Доц каф ВТ Савин Николай Ильич

    Цель работы

    Научиться работать с массивами на языке C#.

    Ход работы

    1 задание

    Заменить все элементы, попадающие в интервал [ a, b ], нулем.

    Для одномерного массива

    using System;

    namespace ConsoleApplication2

    {

    class Program

    {

    static int [] Input ()

    {

    Console.WriteLine("введите размерность массива");

    int n=int.Parse(Console.ReadLine());

    int []a=new int[n];

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

    {

    Console.Write("a[{0}]= ", i);

    a[i]=int.Parse(Console.ReadLine());

    }

    return a;

    }
    static void Print(int[] a)

    {

    for (int i = 0; i < a.Length; ++i) Console.Write("{0} ", a[i]);

    Console.WriteLine();

    }
    static void Change(int[] a)

    {

    for (int i = 0; i < a.Length; ++i)

    if (a[i] > 0) a[i] = -a[i];

    }
    static void Main()

    {

    int[] myArray=Input();

    Console.WriteLine("Исходный массив:");

    Print(myArray);

    Change(myArray);

    Console.WriteLine("Измененный массив:");

    Print(myArray);

    }

    }

    }

    Для двумерного массива

    using System;

    namespace ConsoleApplication2

    {

    class Program

    {

    static int [] Input ()

    {

    Console.WriteLine("введите размерность массива");

    int n=int.Parse(Console.ReadLine());

    int []a=new int[n];

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

    {

    Console.Write("a[{0}]= ", i);

    a[i]=int.Parse(Console.ReadLine());

    }

    return a;

    }
    static void Print(int[] a)

    {

    for (int i = 0; i < a.Length; ++i) Console.Write("{0} ", a[i]);

    Console.WriteLine();

    }
    static void Change(int[] a)

    {

    for (int i = 0; i < a.Length; ++i)

    if (a[i] > 0) a[i] = -a[i];

    }
    static void Main()

    {

    int[] myArray=Input();

    Console.WriteLine("Исходный массив:");

    Print(myArray);

    Change(myArray);

    Console.WriteLine("Измененный массив:");

    Print(myArray);

    }

    }

    }

    2 Задание

    Заменить все максимальные элементы нулями.
    using System;

    namespace TestConsoleProject

    {

    class Program

    {

    static void Main()

    {

    const int len = 50;

    var array = new int[len];

    var rand = new Random(DateTime.Now.Millisecond);

    for (var i = 0; i < len; i++)

    array[i] = rand.Next(1000);

    var max = array[0];

    for (var i = 1; i < len; i++)

    if (array[i] > max)

    max = array[i];

    for (var i = 0; i < len; i++)

    if (array[i] == max)

    array[i] = 0;

    for (var i = 0; i < len; i++)

    Console.Write(@"{0} ", array[i]);

    Console.ReadKey();

    }

    }

    }

    3 Задание

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

    using System;

    namespace TestConsoleProject

    {

    class Program

    {

    private static int[,] CreateMatrix(int dim, int minNum, int maxNum)

    {

    int[,] array = new int[dim, dim];

    Random rnd = new Random();

    for (int i = 0; i < dim; i++)

    {

    for (int j = 0; j < dim; j++)

    {

    array[i, j] = rnd.Next(minNum, maxNum);

    Console.Write(array[i, j] + " ");

    }

    Console.WriteLine();

    }

    return array;

    }

    private static List GetElementsBelowDiagonal(int[,] matrix)

    {

    List elementsBelowDiagonal = new List();

    for (int i = 1; i < matrix.GetLength(0); i++)

    {

    for (int j = 0; j < i; j++) {

    elementsBelowDiagonal.Add(matrix[i, j]);

    Console.Write(matrix[i, j] + " ");

    }

    }

    return elementsBelowDiagonal;

    }

    static void Main(string[] args)

    {

    int dim, min, max;

    do

    {

    Console.Clear();

    Console.Write("Введите размерность матрицы: ");

    } while (!int.TryParse(Console.ReadLine(), out dim) || (dim < 2));

    do

    {

    Console.Clear();

    Console.WriteLine("Введите размерность матрицы: " + dim);

    Console.Write("Введите нижнюю границу значений для случайных элементов: ");

    int.TryParse(Console.ReadLine(), out min);

    Console.Write("Введите верхнюю границу значений для случайных элементов: ");

    int.TryParse(Console.ReadLine(), out max);

    }

    while (min >= max);

    int[,] matrix = CreateMatrix(dim, min, max);

    Console.WriteLine("\nЭлементы ниже главной диагонали: ");

    double average = GetElementsBelowDiagonal(matrix).Where(e => (e & 1) == 0).Average();

    Console.WriteLine("\n\nСреднее арифметическое четных элементов, расположенных ниже главной диагонали:\n" + average);

    Console.ReadKey();

    }

    }

    }

    4 Задание

    Найти минимальный элемент в каждом столбце и записать данные в новый

    массив.

    using System;

    namespace TestConsoleProject

    {

    class Program

    {

    public static void Main(string[] args)

    {

    Console.Write("Сколько ступенек будет в массиве : ");

    int n = Convert.ToInt32(Console.ReadLine());

    int[][] myArray_1 = new int[n][];

    int[] minArray = new int[n];

    Random rnd = new Random();
    for(int i = 0; i< myArray_1.Length;i++)

    {

    Console.WriteLine();

    myArray_1[i] = new int[i + 1];

    for(int j = 0; j <= i; j++)

    {

    myArray_1[i][j] = rnd.Next(10);

    Console.Write(myArray_1[i][j]+" ");

    }

    }
    int min = 0;

    for(int i = 0; i < myArray_1.Length; i++)

    {

    min = myArray_1[i][0];

    for(int j = 0; j <= i; j++)

    {

    if(min >= myArray_1[i][j])

    min = myArray_1[i][j];

    }

    minArray[i] = min;

    }

    Console.WriteLine("\n

    Минимальные Элементы ");

    foreach(int value in minArray)

    Console.Write("{0} ", value);

    Console.ReadKey();

    }

    }

    }
    Вывод

    Научились работать с массивами на языке C#.


    Тула 2019 г.


    написать администратору сайта