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

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

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

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

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

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

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

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

задача на массивы - C++
здравствуйте, не могли бы помочь есть задание написать функцию которая сортирует по убыванию массив( сортировка пузырьком) получился...

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

Задача на массивы - C++
Дана матрица размерностью N на M, где большинство элементов равно 0. Нужно все элементы матрицы разделить на самое большое число по модулю.

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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
Эксперт С++
4960 / 3036 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 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++
Дана действительная квадратная матрица порядка 12. Заменить нулями все ее элементы, расположенные на главной диагонали и выше нее.

Задача на массивы. - C++
Помогуте сделать задачи по массивам! 1.Написать функцию, которая возвращает количество элементов заданного в качестве параметра массива...

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

задача на массивы. - C++
Ломаю голову над такой вот загагулиной допусим есть 16ти элементный массив возможные значения в нем так же 1 -16 13 13 13 4 13 14 6...


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

Или воспользуйтесь поиском по форуму:
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 (трудная задача из ЕГЭ)
Ответ Создать тему
Опции темы

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