Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C (СИ) Как можно ввести массив под заданную функцию? http://www.cyberforum.ru/c-beginners/thread1367615.html
void addition(int a, int b){ int length; if ((sizeof(a) / 4) > (sizeof(b) / 4)) length = (sizeof(a) / 4) + 1; else length = (sizeof(b) / 4) + 1; for (int pos = 0; pos < length;...
C (СИ) Составить новую строку с новыми словами составленными с помощью сложения двух слов Здравствуйте, нужна помощь в дописании программы, дана строка из n слов, надо составить новую строку с новыми словами составленными с помощью сложения 2х слов, если >=2 букв одного слова = буквам... http://www.cyberforum.ru/c-beginners/thread1367474.html
Рекурсивный алгоритм расчета комбинаций C (СИ)
Входные данные: n - количество столбцов (можно сказать бросков кубика) m - количество граней кубика с числами от 1 до m Необходимо составить рекурсивный алгоритм и программу на СИ, которая выводит...
Найти все натуральные числа, меньшие n, квадрат суммы цифр которых равен m C (СИ)
2.Даны натуральные числа n, m. Найти все натуральные числа, меньшие n, квадрат суммы цифр которых равен m. Заранее спасибо за помощь
C (СИ) Найти на отрезке n; m натуральное число, имеющее наибольшее количество делителей http://www.cyberforum.ru/c-beginners/thread1367390.html
1.Найти на отрезке n; m натуральное число, имеющее наибольшее количество делителей Заранее спасибо за помощь
C (СИ) Создать блок-схему по алгоритму #include <stdio.h> #include <stdlib.h> #include <conio.h> #define n 200 int main() { int mas,zn,i,j,k, max1,max2,max3,x; for(i=0;i<n;++i){ mas = 0+rand()%100; printf("%3d ",mas);} подробнее
19dmitry
35 / 35 / 22
Регистрация: 18.01.2014
Сообщений: 145
04.02.2015, 21:30 0

Сформируйте массив С, состоящий из элементов массивов А и В, упорядоченных по возрастанию

04.02.2015, 21:30. Просмотров 1570. Ответов 22
Метки (Все метки)

Ответ

Цитата Сообщение от Maksimuso Посмотреть сообщение
в моём коде что не так ?
Конкретно в Вашем коде блок
Цитата Сообщение от Maksimuso Посмотреть сообщение
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;
* * * * * * }
* * * * }
* * }
необходимо переделать полностью. Потому, что он не только содержит грамматические ошибки, но и лишен смысла вообще.
Вам необходимо:
1) Копировать массив А и массив В в третий массив.
2) Сортировка по возрастанию полученного массива С.
Правильный вариант Вам был уже представлен pdmitriya, предлагаю Вам просто его разобрать и заменить названия переменных на свои.

Добавлено через 1 час 6 минут
Переработанный Ваш код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#include <stdio.h>
#include <conio.h>
#include <locale.h>
#define N 5
#define M 8
int main(void)
{
    int i, j, r;
    int k=0;
    int rab=0;
    int A[N] = { 1, 3, 2, 5, 4 };
    int B[M] = { 6, 7, 8, 9, 10, 12, 11, 13 };
    int C[N+M];
    
    printf("A = ");
 
    for (i=0; i<N; i++)
        printf("%d ", A[i]);
 
    for(i=1; i<N; i++) /* сортируем массив A*/
    {
        for(j=0; j<N-1; j++)
        {
            if(A[j]>A[j+1])
            {
                rab=A[j];
                A[j]=A[j+1];
                A[j+1]=rab;
            }
        }
    }
 
    for(i=1; i<M; i++) /* сортируем массив B*/
    {
        for(j=0; j<M-1; j++)
        {
            if(B[j]>B[j+1])
            {
                rab=B[j];
                B[j]=B[j+1];
                B[j+1]=rab;
            }
        }
    }
 
    printf("\nB = ");
    for (j=0; j<M; j++)
        printf("%d ", B[j]);
 
    setlocale (0, "");
    printf("\n\nОтсортированный массив \nA = ");
 
    for(i=0; i<N; i++)/* отображаем отсортированный массив A */ 
    {
        printf("%d ", A[i]);
    }
 
    printf("\nB = ");
    for(i=0; i<M; i++) /* отображаем отсортированный массив B */
    {
        printf("%d ", B[i]);
    }
    
    r=N+M;
    for (i=0; i<r; i++) /*копируем массивы A и B в массив С*/
    {
        if(i<N)
            C[i]=A[i];
        else if(i>=N)
        {
            C[i]=B[k];
            k++;
        }
    }
 
    for(i=1; i<r; i++) /* сортируем массив C*/
    {
        for(j=0; j<r-1; j++)
        {
            if(C[j]>C[j+1])
            {
                rab=C[j];
                C[j]=C[j+1];
                C[j+1]=rab;
            }
        }
    }
     
     printf("\n\nОтображаем готовый массив \nC = ");
     
     for (i=0; i<r; i++)
         printf("%d ", C[i]);
     
     printf("\n");
     _getch();
     return 0;
}
Если непонятно, задавайте вопросы.

Вернуться к обсуждению:
Сформируйте массив С, состоящий из элементов массивов А и В, упорядоченных по возрастанию
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.02.2015, 21:30

Создать из элементов упорядоченных по неубыванию массивов новый массив, упорядоченный по возрастанию
Даны два натуральных числа n и m (n&lt;=100, m&lt;=100) и два упорядоченных по неубывания массивы целых...

Из двух упорядоченных массивов сформируйте одномерный массив, упорядоченный в обратную сторону
Из двух упорядоченных одномерных массивов (длины K и N) сформируйте одномерный массив размером K+N,...

Содержимое массивов сортируется по возрастанию. Затем из двух массивов (длины K и N) сформируйте массив
Всем приветы 8-) Помогите с 2 задачами: 2)Напишите программу, которая организует хранение в...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru