Файл: Отчет по лабораторным работам оп. 04 Основы алгоритмизации и программирование ккоо. Оаип4211121. 000 Студент Самойлова К. А.docx
Добавлен: 06.11.2023
Просмотров: 179
Скачиваний: 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();
}
}
}
-
подсчитать количество нечетных элементов;
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();
}
}
}
-
подсчитать сумму элементов, кратных 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();
}
}
}
-
подсчитать сумму квадратов четных элементов;
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();
}
}
}
-
вывести на экран номера всех элементов, больших заданного числа;
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();
}
}
}
-
вывести на экран номера всех нечетных элементов;
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();
}
}
}
-
вывести на экран положительные элементы с нечетными индексами.
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)
{