Форум программистов, компьютерный форум CyberForum.ru

Массивы A+B=C (трудная задача из ЕГЭ) - C++

Восстановить пароль Регистрация
 
Moreman32
0 / 0 / 0
Регистрация: 11.10.2012
Сообщений: 19
11.10.2012, 21:43     Массивы A+B=C (трудная задача из ЕГЭ) #1
Два одномерных массива, состоящие из целых натуральных чисел, задаются с клавиатуры : массив A, длинной m и массив B, длинной n. Сформулировать массив C длиной (m+n) таким образом, чтобы в нем чередовались элементы большего массива, предварительно расположенные в порядке убывания, и меньшего массива, предварительно расположенные в порядке возрастания. Возможный остаток большего массива записывается далее без чередования

Например:
На входе: массив A (m=6) - 3,5,4,3,45,18
Массив B (n=4) - 8,3,97,25
На выходе: массив C (m+n=10) - 45,3,18,8,5,25,4,97,3,3
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.10.2012, 21:43     Массивы A+B=C (трудная задача из ЕГЭ)
Посмотрите здесь:

C++ О-О-ОЧЕНЬ ТРУДНАЯ ЗАДАЧКА
C++ Довольно Трудная задача(Двумерные массивы)
задача на массивы C++
ЕГЭ Информатика С2 (Массивы) C++
задача на массивы. C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
David Sylva
11.10.2012, 21:49
  #2

Не по теме:

невероятно трудная

Moreman32
0 / 0 / 0
Регистрация: 11.10.2012
Сообщений: 19
11.10.2012, 21:59  [ТС]     Массивы A+B=C (трудная задача из ЕГЭ) #3
Помог бы, если знаешь как! Просто на с++ я написать не могу... На vb - могу
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
11.10.2012, 22:05     Массивы A+B=C (трудная задача из ЕГЭ) #4
Цитата Сообщение от Moreman32 Посмотреть сообщение
На vb - могу
Код в студию.
Moreman32
0 / 0 / 0
Регистрация: 11.10.2012
Сообщений: 19
12.10.2012, 01:09  [ТС]     Массивы A+B=C (трудная задача из ЕГЭ) #5
Решали на олимпиаде... Завтра с утра напишу тогда на VB!
А пока, не поможете с этим...?

Добавлено через 19 минут
Никто не поможет? Совсем не понимаю, как рассортировать массивы именно так...
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
12.10.2012, 01:10     Массивы A+B=C (трудная задача из ЕГЭ) #6
код писать неохото, так что по алгоритму. сравниваете по м и н какой массив больше, если одинаковые то берите "длинный" любой массив, далее в зависимости от м и н упорядочиваете массивы по возрастанию и убыванию (я бы сделал отдельные функции на возрастание и убывание и вызывал бы в зависимсоти от "кто длиннее") ну а далее все просто
C++
1
2
3
4
5
6
7
for(int i =0;i<m+n;i++){
    if(i%2)
        mas[i]=bolmas[j++];
    else
        mas[i]=menmas[o++];
}
//где соответственно j и о счетчики "большего" и "меньшего" массивов
Moreman32
0 / 0 / 0
Регистрация: 11.10.2012
Сообщений: 19
12.10.2012, 01:17  [ТС]     Массивы A+B=C (трудная задача из ЕГЭ) #7
Цитата Сообщение от MrGrig Посмотреть сообщение
код писать неохото, так что по алгоритму. сравниваете по м и н какой массив больше, если одинаковые то берите "длинный" любой массив, далее в зависимости от м и н упорядочиваете массивы по возрастанию и убыванию (я бы сделал отдельные функции на возрастание и убывание и вызывал бы в зависимсоти от "кто длиннее") ну а далее все просто
C++
1
2
3
4
5
6
7
for(int i =0;i<m+n;i++){
    if(i%2)
        mas[i]=bolmas[j++];
    else
        mas[i]=menmas[o++];
}
//где соответственно j и о счетчики "большего" и "меньшего" массивов
Спасибо! Постараюсь разобраться... Если у кого возможность будет полностью написать - напишите пожалуйста! Буду очень признателен!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.10.2012, 18:30     Массивы A+B=C (трудная задача из ЕГЭ)
Еще ссылки по теме:

Задача на массивы C++
задача с4 егэ :( C++
C++ Трудная программа

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
JlightenDev_C++
 Аватар для JlightenDev_C++
61 / 61 / 7
Регистрация: 12.08.2012
Сообщений: 150
12.10.2012, 18:30     Массивы A+B=C (трудная задача из ЕГЭ) #8
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
#include <iostream>
#include <conio.h>
 
using namespace std;
 
int const m = 6, n = 4, size = n+m;
 
/*ГЌГ* âõîäå: Г¬Г*Г±Г±ГЁГў A (m=6) - 3,5,4,3,45,18
ГЊГ*Г±Г±ГЁГў B (n=4) - 8,3,97,25
ГЌГ* âûõîäå: Г¬Г*Г±Г±ГЁГў C (m+n=10) - 45,3,18,8,5,25,4,97,3,3 
*/
int main(){
    int A[m] = {0}, B[n] = {0}, C[size] = {0};
    for(int i = 0, number = 0; i < m; i++){
       cout << "Array A[" << i+1 << "/" << m << "] = ";
       cin >> number;
       A[i] = number;
       }//Г§Г*âåðøåГ*ГЁГҐ öèêëГ* ГЂ;
       for(int i = 0, c = 0; i < m; i ++){
          for(int j = 0; j < m-1; j++){
                 if(A[j] < A[j+1]){
                   c = A[j];
                   A[j] = A[j+1];
                   A[j+1] = c;
                        }
                   }
                 }//ГЂ ГЇГ® óáûâГ*Г*ГЁГѕ
                     for(int i = 0, k = 0; i <= size; i = i + 2, k ++){
            C[i] = A[k];
            if(i >= size){
                 C[size-1] = A[k];
                       }
            }
system("CLS");
    for(int i = 1, number = 0; i <= n; i++){
       cout << "Array B[" << i << "/" << n << "] = ";
       cin >> number;
       B[i] = number;    
}//Г§Г*âåðøåГ*ГЁГҐ öèêëГ* B
 
       for(int i = 0, c = 0; i < n; i ++){
          for(int j = 0; j < n; j++){
                 if(B[j] > B[j+1]){
                   c = B[j+1];
                   B[j+1] = B[j];
                   B[j] = c;
                        }
                   }
                 }//B ГЇГ® âîçðГ*Г±ГІГ*Г*ГЁГѕ
                     for(int i = -1, k = 0; i < size -2; i = i + 2, k ++){
            C[i] = B[k];
            }
    for(int i = 0; i < size; i++){
    cout << C[i] << " ";
    }
    getch();
    return 0;
    }
Yandex
Объявления
12.10.2012, 18:30     Массивы A+B=C (трудная задача из ЕГЭ)
Ответ Создать тему
Опции темы

Текущее время: 22:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru