Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Moreman32
0 / 0 / 0
Регистрация: 11.10.2012
Сообщений: 19
#1

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

11.10.2012, 21:43. Просмотров 585. Ответов 7
Метки нет (Все метки)

Два одномерных массива, состоящие из целых натуральных чисел, задаются с клавиатуры : массив 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
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.10.2012, 21:43
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Массивы A+B=C (трудная задача из ЕГЭ) (C++):

Довольно Трудная задача(Двумерные массивы) - C++
Вот попалась такая задача: Найти седловую точку целочисленной матрицы с числом строк не более 12, числом столбцов не более 20....

ЕГЭ Информатика С2 (Массивы) - C++
Здравствуйте, решаю задачи для подготовки к ЕГЭ,все вроде бы легко,но проблема в том, что все ответы на Паскале. Решал такую задачу,...

Олимпиадная задача, "ЕГЭ". - C++
С целью упрощения ЕГЭ по литературе, было решено оставить в нем вопросы только с ответами "да" или "нет". Бланк ответов представляет...

Трудная программа - C++
Помогите решить задачу пожайлуста. "Нахождение Кубического корня от числа задонной точностью. Пользователь вводит число и точность....

О-О-ОЧЕНЬ ТРУДНАЯ ЗАДАЧКА - C++
РЕБЯТА ПОМОГИТЕ!!!! Нужно решить задачку С++, она очень трудная...никто не может решить!на вас надежда! Я сейчас напишу условие,если...

задача на массивы - C++
Заданы две матрицы А и В размером N x N. Сформировать из них прямоугольную матрицу Х размером N x 2N, включая в последовательно столбец ихз...

7
David Sylva
11.10.2012, 21:49
  #2

Не по теме:

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

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

Добавлено через 19 минут
Никто не поможет? Совсем не понимаю, как рассортировать массивы именно так...
0
MrGrig
177 / 160 / 2
Регистрация: 08.10.2012
Сообщений: 422
12.10.2012, 01:10 #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 и о счетчики "большего" и "меньшего" массивов
1
Moreman32
0 / 0 / 0
Регистрация: 11.10.2012
Сообщений: 19
12.10.2012, 01:17  [ТС] #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 и о счетчики "большего" и "меньшего" массивов
Спасибо! Постараюсь разобраться... Если у кого возможность будет полностью написать - напишите пожалуйста! Буду очень признателен!
0
JlightenDev_C++
62 / 62 / 7
Регистрация: 12.08.2012
Сообщений: 150
12.10.2012, 18:30 #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;
    }
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.10.2012, 18:30
Привет! Вот еще темы с ответами:

Задача на массивы - C++
Удалить из массива M(25) все элементы, значения которых в этом массиве, оставить по одному. Элементы массива задать рандомно. Есть...

Задача на массивы - C++
Дан массив размером n*n,элементы которого целые числа.Вычислить А^n,где n-натуральное число.

задача на массивы - C++
Пользователь вводит число (количество знаков не определено). Если в это числе есть цифра 0, то вывести на экран &quot;#0&quot; Если в это числе...

Задача на массивы - C++
Помогите пожалуйста. С задачей на массивы.12 вариант 1 задание


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

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