Форум программистов, компьютерный форум, киберфорум
Наши страницы
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);} подробнее
Catstail
Модератор
24260 / 12230 / 2204
Регистрация: 12.02.2012
Сообщений: 19,852
06.02.2015, 15:56 0

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

06.02.2015, 15:56. Просмотров 1570. Ответов 22
Метки (Все метки)

Ответ

Это очень плохой код!!! Если массивы уже упорядочены, то стыковать и сортировать повторно - алгоритмическая глупость. Неуд... Сортированные массивы для сохранения порядка нужно сливать. Примерно так:

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
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
 
int *merge(int *A, int n, int *B, int m)
{
    int *R;
    int i,j,k,p;
    
    k=n+m;
    R=(int *) calloc(k,sizeof(int));
    
    i=0;
    j=0;
    p=0;
    
    while (1)
    {
        if (i > n) {for (; j<m; j++) R[p++]=B[j]; break;}
        if (j > m) {for (; i<n; i++) R[p++]=A[i]; break;} 
        if (A[i] > B[j]) R[p++]=B[j++];
        if (A[i] < B[j]) R[p++]=A[i++];
    }     
    return R;
}             
 
int main(int argc, char *argv[])
{
 
  int A[5]={1,2,6,8,17};
  int B[6]={0,4,3,9,21,32};
  int *R;
  int i;
  
  R=merge(A,5,B,6);
  for (i=0; i<11; i++) printf("%d ",R[i]);
  printf("\n");
  
  free(R);
 
  system("PAUSE");  
  return 0;
}


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

Создать из элементов упорядоченных по неубыванию массивов новый массив, упорядоченный по возрастанию
Даны два натуральных числа 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