Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- namespace Zadacha3_8
- {
- class Program
- {
- static void Main(string[] args)
- {
- //Задача 3.8
- int tmp;
- //
- int countArrayA;
- Console.Write("Введите длину массива А: ");
- countArrayA = Convert.ToInt32(Console.ReadLine());
- int[] arrayA = new int[countArrayA];
- //Вводим данные для массива А
- for (int i = 0; i < countArrayA; i++)
- {
- Console.Write("Введите значение для эл. [" + i + "]: ");
- arrayA[i] = Convert.ToInt32(Console.ReadLine());
- }
- //Выводим массив А
- Console.Write("Массив А: ");
- for (int i = 0; i < countArrayA; i++)
- {
- Console.Write(arrayA[i] + " ");
- }
- //Сортируем массив А
- for (int i = 0; i < countArrayA; i++)
- {
- for (int j = 0; j < countArrayA - i -1; j++)
- {
- if(arrayA[j]>arrayA[j+1])
- {
- tmp = arrayA[j];
- arrayA[j] = arrayA[j + 1];
- arrayA[j + 1] = tmp;
- }
- }
- }
- //Выводим отсорт. массив А
- Console.Write("\n"+"Отсорт. массив А: ");
- for (int i = 0; i < countArrayA; i++)
- {
- Console.Write(arrayA[i] + " ");
- }
- int countArrayB;
- Console.Write("\n"+"Введите длину массива B: ");
- countArrayB = Convert.ToInt32(Console.ReadLine());
- int[] arrayB = new int[countArrayB];
- //Вводим данные для массива В
- for (int i = 0; i < countArrayB; i++)
- {
- Console.Write("Введите значение для эл. [" + i + "]: ");
- arrayB[i] = Convert.ToInt32(Console.ReadLine());
- }
- //Выводим данные массива B
- Console.Write("Массив B: ");
- for (int i = 0; i < countArrayB; i++)
- {
- Console.Write(arrayB[i] + " ");
- }
- //Сортируем массив В
- for (int i = 0; i < countArrayB; i++)
- {
- for (int j = 0; j < countArrayB - i - 1; j++)
- {
- if (arrayB[j] > arrayB[j + 1])
- {
- tmp = arrayB[j];
- arrayB[j] = arrayB[j + 1];
- arrayB[j + 1] = tmp;
- }
- }
- }
- //Выводим отсорт. массив В
- Console.Write("\n"+"Отсорт. массив В: ");
- for (int i = 0; i < countArrayB; i++)
- {
- Console.Write(arrayB[i] + " ");
- }
- int[] arrayC = new int[countArrayA + countArrayB];
- int ia = 0;
- int ib = 0;
- int ic = 0;
- while ((ia < arrayA.Length) && (ib < arrayB.Length))
- {
- if (arrayA[ia] < arrayB[ib])
- {
- arrayC[ic] = arrayA[ia];
- do
- {
- ia++;
- } while ((ia < arrayA.Length) && (arrayA[ia] == arrayA[ia - 1]));
- }
- else if (arrayB[ib] < arrayA[ia])
- {
- arrayC[ic] = arrayB[ib];
- do
- {
- ib++;
- } while ((ib < arrayB.Length) && (arrayB[ib] == arrayB[ib - 1]));
- }
- else
- {
- arrayC[ic] = arrayA[ia];
- do
- {
- ia++;
- } while ((ia < arrayA.Length) && (arrayA[ia] == arrayA[ia - 1]));
- do
- {
- ib++;
- } while ((ib < arrayB.Length) && (arrayB[ib] == arrayB[ib - 1]));
- }
- ic++;
- }
- while (ia < arrayA.Length)
- {
- arrayC[ic] = arrayA[ia++];
- ic++;
- }
- while (ib < arrayB.Length)
- {
- arrayC[ic] = arrayB[ib++];
- ic++;
- }
- Console.WriteLine("Объединение А и В:");
- for (int i = 0; i < ic; i++)
- {
- Console.Write("{0} ", arrayC[i]);
- }
- Console.Read();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment