Файл: Отчет по лабораторным работам оп. 04 Основы алгоритмизации и программирование ккоо. Оаип4211121. 000 Студент Самойлова К. А.docx

ВУЗ: Не указан

Категория: Отчет по практике

Дисциплина: Не указана

Добавлен: 06.11.2023

Просмотров: 179

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


  1. подсчитать среднее арифметическое отрицательных элементов;

namespace ConsoleApp3

{

internal class Program

{

private static double mid;
//Заполнение массива

static void Input(out int[,] a)

{

Random rnd = new Random();

Console.Write("n = "); //Кол-во строк

int n = int.Parse(Console.ReadLine());
a = new int[n, n];

for (int i = 0; i < a.GetLength(0); i++) //кол-во в строке

{

for (int j = 0; j < a.GetLength(1); j++) //кол-во столбце

{

a[i, j] = rnd.Next(-100, 100);

}

}

}

//вывод массива

static void Print(int[,] a)

{

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

{

for (int j = 0; j < a.GetLength(1); j++)

{

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

}

Console.WriteLine(); //переход на новую строку

}

}

static void Cnt(ref int[,] a)

{

double huh = 0;

double sum = 0;

double jj = 0;

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

{

for (int j = 0; j < a.GetLength(1); j++)

{

if (a[i, j] < 0)

{

sum += a[i, j];

jj++;

}

}

}

huh = sum / jj;
Console.WriteLine($" Среднее арифметическое отрицательных элементов массива = {huh}");

}
static void Main()

{

int[,] A;
Input(out A);

Console.WriteLine("Массив A");

Print(A);

Cnt(ref A);

Console.ReadKey();

}

}

}



  1. подсчитать количество нечетных элементов;

namespace ConsoleApp3

{

internal class Program

{

private static double mid;
//Заполнение массива

static void Input(out int[,] a)

{

Random rnd = new Random();

Console.Write("n = "); //Кол-во строк

int n = int.Parse(Console.ReadLine());
a = new int[n, n];

for (int i = 0; i < a.GetLength(0); i++) //кол-во в строке

{

for (int j = 0; j < a.GetLength(1); j++) //кол-во столбце

{

a[i, j] = rnd.Next(-100, 100);

}

}

}

//вывод массива

static void Print(int[,] a)

{

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

{

for (int j = 0; j < a.GetLength(1); j++)

{

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

}

Console.WriteLine(); //переход на новую строку

}

}

static void Cnt(ref int[,] a)

{

double huh = 0;

double sum = 0;

int JJ = 0;

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

{

for (int j = 0; j < a.GetLength(1); j++)

{

if (a[i, j] % 2 != 0)

{

sum +=a[i, j];

JJ++;

}
}

}

// huh = sum / JJ;
Console.WriteLine($" Количество нечетных элементов = {JJ}");

}
static void Main()

{

int[,] A;
Input(out A);

Console.WriteLine("Массив A");

Print(A);

Cnt(ref A);

Console.ReadKey();

}

}

}



  1. подсчитать сумму элементов, кратных 9;

namespace ConsoleApp3

{

internal class Program


{

private static double mid;
//Заполнение массива

static void Input(out int[,] a)

{

Random rnd = new Random();

Console.Write("n = "); //Кол-во строк

int n = int.Parse(Console.ReadLine());
a = new int[n, n];

for (int i = 0; i < a.GetLength(0); i++) //кол-во в строке

{

for (int j = 0; j < a.GetLength(1); j++) //кол-во столбце

{

a[i, j] = rnd.Next(-100, 100);

}

}

}

//вывод массива

static void Print(int[,] a)

{

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

{

for (int j = 0; j < a.GetLength(1); j++)

{

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

}

Console.WriteLine(); //переход на новую строку

}

}

static void Cnt(ref int[,] a)

{

double huh = 0;

double sum = 0;

int JJ = 0;

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

{

for (int j = 0; j < a.GetLength(1); j++)

{

if (a[i, j] % 9 == 0)

{

sum +=a[i, j];

JJ++;

}
}

}

// huh = sum / JJ;
Console.WriteLine($" Cуммa квадратов четных элементов = {sum}");

}
static void Main()

{

int[,] A;
Input(out A);

Console.WriteLine("Массив A");

Print(A);

Cnt(ref A);

Console.ReadKey();

}

}

}



  1. подсчитать сумму квадратов четных элементов;

using System;

using System.Collections.Generic;

using System.Linq;

using System.Security.Cryptography;

using System.Text;

using System.Threading.Tasks;
namespace ConsoleApp3

{

internal class Program

{

//Заполнение массива

static void Input(out int[,] a)

{

Random rnd = new Random();

Console.Write("n = "); //Кол-во строк

int n = int.Parse(Console.ReadLine());
a = new int[n, n];

for (int i = 0; i < a.GetLength(0); i++) //кол-во в строке

{

for (int j = 0; j < a.GetLength(1); j++) //кол-во столбце

{

a[i, j] = rnd.Next(-100, 100);

}

}

}

//вывод массива

static void Print(int[,] a)

{

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

{

for (int j = 0; j < a.GetLength(1); j++)

{

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

}

Console.WriteLine(); //переход на новую строку

}

}

static void Cnt(ref int[,] a)

{

double sum = 0;

int JJ = 0;

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

{

for (int j = 0; j < a.GetLength(1); j++)

{

if (a[i, j] % 2 == 0)

{

sum += Math.Pow(a[i, j], 2);

JJ++;

}
}

}

// huh = sum / JJ;
Console.WriteLine($" Cуммa квадратов четных элементов = {sum}");

}
static void Main()

{

int[,] A;
Input(out A);

Console.WriteLine("Массив A");

Print(A);

Cnt(ref A);

Console.ReadKey();

}

}

}


  1. вывести на экран номера всех элементов, больших заданного числа;

namespace ConsoleApp3

{

internal class Program

{

private static double mid;
//Заполнение массива

static void Input(out int[,] a)

{

Random rnd = new Random();

Console.Write("n = "); //Кол-во строк

int n = int.Parse(Console.ReadLine());
a = new int[n, n];

for (int i = 0; i < a.GetLength(0); i++) //кол-во в строке



{

for (int j = 0; j < a.GetLength(1); j++) //кол-во столбце

{

a[i, j] = rnd.Next(-100, 100);

}

}

}

//вывод массива

static void Print(int[,] a)

{

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

{

for (int j = 0; j < a.GetLength(1); j++)

{

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

}

Console.WriteLine(); //переход на новую строку

}

}

static void Cnt(ref int[,] a)
{

Console.WriteLine("Введите число");

double d = double.Parse(Console.ReadLine());

double huh = 0;

double sum = 0;

int JJ = 0;

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

{

for (int j = 0; j < a.GetLength(1); j++)

{

if (a[i, j] > d)

{

Console.WriteLine($"Номера этих элементов {i},{j}");

}
}

}

// huh = sum / JJ;
//Console.WriteLine($" Количество нечетных элементов = {JJ}");

}
static void Main()

{

int[,] A;
Input(out A);

Console.WriteLine("Массив A");

Print(A);

Cnt(ref A);

Console.ReadKey();

}

}

}



  1. вывести на экран номера всех нечетных элементов;

using System;

using System.Collections.Generic;

using System.Linq;

using System.Security.Cryptography;

using System.Text;

using System.Threading.Tasks;
namespace ConsoleApp3

{

internal class Program

{
//Заполнение массива

static void Input(out int[,] a)

{

Random rnd = new Random();

Console.Write("n = "); //Кол-во строк

int n = int.Parse(Console.ReadLine());
a = new int[n, n];

for (int i = 0; i < a.GetLength(0); i++) //кол-во в строке

{

for (int j = 0; j < a.GetLength(1); j++) //кол-во столбце

{

a[i, j] = rnd.Next(-100, 100);

}

}

}

//вывод массива

static void Print(int[,] a)

{

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

{

for (int j = 0; j < a.GetLength(1); j++)

{

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

}

Console.WriteLine(); //переход на новую строку

}

}

static void Cnt(ref int[,] a)
{

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

{

for (int j = 0; j < a.GetLength(1); j++)

{

if (a[i, j] % 2 != 0)

{

Console.WriteLine($"Номера этих элементов {i},{j}");

}
}

}

// huh = sum / JJ;
//Console.WriteLine($" Количество нечетных элементов = {JJ}");

}
static void Main()

{

int[,] A;
Input(out A);

Console.WriteLine("Массив A");

Print(A);

Cnt(ref A);

Console.ReadKey();

}

}

}



  1. вывести на экран положительные элементы с нечетными индексами.

internal class Program

{

private static double mid;
//Заполнение массива

static void Input(out int[,] a)

{

Random rnd = new Random();

Console.Write("n = "); //Кол-во строк

int n = int.Parse(Console.ReadLine());
a = new int[n, n];

for (int i = 0; i < a.GetLength(0); i++) //кол-во в строке

{

for (int j = 0; j < a.GetLength(1); j++) //кол-во столбце

{

a[i, j] = rnd.Next(-100, 100);

}

}

}

//вывод массива

static void Print(int[,] a)

{

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

{

for (int j = 0; j < a.GetLength(1); j++)

{

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


}

Console.WriteLine(); //переход на новую строку

}

}

static void Cnt(ref int[,] a)
{

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

{

for (int j = 0; j < a.GetLength(1); j++)

{

if (i % 2 != 0 & j % 2 != 0)

{

if (a[i, j] > 0)

{

Console.WriteLine(a[i, j]);

}

}
}

}

}
static void Main()

{

int[,] A;
Input(out A);

Console.WriteLine("Массив A");

Print(A);

Cnt(ref A);

Console.ReadKey();

}

}

}



Задание 2.

Для заданного массива A размером n*n:

1) подсчитать среднее арифметическое нечетных элементов

расположенных выше главной диагонали;

static void Input(out int[,] a)

{

Random rnd = new Random();

Console.Write("n = "); //Кол-во строк

int n = int.Parse(Console.ReadLine());
a = new int[n, n];

for (int i = 0; i < a.GetLength(0); i++) //кол-во в строке

{

for (int j = 0; j < a.GetLength(1); j++) //кол-во столбце

{

a[i, j] = rnd.Next(-100, 100);

}

}

double huh = 0;

double sum = 0;

int JJ = 0;

for (int i = 0; i
{

for (int j = 0; j < a.GetLength(1); j++)

{

if (a[i, j] % 2 != 0 && j>i)

{

sum += a[i, j];

JJ++;

}

}

}

Console.WriteLine();

huh = sum / JJ;
Console.WriteLine($" Cр. арифмет. эл. выше главной диагонали = {huh}");

}

//вывод массива

static void Print(int[,] a)

{

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

{

for (int j = 0; j < a.GetLength(1); j++)

{

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

}

Console.WriteLine(); //переход на новую строку

}

}

static void Cnt(string[] args)

{

int sum = 0;

Console.WriteLine("sum=" + sum);

}

static void Cnt(ref int[,] a)

{

}
static void Main()

{

int[,] A;
Input(out A);

Console.WriteLine("Массив A");

Print(A);

Cnt(ref A);

Console.ReadKey();

}

}

}


2) подсчитать среднее арифметическое четных элементов расположенных ниже главной диагонали;

internal class Program

{
//Заполнение массива

static void Input(out int[,] a)

{

Random rnd = new Random();

Console.Write("n = "); //Кол-во строк

int n = int.Parse(Console.ReadLine());
a = new int[n, n];

for (int i = 0; i < a.GetLength(0); i++) //кол-во в строке

{

for (int j = 0; j < a.GetLength(1); j++) //кол-во столбце

{

a[i, j] = rnd.Next(-100, 100);

}

}

double huh = 0;

double sum = 0;

int JJ = 0;

for (int i = 0; i
{

for (int j = 0; j < a.GetLength(1); j++)

{

if (a[i, j] % 2 == 0 && j
{

sum += a[i, j];

JJ++;

}

}

}

Console.WriteLine();

huh = sum / JJ;
Console.WriteLine($" Cр. арифмет. эл. выше главной диагонали = {huh}");

}

//вывод массива

static void Print(int[,] a)

{

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

{

for (int j = 0; j < a.GetLength(1); j++)


{

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

}

Console.WriteLine(); //переход на новую строку

}

}

static void Cnt(ref int[,] a)

{

}
static void Main()

{

int[,] A;
Input(out A);

Console.WriteLine("Массив A");

Print(A);

Cnt(ref A);

Console.ReadKey();

}

}

}



3) подсчитать сумму элементов расположенных на побочной диагонали

4) подсчитать среднее арифметическое ненулевых элементов расположенных

над побочной диагональю;

5) подсчитать среднее арифметическое элементов расположенных под

побочной диагональю;

6) поменять местами столбцы по правилу первый с последним второй с

предпоследним и т.д.;

7) поменять местами две средних строки если количество строк четное

и первую со средней строкой, если количество строк нечетное;


internal class Program

{

static Random rand = new Random();
static int[,] formirov2(int[,] mass, int n, int m)

{

{
for (int i = 0; i < mass.GetLength(0); i++)

{

for (int j = 0; j < mass.GetLength(1); j++)

{

mass[i, j] = rand.Next(100);

Console.Write("{0,4}", mass[i, j]);

}

Console.WriteLine();

}

return mass;

}

}

static void SRarf1(int[,] mass)

{

int sum = 0;

int numb = 0;

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

{
for (int j = 0; j < mass.GetLength(1); j++)

{

if (i > j)

{

if (mass[i, j] % 2 != 0)

{

numb = numb + 1;

sum = sum + mass[i, j];

}

}

}
}

int srarf = sum / numb;

Console.WriteLine($"1) среднее арифмитическое нечётных выше главной диагонали = {srarf}");

}
static void SRarf2(int[,] mass)

{

int sum = 0;

int numb = 0;

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

{
for (int j = 0; j < mass.GetLength(1); j++)

{

if (i < j)

{

if (mass[i, j] % 2 == 0)

{

numb = numb + 1;

sum = sum + mass[i, j];

}

}

}
}

int srarf = sum / numb;

Console.WriteLine($"2) среднее арифмитическое чётных ниже главной диагонали = {srarf}");

}
static void SummOnAditional(int[,] mass)

{

int sum = 0;

int test = mass.GetLength(0) - 1;

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

{
for (int j = 0; j < mass.GetLength(1); j++)

{

if (test == i + j)

{

sum = sum + mass[i, j];

}

}
}
Console.WriteLine($"3) сумма на побочной диагонали = {sum}");

}
static void SummUpAditional(int[,] mass)

{

int sum = 0;

int numb = 0;

int test = mass.GetLength(0) - 1;

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

{
for (int j = 0; j < mass.GetLength(1); j++)

{

if (test > i + j)

{

if (mass[i, j] != 0)

{