Помогите пожалуйста решить эту задачу методом пузырька!!!
#include
#include
#define m 3
#define k 3
void main()
{
int B[m];
int C[k];
int A[m + k];
int ptr = 0;
for (int i = 0; i < m; i++)
{
printf("B:");
scanf_s("%d", (B + i));
A[ptr++] = B[i];
}
for (int i = 0; i < k; i++)
{
printf("C:");
scanf_s("%d", (C + i));
A[ptr++] = C[i];
}
for (ptr = 0; ptr < m + k; ptr++)
{
for (int i = ptr; i < m + k; i++)
{
if (A[ptr] > A[i])
{
int b = A[ptr];
A[ptr] = A[i];
A[i] = b;
}
}
}
for (int i = 0; i < m + k; i++)
printf("%d ", A[i]);
}
Составьте программу формирования массива A (N) из двух массивов B (M) и C (K ), таким образом, чтобы элементы массива A (N) располагались по возрастанию.
Другие языки программирования и технологии
Помогите пожалуйста, решить данную задачу методом пузырька!!!
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#define n 5
#define m 7
#define k n + m
void swap(int* a, int* b) {
int tmp = *a;
*a = *b;
*b = tmp;
}
void bubble_sort(int* box, int len) {
int first = box[0];
int last = box[len - 1];
while (first < --last) {
for (int begin = first; begin < last; ++begin) {
if (box[begin + 1] < box[begin]) {
swap(&box[begin], &box[begin + 1]);
}
}
}
}
void fill(int* box, int len) {
int i;
for (i = 0; i < len; ++i) box[i] = 10 + rand() % 90;
}
void show(int* box, int len) {
int i;
for (i = 0; i < len; ++i) printf("%i ", box[i]);
puts("");
}
int compare(const void* a, const void* b) {
if (*((int*)a) < *((int*)b)) return -1;
if (*((int*)a) > *((int*)b)) return 1;
return 0;
}
void merge(int* c, int lc, int* a, int la, int* b, int lb) {
int i = 0, j = 0;
while (i != la) {
c[i] = a[i];
++i;
}
while (i != lc) {
c[i] = b[j];
++i;
++j;
}
qsort(c, lc, sizeof(c[0]), compare);
}
int main(void) {
int a[n];
int b[m];
int c[k];
srand((unsigned)time(NULL));
fill(a, n);
show(a, n);
fill(b, m);
show(b, m);
merge(c, k, a, n, b, m);
show(c, k);
system("pause > nul");
return 0;
}
#include <stdio.h>
#include <time.h>
#define n 5
#define m 7
#define k n + m
void swap(int* a, int* b) {
int tmp = *a;
*a = *b;
*b = tmp;
}
void bubble_sort(int* box, int len) {
int first = box[0];
int last = box[len - 1];
while (first < --last) {
for (int begin = first; begin < last; ++begin) {
if (box[begin + 1] < box[begin]) {
swap(&box[begin], &box[begin + 1]);
}
}
}
}
void fill(int* box, int len) {
int i;
for (i = 0; i < len; ++i) box[i] = 10 + rand() % 90;
}
void show(int* box, int len) {
int i;
for (i = 0; i < len; ++i) printf("%i ", box[i]);
puts("");
}
int compare(const void* a, const void* b) {
if (*((int*)a) < *((int*)b)) return -1;
if (*((int*)a) > *((int*)b)) return 1;
return 0;
}
void merge(int* c, int lc, int* a, int la, int* b, int lb) {
int i = 0, j = 0;
while (i != la) {
c[i] = a[i];
++i;
}
while (i != lc) {
c[i] = b[j];
++i;
++j;
}
qsort(c, lc, sizeof(c[0]), compare);
}
int main(void) {
int a[n];
int b[m];
int c[k];
srand((unsigned)time(NULL));
fill(a, n);
show(a, n);
fill(b, m);
show(b, m);
merge(c, k, a, n, b, m);
show(c, k);
system("pause > nul");
return 0;
}
Похожие вопросы
- Всем добрый вечер! Помогите пожалуйста решить данную задачу по информатике.
- Помогите пожалуйста решить эти задачи
- В с++ я абсолютный ноль) помогите пожалуйста решить эти задачи (это допуск к экзамену))
- Подскажите пожалуйста что необходимо исправить (метод пузырька на с++)
- Помогите с массивом и сортировкой методом пузырька в языке Си! Прогу надо сдать в пятницу срочно, не знаю как начать!
- помогите пожалуйста решить задачу по работе компьютера!
- Помогите пожалуйста решить задачу по программированию. В чем я ошибаюсь?
- Помогите,пожалуйста,решить задачу в Паскале.
- Pascal. Помогите пожалуйста решить задачу в паскале !
- Помогите пожалуйста решить задачи по программированию. P.S: задачи по паскалю.