Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Text;
- namespace Laba5
- {
- class Program
- {
- static void Main(string[] args)
- {
- int[] AnArray = new int[15];
- Console.WriteLine("*****Лабораторная работа 5 вариант 10*****");
- Console.WriteLine("1)Задание 1;\n" +
- "2)Задание 2;\n" +
- "3)Задание 3;\n" +
- "4)Задание 4;\n" +
- "5)Задание 5;\n" +
- "6)Задание 6;\n" +
- "7)Задание 7;\n" +
- "8)Задание 8;\n" +
- "0)Выход;");
- Console.WriteLine();
- Console.Write("Введите номер: ");
- int NumberOfProgram = int.Parse(Console.ReadLine());
- switch (NumberOfProgram)
- {
- case 0:
- break;
- case 1:
- CreatingAnArray(AnArray);
- WorkingWithArray1(AnArray);
- Main(args);
- break;
- case 2:
- CreatingAnArray(AnArray);
- WorkingWithArray2(AnArray);
- Main(args);
- break;
- case 3:
- WorkingWithArray3();
- Main(args);
- break;
- case 4:
- WorkingWithArray4();
- Main(args);
- break;
- case 5:
- WorkingWithArray5();
- Main(args);
- break;
- case 6:
- WorkingWithArray6();
- Main(args);
- break;
- case 7:
- WorkingWithArray7();
- Main(args);
- break;
- case 8:
- WorkingWithArray8();
- Main(args);
- break;
- }
- }
- static void CreatingAnArray(int[] AnArray)
- {
- Console.WriteLine();
- Console.WriteLine("*****Создание массива*****");
- Random Rand = new Random();
- for (int i = 0; i < 15; i++) AnArray[i] = Rand.Next(-50, 50);
- Console.Write("Массив: ");
- foreach (int i in AnArray) Console.Write("{0}; ", i);
- Console.WriteLine();
- Console.WriteLine("Нажмите Enter для продолжения...");
- Console.ReadLine();
- }
- static void WorkingWithArray1(int[] AnArray)
- {
- int Number = 0;
- Console.WriteLine("*****Задание 1*****");
- Console.WriteLine("1)Расчет количества чисел, кратных трем; \n" +
- "2)Расчет суммы положительных чисел; \n" +
- "3)Нахождение номера максимального положительного числа; \n" +
- "4)Определение нулевых значений в массиве; \n" +
- "5)Вывод элемента с четными номерами по формату: a[i] = x; \n" +
- "0)Выход;");
- Console.Write("Введите номер задания: ");
- int NumberOfProgram = int.Parse(Console.ReadLine());
- switch (NumberOfProgram)
- {
- case 1:
- foreach (int i in AnArray)
- if (i % 3 == 0)
- Number++;
- Console.WriteLine("Количество чисел, которые кратны 3: {0}", Number);
- Console.WriteLine("Нажмите Enter для выхода...");
- Console.ReadLine();
- WorkingWithArray1(AnArray);
- break;
- case 2:
- int Sum = 0;
- foreach (int i in AnArray)
- if (i > 0)
- Sum += i;
- Console.WriteLine("Сумма положительных чисел: {0}", Sum);
- Console.WriteLine("Нажмите Enter для выхода...");
- Console.ReadLine();
- WorkingWithArray1(AnArray);
- break;
- case 3:
- Number = AnArray[0];
- for (int i = 0; i < 15; i++)
- if (AnArray[i] > Number)
- Number = i;
- Console.WriteLine("Номер максимального положительного числа: {0}", Number);
- Console.WriteLine("Нажмите Enter для выхода...");
- Console.ReadLine();
- WorkingWithArray1(AnArray);
- break;
- case 4:
- Boolean Existence = false;
- foreach (int i in AnArray)
- if (i == 0)
- Existence = true;
- string YesOrNo;
- if (Existence == false)
- YesOrNo = "Нет";
- else YesOrNo = "Да";
- Console.WriteLine("Наличие нулевых значений в массиве: {0}", YesOrNo);
- Console.WriteLine("Нажмите Enter для выхода...");
- Console.ReadLine();
- WorkingWithArray1(AnArray);
- break;
- case 5:
- Console.Write("Элементы с четными номерами: ");
- for (int i = 0; i < 15; i++)
- if (AnArray[i] % 2 == 0)
- Console.Write(i + " = " + AnArray[i] + "; ");
- Console.WriteLine();
- Console.WriteLine("Нажмите Enter для выхода...");
- Console.ReadLine();
- WorkingWithArray1(AnArray);
- break;
- case 0:
- Console.WriteLine();
- break;
- }
- }
- static void WorkingWithArray2(int[] AnArray)
- {
- Console.WriteLine("*****Задание 2*****");
- Console.WriteLine("Дан массив из N элементов и номер элемента в массиве k. Удалите из массива " +
- "элемент с индексом k, сдвинув влево все элементы, стоящие правее элемента с индексом k");
- Console.Write("Введите номер элемента, чтобы удалить его: ");
- int Number = int.Parse(Console.ReadLine());
- for (int i = Number; i < 14; i++) AnArray[i] = AnArray[i + 1];
- AnArray[14] = 0;
- Console.WriteLine("Вывод массива после удаления {0} элемента", Number);
- foreach (int i in AnArray) Console.Write(i + "; "); Console.WriteLine();
- Console.WriteLine("Нажмите Enter для выхода...");
- Console.ReadLine();
- Console.WriteLine();
- }
- static void WorkingWithArray3()
- {
- Console.WriteLine();
- Console.WriteLine("*****Задание 3*****");
- Console.WriteLine("Даны два отсортированных массива: int A[n] и int B[m]. Объедините их в один " +
- "отсортированный массив int C[n+m]. Время работы алгоритма должно быть порядка n+m действий.");
- Console.WriteLine();
- Console.WriteLine("*****Создание массива*****");
- Console.Write("Задайте размерность массива А: ");
- int N = int.Parse(Console.ReadLine());
- Console.Write("Задайте размерность массива B: ");
- int M = int.Parse(Console.ReadLine()); Console.WriteLine();
- int j = 0;
- int[] A = new int[N];
- int[] B = new int[M];
- int[] C = new int[M + N];
- Random Rand = new Random();
- for (int i = 0; i < N; i++)
- A[i] = Rand.Next(-50, 50);
- for (int i = 0; i < M; i++)
- B[i] = Rand.Next(-50, 50);
- Array.Sort(A);
- Array.Sort(B);
- Console.Write("Вывод отсортированного массива А: ");
- foreach (int i in A)
- Console.Write(i + "; ");
- Console.WriteLine();
- Console.Write("Вывод отсортированного массива B: ");
- foreach (int i in B)
- Console.Write(i + "; ");
- Console.WriteLine();
- for (int i = 0; i < A.Length; i++, j++)
- C[j] = A[i];
- for (int i = 0; i < B.Length; i++, j++)
- C[j] = B[i];
- Console.Write("Вывод массива C: ");
- Array.Sort(C);
- for (j = 0; j < C.Length; j++)
- Console.Write(C[j] + "; ");
- Console.WriteLine();
- Console.WriteLine("Нажмите Enter для выхода...");
- Console.ReadLine();
- }
- static void WorkingWithArray4()
- {
- Console.WriteLine();
- Console.WriteLine("*****Задание 4*****");
- Console.WriteLine("Дана матрица M x N, заполненная случайными числами. Программа должна " +
- "выводить матрицу в наглядном виде (см. выше). Найти максимальный элемент в каждом" +
- "столбце и вывести его. Используя цикл foreach, найти среднее значение среди всех нечетных элементов.");
- Console.WriteLine();
- Console.WriteLine("*****Создание матрицы*****");
- Console.WriteLine("Задайте размерность матрицы: ");
- Console.Write("N: ");
- int N = int.Parse(Console.ReadLine());
- Console.Write("M: ");
- int M = int.Parse(Console.ReadLine()); Console.WriteLine();
- int[,] AnArray = new int[N, M];
- Random Rand = new Random();
- for (int i = 0; i < N; i++)
- for (int j = 0; j < M; j++)
- AnArray[i, j] = Rand.Next(10, 100);
- Console.WriteLine("Вывод матрицы: ");
- for (int i = 0; i < AnArray.GetLength(0); i++)
- {
- for (int j = 0; j < AnArray.GetLength(1); j++)
- {
- Console.Write(AnArray[i, j] + "\t");
- }
- Console.WriteLine();
- }
- Console.WriteLine();
- for (int j = 0; j < M; j++)
- {
- int MaxNumber = AnArray[0, j];
- for (int i = 1; i < N; i++)
- if (AnArray[i, j] > MaxNumber)
- MaxNumber = AnArray[i, j];
- Console.WriteLine("Маскимальный элемент в {0} столбце: {1}", j + 1, MaxNumber);
- MaxNumber = 0;
- }
- Console.WriteLine();
- int Avarage = 0; int HowManyElems = 0;
- foreach (int x in AnArray)
- if (x % 2 != 0)
- {
- Avarage += x;
- HowManyElems++;
- }
- Avarage /= HowManyElems;
- Console.WriteLine("Среднее значение нечетных элементов: " + Avarage);
- Console.WriteLine("Нажмите Enter для выхода...");
- Console.ReadLine();
- }
- static void WorkingWithArray5()
- {
- Console.WriteLine();
- Console.WriteLine("*****Задание 5*****");
- Console.WriteLine("Дана вещественная матрица M x N, заполненная случайными числами. Соседями элемента aij являются элементы akl: " +
- "i-1<=k<=i+1; j-1<=l<=j+1, причем (i,j)!=(k,l). Провести операцию сглаживания матрицы, " +
- "состоящей в вычислении среднего арифметического соседей для каждого элемента исходной матрицы. \n" +
- "Программа должна выводить в наглядном виде (см. задание 4) исходную и новую матрицу.");
- Console.WriteLine();
- Console.WriteLine("*****Создание матрицы*****");
- Console.WriteLine("Задайте размерность матрицы: ");
- Console.Write("N: ");
- int N = int.Parse(Console.ReadLine());
- Console.Write("M: ");
- int M = int.Parse(Console.ReadLine()); Console.WriteLine();
- double[,] AnArray = new double[N, M];
- Random Rand = new Random();
- for (int i = 0; i < N; i++)
- for (int j = 0; j < M; j++)
- AnArray[i, j] = Rand.Next(10, 100);
- Console.WriteLine("Вывод матрицы: ");
- for (int i = 0; i < N; i++)
- {
- for (int j = 0; j < M; j++)
- {
- Console.Write(AnArray[i, j] + "\t");
- }
- Console.WriteLine();
- }
- Console.WriteLine();
- Console.WriteLine("Вывод сглаженной матрицы: ");
- double[,] AnClearArray = new double[AnArray.GetLength(0), AnArray.GetLength(1)];
- for (int i = 0; i < AnArray.GetLength(0); i++)
- {
- for (int j = 0; j < AnArray.GetLength(1); j++)
- {
- if (j == 0 || j == M - 1 || i == 0 || i == N - 1)
- AnClearArray[i, j] = AnArray[i, j];
- else AnClearArray[i, j] = (AnArray[i, j - 1] + AnArray[i, j + 1]) / 2;
- }
- }
- for (int i = 0; i < N; i++)
- {
- for (int j = 0; j < M; j++)
- {
- Console.Write(AnClearArray[i, j] + "\t");
- }
- Console.WriteLine();
- }
- Console.WriteLine();
- Console.WriteLine("Нажмите Enter для выхода...");
- Console.ReadLine();
- }
- static void WorkingWithArray6()
- {
- Console.WriteLine();
- Console.WriteLine("*****Задание 6*****");
- Console.WriteLine("Даны две строки. Определите, является ли первая строка подстрокой второй строки.");
- Console.WriteLine();
- Console.Write("Введите первую строку: ");
- string string1 = Console.ReadLine();
- Console.Write("Введите вторую строку: ");
- string string2 = Console.ReadLine();
- bool z = false;
- int i = 0;
- int j = 0;
- while (i < string1.Length)
- {
- if (string1[i] == string2[0])
- {
- int k = i;
- z = false;
- j = 0;
- if (string2.Length > string1.Length - k)
- break;
- while (j < string2.Length)
- {
- if (string1[k] != string2[j])
- {
- z = false;
- break;
- }
- k++;
- j++;
- }
- if (j == string2.Length)
- {
- z = true;
- break;
- }
- }
- i++;
- }
- if (z)
- Console.WriteLine("Содержит");
- else Console.WriteLine("Не содержит");
- Console.WriteLine();
- Console.WriteLine("Нажмите Enter для выхода...");
- Console.ReadLine();
- }
- static void WorkingWithArray7()
- {
- Console.WriteLine();
- Console.WriteLine("*****Задание 7*****");
- Console.WriteLine("Составить строку длины l, заполненную случайными символами: от “a” до “h”," +
- " цифрами от 1 до 7 и знаками «?», «!» и «;». Заменить все вхождения символа «;» на «_».");
- Console.WriteLine();
- Random RandomString = new Random();
- Console.Write("Введите длину строки: ");
- int l = int.Parse(Console.ReadLine());
- char[] chars = "?abcdefgh!1234567;".ToCharArray();
- StringBuilder sb = new StringBuilder();
- for (int i = 0; i < l; i++)
- {
- sb.Append(chars[RandomString.Next(chars.Length)]);
- }
- Console.Write("Составленная строка: ");
- Console.WriteLine(sb.ToString());
- for (int i = 0; i < l; i++)
- {
- if (sb[i] == ';')
- sb[i] = '_';
- }
- Console.Write("Строка после замены символов: ");
- Console.WriteLine(sb.ToString());
- Console.WriteLine();
- Console.WriteLine("Нажмите Enter для выхода...");
- Console.ReadLine();
- }
- static void WorkingWithArray8()
- {
- Console.WriteLine();
- Console.WriteLine("*****Задание 8*****");
- Console.WriteLine("Дан ступенчатый массив, состоящий из 3 матриц: 2x2, 3x2, 2x3, заполненных " +
- "случайными числами. Определить минимум в каждом столбце и вывести сумму всех таких минимумов.");
- int[][,] myArray = new int[3][,];
- myArray[0] = new int[2, 2];
- myArray[1] = new int[3, 2];
- myArray[2] = new int[2, 3];
- Random Rand = new Random();
- for (int k = 0; k < 3; k++)
- {
- for (int i = 0; i < 2; i++)
- for (int j = 0; j < 2; j++)
- {
- myArray[k][i, j] = Rand.Next(10, 100);
- }
- }
- int sumMyArray = 0;
- for (int k = 0; k < 3; k++)
- {
- for (int j = 0; j < 2; j++)
- {
- int MinNumber = myArray[k][1, j];
- for (int i = 0; i < 2; i++)
- {
- if (myArray[k][i, j] < MinNumber)
- MinNumber = myArray[k][i, j];
- }
- sumMyArray += MinNumber;
- MinNumber = 0;
- }
- }
- Console.WriteLine("Сумма всех минимумов: " + sumMyArray);
- Console.WriteLine();
- Console.WriteLine("Нажмите Enter для выхода...");
- Console.ReadLine();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement