Помогите найти ошибку. Элементы, которые присутствуют в массиве А, но отсутствуют в массиве В - C#

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток. Неверно выводится массив С - заносятся уникальные числа массива А и числа которые есть в А и В, а задание: элементы, которые присутствуют в массиве А, но отсутствуют в массиве В, сортировка пузырьком. Помогите пожалуйста найти и исправить ошибку сам код:
namespace laba3
{
    class Program
    {
        static void Main(string[] args)
        {
            int M, N; // Инициализируем переменные M и N (размеры массивов A и B)
            Console.WriteLine("Введи размер массива A");
            M = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Введи размер массива B");
            N = Convert.ToInt32(Console.ReadLine());
            Random r = new Random(); // Инициализируем переменную r (задаем случайное число)
            double t1 = Environment.TickCount; // Замеряем начало работы
            int[] A = new int[M]; // Инициализируем массив A размером M
            for (int i = 0; i < M; i++)// Заполняем массив случайными числами в диапазоне от 0 до 100
                A[i] = r.Next(0, 100);
            int buf1; /// Сортируем массив A
            for (int i = 0; i < M - 1; i++)
            {
                for (int j = i + 1; j < M; j++)
                {
                    if (A[i] > A[j])
                    {
                        buf1 = A[i];
                        A[i] = A[j];
                        A[j] = buf1;
                    }
                }
            }
            Console.WriteLine("Исходный массив A"); // Выводим массив A на экран
            for (int i = 0; i < M; i++)
                Console.Write(" " + A[i]);
            Console.WriteLine(" ");
            int[] B = new int[N]; // Инициализируем массив B размером N
            for (int i = 0; i < N; i++) // Заполняем массив случайными числами в диапазоне от 0 до 100
                B[i] = r.Next(0, 100);
            int buf2; // Сортируем массив B
            for (int i = 0; i < N - 1; i++)
            {
                for (int j = i + 1; j < N; j++)
                {
                    if (B[i] > B[j])
                    {
                        buf2 = B[i];
                        B[i] = B[j];
                        B[j] = buf2;
                    }
                }
            }
            Console.WriteLine("Исходный массив B"); // Выводим массив B на экран
            for (int i = 0; i < N; i++)
                Console.Write(" " + B[i]);
            Console.WriteLine(" ");
            int s = 0; // Инициализируем переменную s, равную номеру элемента в массиве C 
            int[] C = new int[A.Length];
            for (int i = 0; i < M; i++) // Сравниваем элементы массивов A и B, ищем элементы, имеющиеся только в А
            {
                for (int j = 0; j < N; j++)
                {
                    if (A[i] != B[j])
                    {
                        int count = 0;
                        for (int l = 0; l < s + 1; l++)
                        {
                            if (A[i] == C[l])
                                count++;
                            else
                                continue;
                        }
                        if (A[i] == 0)
                            count--;
                        if (count == 0)
                        {
                            C[s] = A[i];
                            s++;
                            break;
                        }
                    }
                }
            }
            if (s == 0)
                Console.WriteLine("Уникальные числа в массиве А отсутствуют");
            else
            {
                Console.WriteLine("Числа которые есть только в А");
                for (int i = 0; i < s; i++)
                {
                    Console.Write(" " + C[i]);
                }
                Console.WriteLine(" ");
                double t2 = Environment.TickCount; // Замеряем конец работы
                Console.WriteLine("Продолжительность работы программы = {0} сек. ", (t2 - t1) / 1000); // Выводим продолжительность работы на экран
            }
            Console.ReadKey(true);
        }
    }
}

Решение задачи: «Помогите найти ошибку. Элементы, которые присутствуют в массиве А, но отсутствуют в массиве В»

textual
Листинг программы
class Program
    {
        public static void BubbleSort(ref int[] mas)
        {
            int buf = 0;
            for (int i = 0; i < mas.Length - 1; i++)
            {
                for (int j = i + 1; j < mas.Length; j++)
                {
                    if (mas[i] > mas[j])
                    {
                        buf = mas[i];
                        mas[i] = mas[j];
                        mas[j] = buf;
                    }
                }
            }
        }
 
        public static void View(int[] mas)
        {
            for (int i = 0; i < mas.Length; i++)
            {
                Console.Write(mas[i] + " ");
            }
            Console.WriteLine();
        }
 
        public static void Exist(int[] mas, int[] mas1, ref int[] res)
        {
            int buf = 0;
            for (int i = 0; i < mas.Length; i++)
            {
                if (!mas1.Contains(mas[i]))
                {
                    res[buf] = mas[i];
                    buf++;
                }
            }
        }
 
        static void Main(string[] args)
        {
            Random rand = new Random();
            Console.Write("Введите размерность массива: ");
            int count = int.Parse(Console.ReadLine());
            int[] A = new int[count];
            int[] B = new int[count];
            int[] C = new int[count];
            for (int i = 0; i < count; i++)
            {
                A[i] = rand.Next(0, 100);
                B[i] = rand.Next(0, 100);
            }
            Console.WriteLine("Массив А:");
            View(A);
            Console.WriteLine("Массив B:");
            View(B);
 
            BubbleSort(ref A);
            BubbleSort(ref B);
 
            Console.WriteLine("Массив А:");
            View(A);
            Console.WriteLine("Массив B:");
            View(B);
 
            Exist(A, B, ref C);
            Console.WriteLine("Массив C:");
            View(C);
 
            Console.ReadKey();
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.909 из 5
Похожие ответы