Сформируйте массив С, состоящий из элементов массивов А и В, упорядоченных по возрастанию - C (СИ)
Формулировка задачи:
Задание : Даны два массива, упорядоченных по возрастанию: А[n] и B[m]. Сформируйте массив C[n+m], состоящий из элементов массивов А и В, упорядоченный по возрастанию.
Что не так ?
ошибки:
#include <stdio.h> #include <conio.h> #include <locale.h> int main(void){ const int max = 100; int A[max], B[max], C[2 * max]; int i, j, k, n, m, r; setlocale(LC_ALL, "Russian"); printf("Введите количество элементов массива А\n"); scanf("%d", &n); printf("Введите количество элементов массива B\n"); scanf("%d", &m); printf("Введите %d элемента/ов массива А\n", n); for (j = 0, i = 0, i < n, i++, j++); { scanf("%d", A[i]); C[j]=A[i]; } printf("Введите %d элемента/ов массива B\n", m); for (k = 0, j = 0, k < m, k++, i++); { scanf("%d", B[k]); C[j]=B[k]; } printf("\nВведенный массив А:\n"); for (i = 0; i < A + n; i++); printf("%d ", A[i]); printf("\nВведенный массив B:\n"); for (k = 0, k < B + m , k++); printf("%d ", B[k]); r = m + n; for (k = 0; k < r - 1; k++); { for (j = 0; j < C + r - 1; j++); { if C[j] > C[j] + 1; } } printf("\nУпорядоченный массив С:\n"); for (j = 0, j < C + r, j++); printf("%d ", C[j]); _getch(); return 0; }
1>------ Сборка начата: проект: ConsoleApplication1, Конфигурация: Debug Win32 ------ 1> Исходный код.cpp 1>c:\users\maksimus\documents\visual studio 2013\projects\consoleapplication1\consoleapplication1\исходный код.cpp(11): warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 1> c:\program files (x86)\microsoft visual studio 12.0\vc\include\stdio.h(283): см. объявление "scanf" 1>c:\users\maksimus\documents\visual studio 2013\projects\consoleapplication1\consoleapplication1\исходный код.cpp(13): warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 1> c:\program files (x86)\microsoft visual studio 12.0\vc\include\stdio.h(283): см. объявление "scanf" 1>c:\users\maksimus\documents\visual studio 2013\projects\consoleapplication1\consoleapplication1\исходный код.cpp(15): error C2143: синтаксическая ошибка: отсутствие ";" перед ")" 1>c:\users\maksimus\documents\visual studio 2013\projects\consoleapplication1\consoleapplication1\исходный код.cpp(21): error C2143: синтаксическая ошибка: отсутствие ";" перед ")" 1>c:\users\maksimus\documents\visual studio 2013\projects\consoleapplication1\consoleapplication1\исходный код.cpp(27): error C2446: <: нет преобразования "int *" в "int" 1> Не существует контекста, в котором такое преобразование возможно 1>c:\users\maksimus\documents\visual studio 2013\projects\consoleapplication1\consoleapplication1\исходный код.cpp(27): error C2040: <: "int" отличается по уровням косвенного обращения от "int *" 1>c:\users\maksimus\documents\visual studio 2013\projects\consoleapplication1\consoleapplication1\исходный код.cpp(30): error C2446: <: нет преобразования "int *" в "int" 1> Не существует контекста, в котором такое преобразование возможно 1>c:\users\maksimus\documents\visual studio 2013\projects\consoleapplication1\consoleapplication1\исходный код.cpp(30): error C2040: <: "int" отличается по уровням косвенного обращения от "int *" 1>c:\users\maksimus\documents\visual studio 2013\projects\consoleapplication1\consoleapplication1\исходный код.cpp(30): error C2143: синтаксическая ошибка: отсутствие ";" перед ")" 1>c:\users\maksimus\documents\visual studio 2013\projects\consoleapplication1\consoleapplication1\исходный код.cpp(35): error C2446: <: нет преобразования "int *" в "int" 1> Не существует контекста, в котором такое преобразование возможно 1>c:\users\maksimus\documents\visual studio 2013\projects\consoleapplication1\consoleapplication1\исходный код.cpp(35): error C2040: <: "int" отличается по уровням косвенного обращения от "int *" 1>c:\users\maksimus\documents\visual studio 2013\projects\consoleapplication1\consoleapplication1\исходный код.cpp(37): error C2061: синтаксическая ошибка: идентификатор "C" 1>c:\users\maksimus\documents\visual studio 2013\projects\consoleapplication1\consoleapplication1\исходный код.cpp(41): error C2446: <: нет преобразования "int *" в "int" 1> Не существует контекста, в котором такое преобразование возможно 1>c:\users\maksimus\documents\visual studio 2013\projects\consoleapplication1\consoleapplication1\исходный код.cpp(41): error C2040: <: "int" отличается по уровням косвенного обращения от "int *" 1>c:\users\maksimus\documents\visual studio 2013\projects\consoleapplication1\consoleapplication1\исходный код.cpp(41): error C2143: синтаксическая ошибка: отсутствие ";" перед ")" ========== Сборка: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
Решение задачи: «Сформируйте массив С, состоящий из элементов массивов А и В, упорядоченных по возрастанию»
textual
Листинг программы
#include <stdio.h> #include <conio.h> #include <locale.h> #define N 5 #define M 8 int main(void) { int j1, i1, k1, r, C, rab, m, n; setlocale(LC_ALL, "Russian"); int A[N] = { 1, 3, 2, 5, 4 }; int B[M] = { 6, 7, 8, 9, 10, 12, 11, 13 }; printf("A = "); for (int i1 = 0; i1 < N; i1++) printf("%d ", A[i1]); printf("\nB = "); for (int j1 = 0; j1 < M; j1++) printf("%d ", B[j1]); printf("\n"); r = m + n; for (k1 = 0; k1<r - 1; k1++){ for (C[k1] = C[k1]; C[k1]<C[k1] + r - 1; C[k1]++){ if (C[k1] >(C[k1] + 1)){ rab = C[k1]; C[k1] = (C[k1] + 1); (C[k1] + 1) = rab; } } } printf("\nC = "); for (int k1 = 0; k1 < N + M; k1++) printf("%d ", C[k1]); printf("\n"); _getch(); return 0; }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы для работы с консолью и функцией setlocale.
- Определяем значения переменных N и M, которые представляют собой размеры массивов A и B соответственно.
- Выводим массив A и B на экран, чтобы было видно их начальное состояние.
- Вычисляем значение переменной r как сумму размеров массивов A и B.
- Инициализируем массив C размером r, который будет содержать результат.
- Последовательно заполняем массив C элементами массивов A и B, сначала элементами массива A, затем элементами массива B, упорядоченными по возрастанию.
- Выводим массив C на экран, чтобы было видно его окончательное состояние.
- Получаем ввод от пользователя с помощью функции _getch() и завершаем программу.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д