Advertisement
Guest User

Untitled

a guest
Apr 26th, 2018
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 20.28 KB | None | 0 0
  1. using System;
  2. using System.Text;
  3. namespace Laba5
  4. {
  5. class Program
  6. {
  7. static void Main(string[] args)
  8. {
  9. int[] AnArray = new int[15];
  10. Console.WriteLine("*****Лабораторная работа 5 вариант 10*****");
  11. Console.WriteLine("1)Задание 1;\n" +
  12. "2)Задание 2;\n" +
  13. "3)Задание 3;\n" +
  14. "4)Задание 4;\n" +
  15. "5)Задание 5;\n" +
  16. "6)Задание 6;\n" +
  17. "7)Задание 7;\n" +
  18. "8)Задание 8;\n" +
  19. "0)Выход;");
  20. Console.WriteLine();
  21. Console.Write("Введите номер: ");
  22. int NumberOfProgram = int.Parse(Console.ReadLine());
  23. switch (NumberOfProgram)
  24. {
  25. case 0:
  26. break;
  27. case 1:
  28. CreatingAnArray(AnArray);
  29. WorkingWithArray1(AnArray);
  30. Main(args);
  31. break;
  32. case 2:
  33. CreatingAnArray(AnArray);
  34. WorkingWithArray2(AnArray);
  35. Main(args);
  36. break;
  37. case 3:
  38. WorkingWithArray3();
  39. Main(args);
  40. break;
  41. case 4:
  42. WorkingWithArray4();
  43. Main(args);
  44. break;
  45. case 5:
  46. WorkingWithArray5();
  47. Main(args);
  48. break;
  49. case 6:
  50. WorkingWithArray6();
  51. Main(args);
  52. break;
  53. case 7:
  54. WorkingWithArray7();
  55. Main(args);
  56. break;
  57. case 8:
  58. WorkingWithArray8();
  59. Main(args);
  60. break;
  61. }
  62. }
  63. static void CreatingAnArray(int[] AnArray)
  64. {
  65. Console.WriteLine();
  66. Console.WriteLine("*****Создание массива*****");
  67. Random Rand = new Random();
  68. for (int i = 0; i < 15; i++) AnArray[i] = Rand.Next(-50, 50);
  69. Console.Write("Массив: ");
  70. foreach (int i in AnArray) Console.Write("{0}; ", i);
  71. Console.WriteLine();
  72. Console.WriteLine("Нажмите Enter для продолжения...");
  73. Console.ReadLine();
  74. }
  75. static void WorkingWithArray1(int[] AnArray)
  76. {
  77. int Number = 0;
  78. Console.WriteLine("*****Задание 1*****");
  79. Console.WriteLine("1)Расчет количества чисел, кратных трем; \n" +
  80. "2)Расчет суммы положительных чисел; \n" +
  81. "3)Нахождение номера максимального положительного числа; \n" +
  82. "4)Определение нулевых значений в массиве; \n" +
  83. "5)Вывод элемента с четными номерами по формату: a[i] = x; \n" +
  84. "0)Выход;");
  85. Console.Write("Введите номер задания: ");
  86. int NumberOfProgram = int.Parse(Console.ReadLine());
  87.  
  88. switch (NumberOfProgram)
  89. {
  90. case 1:
  91. foreach (int i in AnArray)
  92. if (i % 3 == 0)
  93. Number++;
  94. Console.WriteLine("Количество чисел, которые кратны 3: {0}", Number);
  95. Console.WriteLine("Нажмите Enter для выхода...");
  96. Console.ReadLine();
  97. WorkingWithArray1(AnArray);
  98. break;
  99. case 2:
  100. int Sum = 0;
  101. foreach (int i in AnArray)
  102. if (i > 0)
  103. Sum += i;
  104. Console.WriteLine("Сумма положительных чисел: {0}", Sum);
  105. Console.WriteLine("Нажмите Enter для выхода...");
  106. Console.ReadLine();
  107. WorkingWithArray1(AnArray);
  108. break;
  109. case 3:
  110. Number = AnArray[0];
  111. for (int i = 0; i < 15; i++)
  112. if (AnArray[i] > Number)
  113. Number = i;
  114. Console.WriteLine("Номер максимального положительного числа: {0}", Number);
  115. Console.WriteLine("Нажмите Enter для выхода...");
  116. Console.ReadLine();
  117. WorkingWithArray1(AnArray);
  118. break;
  119. case 4:
  120. Boolean Existence = false;
  121. foreach (int i in AnArray)
  122. if (i == 0)
  123. Existence = true;
  124. string YesOrNo;
  125. if (Existence == false)
  126. YesOrNo = "Нет";
  127. else YesOrNo = "Да";
  128. Console.WriteLine("Наличие нулевых значений в массиве: {0}", YesOrNo);
  129. Console.WriteLine("Нажмите Enter для выхода...");
  130. Console.ReadLine();
  131. WorkingWithArray1(AnArray);
  132. break;
  133. case 5:
  134. Console.Write("Элементы с четными номерами: ");
  135. for (int i = 0; i < 15; i++)
  136. if (AnArray[i] % 2 == 0)
  137. Console.Write(i + " = " + AnArray[i] + "; ");
  138. Console.WriteLine();
  139. Console.WriteLine("Нажмите Enter для выхода...");
  140. Console.ReadLine();
  141. WorkingWithArray1(AnArray);
  142. break;
  143. case 0:
  144. Console.WriteLine();
  145. break;
  146. }
  147. }
  148. static void WorkingWithArray2(int[] AnArray)
  149. {
  150. Console.WriteLine("*****Задание 2*****");
  151. Console.WriteLine("Дан массив из N элементов и номер элемента в массиве k. Удалите из массива " +
  152. "элемент с индексом k, сдвинув влево все элементы, стоящие правее элемента с индексом k");
  153. Console.Write("Введите номер элемента, чтобы удалить его: ");
  154. int Number = int.Parse(Console.ReadLine());
  155. for (int i = Number; i < 14; i++) AnArray[i] = AnArray[i + 1];
  156. AnArray[14] = 0;
  157. Console.WriteLine("Вывод массива после удаления {0} элемента", Number);
  158. foreach (int i in AnArray) Console.Write(i + "; "); Console.WriteLine();
  159. Console.WriteLine("Нажмите Enter для выхода...");
  160. Console.ReadLine();
  161. Console.WriteLine();
  162. }
  163. static void WorkingWithArray3()
  164. {
  165. Console.WriteLine();
  166. Console.WriteLine("*****Задание 3*****");
  167. Console.WriteLine("Даны два отсортированных массива: int A[n] и int B[m]. Объедините их в один " +
  168. "отсортированный массив int C[n+m]. Время работы алгоритма должно быть порядка n+m действий.");
  169. Console.WriteLine();
  170. Console.WriteLine("*****Создание массива*****");
  171. Console.Write("Задайте размерность массива А: ");
  172. int N = int.Parse(Console.ReadLine());
  173. Console.Write("Задайте размерность массива B: ");
  174. int M = int.Parse(Console.ReadLine()); Console.WriteLine();
  175. int j = 0;
  176. int[] A = new int[N];
  177. int[] B = new int[M];
  178. int[] C = new int[M + N];
  179. Random Rand = new Random();
  180. for (int i = 0; i < N; i++)
  181. A[i] = Rand.Next(-50, 50);
  182. for (int i = 0; i < M; i++)
  183. B[i] = Rand.Next(-50, 50);
  184. Array.Sort(A);
  185. Array.Sort(B);
  186. Console.Write("Вывод отсортированного массива А: ");
  187. foreach (int i in A)
  188. Console.Write(i + "; ");
  189. Console.WriteLine();
  190. Console.Write("Вывод отсортированного массива B: ");
  191. foreach (int i in B)
  192. Console.Write(i + "; ");
  193. Console.WriteLine();
  194. for (int i = 0; i < A.Length; i++, j++)
  195. C[j] = A[i];
  196. for (int i = 0; i < B.Length; i++, j++)
  197. C[j] = B[i];
  198. Console.Write("Вывод массива C: ");
  199. Array.Sort(C);
  200. for (j = 0; j < C.Length; j++)
  201. Console.Write(C[j] + "; ");
  202. Console.WriteLine();
  203. Console.WriteLine("Нажмите Enter для выхода...");
  204. Console.ReadLine();
  205. }
  206. static void WorkingWithArray4()
  207. {
  208. Console.WriteLine();
  209. Console.WriteLine("*****Задание 4*****");
  210. Console.WriteLine("Дана матрица M x N, заполненная случайными числами. Программа должна " +
  211. "выводить матрицу в наглядном виде (см. выше). Найти максимальный элемент в каждом" +
  212. "столбце и вывести его. Используя цикл foreach, найти среднее значение среди всех нечетных элементов.");
  213. Console.WriteLine();
  214. Console.WriteLine("*****Создание матрицы*****");
  215. Console.WriteLine("Задайте размерность матрицы: ");
  216. Console.Write("N: ");
  217. int N = int.Parse(Console.ReadLine());
  218. Console.Write("M: ");
  219. int M = int.Parse(Console.ReadLine()); Console.WriteLine();
  220. int[,] AnArray = new int[N, M];
  221. Random Rand = new Random();
  222. for (int i = 0; i < N; i++)
  223. for (int j = 0; j < M; j++)
  224. AnArray[i, j] = Rand.Next(10, 100);
  225. Console.WriteLine("Вывод матрицы: ");
  226. for (int i = 0; i < AnArray.GetLength(0); i++)
  227. {
  228. for (int j = 0; j < AnArray.GetLength(1); j++)
  229. {
  230. Console.Write(AnArray[i, j] + "\t");
  231. }
  232. Console.WriteLine();
  233. }
  234. Console.WriteLine();
  235. for (int j = 0; j < M; j++)
  236. {
  237. int MaxNumber = AnArray[0, j];
  238. for (int i = 1; i < N; i++)
  239. if (AnArray[i, j] > MaxNumber)
  240. MaxNumber = AnArray[i, j];
  241. Console.WriteLine("Маскимальный элемент в {0} столбце: {1}", j + 1, MaxNumber);
  242. MaxNumber = 0;
  243. }
  244. Console.WriteLine();
  245. int Avarage = 0; int HowManyElems = 0;
  246. foreach (int x in AnArray)
  247. if (x % 2 != 0)
  248. {
  249. Avarage += x;
  250. HowManyElems++;
  251. }
  252. Avarage /= HowManyElems;
  253. Console.WriteLine("Среднее значение нечетных элементов: " + Avarage);
  254. Console.WriteLine("Нажмите Enter для выхода...");
  255. Console.ReadLine();
  256. }
  257. static void WorkingWithArray5()
  258. {
  259. Console.WriteLine();
  260. Console.WriteLine("*****Задание 5*****");
  261. Console.WriteLine("Дана вещественная матрица M x N, заполненная случайными числами. Соседями элемента aij являются элементы akl: " +
  262. "i-1<=k<=i+1; j-1<=l<=j+1, причем (i,j)!=(k,l). Провести операцию сглаживания матрицы, " +
  263. "состоящей в вычислении среднего арифметического соседей для каждого элемента исходной матрицы. \n" +
  264. "Программа должна выводить в наглядном виде (см. задание 4) исходную и новую матрицу.");
  265. Console.WriteLine();
  266. Console.WriteLine("*****Создание матрицы*****");
  267. Console.WriteLine("Задайте размерность матрицы: ");
  268. Console.Write("N: ");
  269. int N = int.Parse(Console.ReadLine());
  270. Console.Write("M: ");
  271. int M = int.Parse(Console.ReadLine()); Console.WriteLine();
  272. double[,] AnArray = new double[N, M];
  273. Random Rand = new Random();
  274. for (int i = 0; i < N; i++)
  275. for (int j = 0; j < M; j++)
  276. AnArray[i, j] = Rand.Next(10, 100);
  277. Console.WriteLine("Вывод матрицы: ");
  278. for (int i = 0; i < N; i++)
  279. {
  280. for (int j = 0; j < M; j++)
  281. {
  282. Console.Write(AnArray[i, j] + "\t");
  283. }
  284. Console.WriteLine();
  285. }
  286. Console.WriteLine();
  287. Console.WriteLine("Вывод сглаженной матрицы: ");
  288. double[,] AnClearArray = new double[AnArray.GetLength(0), AnArray.GetLength(1)];
  289. for (int i = 0; i < AnArray.GetLength(0); i++)
  290. {
  291. for (int j = 0; j < AnArray.GetLength(1); j++)
  292. {
  293. if (j == 0 || j == M - 1 || i == 0 || i == N - 1)
  294. AnClearArray[i, j] = AnArray[i, j];
  295. else AnClearArray[i, j] = (AnArray[i, j - 1] + AnArray[i, j + 1]) / 2;
  296. }
  297. }
  298. for (int i = 0; i < N; i++)
  299. {
  300. for (int j = 0; j < M; j++)
  301. {
  302. Console.Write(AnClearArray[i, j] + "\t");
  303. }
  304. Console.WriteLine();
  305. }
  306. Console.WriteLine();
  307. Console.WriteLine("Нажмите Enter для выхода...");
  308. Console.ReadLine();
  309. }
  310. static void WorkingWithArray6()
  311. {
  312. Console.WriteLine();
  313. Console.WriteLine("*****Задание 6*****");
  314. Console.WriteLine("Даны две строки. Определите, является ли первая строка подстрокой второй строки.");
  315. Console.WriteLine();
  316. Console.Write("Введите первую строку: ");
  317. string string1 = Console.ReadLine();
  318. Console.Write("Введите вторую строку: ");
  319. string string2 = Console.ReadLine();
  320. bool z = false;
  321. int i = 0;
  322. int j = 0;
  323. while (i < string1.Length)
  324. {
  325. if (string1[i] == string2[0])
  326. {
  327. int k = i;
  328. z = false;
  329. j = 0;
  330. if (string2.Length > string1.Length - k)
  331. break;
  332. while (j < string2.Length)
  333. {
  334. if (string1[k] != string2[j])
  335. {
  336. z = false;
  337. break;
  338. }
  339. k++;
  340. j++;
  341. }
  342. if (j == string2.Length)
  343. {
  344. z = true;
  345. break;
  346. }
  347. }
  348. i++;
  349. }
  350. if (z)
  351. Console.WriteLine("Содержит");
  352. else Console.WriteLine("Не содержит");
  353. Console.WriteLine();
  354. Console.WriteLine("Нажмите Enter для выхода...");
  355. Console.ReadLine();
  356. }
  357. static void WorkingWithArray7()
  358. {
  359. Console.WriteLine();
  360. Console.WriteLine("*****Задание 7*****");
  361. Console.WriteLine("Составить строку длины l, заполненную случайными символами: от “a” до “h”," +
  362. " цифрами от 1 до 7 и знаками «?», «!» и «;». Заменить все вхождения символа «;» на «_».");
  363. Console.WriteLine();
  364. Random RandomString = new Random();
  365. Console.Write("Введите длину строки: ");
  366. int l = int.Parse(Console.ReadLine());
  367. char[] chars = "?abcdefgh!1234567;".ToCharArray();
  368. StringBuilder sb = new StringBuilder();
  369. for (int i = 0; i < l; i++)
  370. {
  371. sb.Append(chars[RandomString.Next(chars.Length)]);
  372. }
  373. Console.Write("Составленная строка: ");
  374. Console.WriteLine(sb.ToString());
  375. for (int i = 0; i < l; i++)
  376. {
  377. if (sb[i] == ';')
  378. sb[i] = '_';
  379. }
  380. Console.Write("Строка после замены символов: ");
  381. Console.WriteLine(sb.ToString());
  382. Console.WriteLine();
  383. Console.WriteLine("Нажмите Enter для выхода...");
  384. Console.ReadLine();
  385. }
  386. static void WorkingWithArray8()
  387. {
  388. Console.WriteLine();
  389. Console.WriteLine("*****Задание 8*****");
  390. Console.WriteLine("Дан ступенчатый массив, состоящий из 3 матриц: 2x2, 3x2, 2x3, заполненных " +
  391. "случайными числами. Определить минимум в каждом столбце и вывести сумму всех таких минимумов.");
  392. int[][,] myArray = new int[3][,];
  393. myArray[0] = new int[2, 2];
  394. myArray[1] = new int[3, 2];
  395. myArray[2] = new int[2, 3];
  396. Random Rand = new Random();
  397. for (int k = 0; k < 3; k++)
  398. {
  399. for (int i = 0; i < 2; i++)
  400. for (int j = 0; j < 2; j++)
  401. {
  402. myArray[k][i, j] = Rand.Next(10, 100);
  403. }
  404. }
  405. int sumMyArray = 0;
  406. for (int k = 0; k < 3; k++)
  407. {
  408. for (int j = 0; j < 2; j++)
  409. {
  410. int MinNumber = myArray[k][1, j];
  411. for (int i = 0; i < 2; i++)
  412. {
  413. if (myArray[k][i, j] < MinNumber)
  414. MinNumber = myArray[k][i, j];
  415. }
  416.  
  417. sumMyArray += MinNumber;
  418. MinNumber = 0;
  419. }
  420. }
  421. Console.WriteLine("Сумма всех минимумов: " + sumMyArray);
  422. Console.WriteLine();
  423. Console.WriteLine("Нажмите Enter для выхода...");
  424. Console.ReadLine();
  425. }
  426. }
  427. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement