Объединить два кода в один - C (СИ)
Формулировка задачи:
Здравствуйте! Помогите пожалуйста обьеденить два кода в СИ в один. Программы одинаковые, только одна написана без указателей, а вторая с указателями. Надо эти два кода обьеденить в один: чтобы массив вводился один раз, а ответов программа выдавала два: один ответ программы без указателей, второй ответ программы с указателями. Помогите, пожалуйста! Спасибо.
#include <conio.h> #include <stdio.h> #define n 15 int main(void) { int m[n]; printf("Bedute 15 elemeHtoB macuBa\n"); for(int i = 0; i < n; i++) { printf("mass[%d] = ", i); scanf("%d", &m[i]); } for(int i = n - 1; i >= 1; i--) for(int j = 0; j < i; j++) { if(m[j] > m[j+1]) { int foo = m[j]; m[j] = m[j+1]; m[j+1] = foo; } } printf("\n"); for(int i = 0; i < n; i++) printf(" %d ", m[i]); getch(); return 0; }
#include <conio.h> #include <stdio.h> #define n 15 int main(void) { int m[n], *mp, *mq; printf("Bedute 15 elemeHtoB macuBa\n"); for(mp = m; mp < m + n; mp++) { printf("mass[%ld] = ", mp - m); scanf("%d", mp); } for (mp = m + n - 1; mp >= m + 1; mp--) for (mq = m; mq < mp; mq++) if (*mq > *(mq + 1)) { int foo = *mq; *mq = *(mq + 1); *(mq + 1) = *mq; } printf("\n"); for(mp = m; mp < m + n; mp++) printf(" %d ", *mp); getch(); return 0; }
Решение задачи: «Объединить два кода в один»
textual
Листинг программы
#include <conio.h> #include <stdio.h> #define n 15 int main(void) { int m[n], m1[n], *mp, *mq; printf("Bedute 15 elemeHtoB macuBa\n"); for(int i = 0; i < n; i++) { printf("mass[%d] = ", i); scanf("%d", &m[i]); m1[i]=m[i]; } for(int i = n - 1; i >= 1; i--) for(int j = 0; j < i; j++) { if(m[j] > m[j+1]) { int foo = m[j]; m[j] = m[j+1]; m[j+1] = foo; } } printf("\n"); for(int i = 0; i < n; i++) printf(" %d ", m[i]); // 2-ой вариант for (mp = m1 + n - 1; mp >= m1 + 1; mp--) for (mq = m1; mq < mp; mq++) if (*mq > *(mq + 1)) { int foo = *mq; *mq = *(mq + 1); *(mq + 1) = *mq; } printf("\n"); for(mp = m; mp < m + n; mp++) printf(" %d ", *mp); getch(); return 0; }
Объяснение кода листинга программы
- Объединение двух массивов в один.
- Сортировка массива методом пузырька.
- Вывод отсортированного массива на экран.
- Ввод значений массива с клавиатуры.
- Использование операторов указателей для работы с массивами.
- Сравнение элементов массива и перестановка их местами при необходимости.
- Использование функции scanf для ввода числовых значений.
- Объявление и инициализация массивов.
- Использование цикла for для обхода элементов массива.
- Использование условного оператора if для сравнения элементов массива.
- Использование оператора присваивания = для перестановки элементов массива.
- Использование функции printf для вывода значений массива.
- Использование функции getch для обработки нажатий клавиш.
- Возврат значения 0 для успешного завершения программы.
- Использование операторов < и > для сравнения элементов массива.
- Использование оператора * для доступа к элементам массива через указатель.
- Использование оператора + для доступа к элементам массива с смещением.
- Использование оператора -- для уменьшения значения индекса массива.
- Объявление и инициализация указателей на массив.
- Использование оператора -- для уменьшения значения указателя.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д