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

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

Войти
Регистрация
Восстановить пароль
 
 
shukaka
4 / 4 / 2
Регистрация: 09.03.2014
Сообщений: 186
#1

Разложение элементов массива - C++

22.03.2014, 21:59. Просмотров 945. Ответов 36
Метки нет (Все метки)

Суть задания: 1)я должен ввести любых два массива;
2) сравнить елементы двух массивов;(если итый елемент массива больше чем итий элемент второго массива то тогда первый массив больше второго)
3)елементы которые больше я должен разложить;(разложение делать в большем массиве)
ПРИМЕР
дан массив А(11 10 4 5 )и B(7 4 3 1)получается что 11 больше 7.Расскладываем 10.Разложение 11 это 11 10 9 8 7 7. Тоесть 11 расскладывает на меньшие числа до числа с которым было сравнение и еще раз оно приписывается(в данном случае это(... 7 7) И так должно делать со всеми елементами большего массива массива тоесть потом переход на 10. Смотрим если 10 больше 4 то тогда расскладываем и так далее пока не пройдем весь массив если же допустим первый массив больше но в большем массиве какой-то елемент меньше елемента меньшего массива то пропускаем
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.03.2014, 21:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Разложение элементов массива (C++):

Задача на разложение массива чисел на положительные - C++
Шеф-повар столовой решила устроить День Уважения к Повару. Для этого она приготовила N необычайно вкусных котлет и втайне постановила, что...

В одномерном массиве, состоящем из n вещественных элементов вычислить минимальный элемент массива и сумму элементов массива. [CPP] - C++
В одномерном массиве, состоящем из n вещественных элементов вычислить минимальный элемент массива и сумму элементов массива, расположенных...

В одномерном массиве, состоящем из n целых элементов, 1) номер максимального элемента массива; 2) произведение элементов массива, расположенных между - C++
Помогите исправить программу Задание: В одномерном массиве, состоящем из n целых элементов, 1) номер максимального элемента...

Записать положительные элементы массива X подряд в массив Y. Определить k – количество положительных элементов. Вычислит сумму элементов массива Y - C++
Записать положительные элементы массива X=(x1,x2,…, xn) подряд в массив Y=(y1,y2,…, yk). Определить k – количество положительных...

Вычислить количество положительных элементов массива и сумму элементов массива, расположенных после последнего элемента, равного нулю - C++
В одномерном массиве, состоящем из n вещественных элементов, вычислить: количество положительных элементов массива; сумму элементов...

Определить количество элементов массива, меньших среднего арифметиче-ского значений элементов этого массива - C++
Времени нет , только ещё учу . нужно сделать срочно работы . углубился в учебник пока , но не успеваю разобраться . может есть...

36
IrineK
Заблокирован
22.03.2014, 22:13 #2
То есть так:
А (11 10 4)
В (7 4 9)

11>7
А (11 10 9 8 7 7 10 4)
В (7 4 9)

10>4
А (11 10 9 8 7 7 10 9 8 7 6 6 5 4 4 4)
В (7 4 9)

4<9
А (11 10 9 8 7 7 10 9 8 7 6 6 5 4 4 4)
В (7 4 9 8 7 6 5 4 4)
0
shukaka
4 / 4 / 2
Регистрация: 09.03.2014
Сообщений: 186
22.03.2014, 22:39  [ТС] #3
последниее действие не надо так как массив В меньше массива А
0
IrineK
Заблокирован
22.03.2014, 22:59 #4
Цитата Сообщение от shukaka Посмотреть сообщение
массив В меньше массива А
Почему?
0
shukaka
4 / 4 / 2
Регистрация: 09.03.2014
Сообщений: 186
22.03.2014, 23:07  [ТС] #5
как в моем задании делается сравнение массива....вот смотрите дано два массива А(7 3 1 0) и В(7 5 3 )
первые елементы массивов равны....смотрим следующие и видим что уже 5 больше трех а значит масив В в этом случае больше а значит разложение будет в большем массиве...
Разложение происходит в большем массиве потому что препод у нас придумал особенные числа но это уже сосвсем другая история))
суть в том что перед разложением нужно понять какой массив больше а потом разлаживать
0
IrineK
Заблокирован
22.03.2014, 23:25 #6
Цитата Сообщение от IrineK Посмотреть сообщение
4<9
А (11 10 9 8 7 7 10 9 8 7 6 6 5 4 4 4)
В (7 4 9 8 7 6 5 4 4)
Цитата Сообщение от shukaka Посмотреть сообщение
разложение будет в большем массиве.
Это и произошло.
0
shukaka
4 / 4 / 2
Регистрация: 09.03.2014
Сообщений: 186
22.03.2014, 23:58  [ТС] #7
определение большего массива делается только один раз тоесть в этом примере 11 больше 10 значит разложение в т олько в первом массиве....если бы было А (11 10 4) иВ (11 10 9) то проверяя какой массив больше оно бы прошло первые два елемента так как они равны дошло до 9 где 9 больше 4 а это значило б что В массив больше чем А
0
IrineK
Заблокирован
23.03.2014, 00:03 #8
Так, это есно.
А если: А(7 3 1 0) и В(7 3 ), тогда просто ничего не раскладываем?
0
shukaka
4 / 4 / 2
Регистрация: 09.03.2014
Сообщений: 186
23.03.2014, 00:14  [ТС] #9
тогда в масив В приписывается два нуля и получается что когда доходит до еденицы то 1 больше чем 0 а значит массив А больше будет чем массив В

Добавлено через 47 секунд
и да разложение там не будет....мы только можем их сравнить
0
IrineK
Заблокирован
23.03.2014, 00:18 #10
Еще один вопрос: а зачем
11>7
А (11 10 9 8 7 7 10 4)
В (7 4 9)

Два раза "ку" семеркой?
0
shukaka
4 / 4 / 2
Регистрация: 09.03.2014
Сообщений: 186
23.03.2014, 00:20  [ТС] #11
это для подальшей операции....у меня не получался только этот фрагмент(само разложение) просто дальше одинаковые числа в мисивах будут сокращаться
0
IrineK
Заблокирован
23.03.2014, 00:27 #12
А нельзя как-то вкратце изложить цели всего опуса?
Может, удастся избежать ненужных шагов?
0
shukaka
4 / 4 / 2
Регистрация: 09.03.2014
Сообщений: 186
23.03.2014, 00:35  [ТС] #13
суть всего задание 1.Ввод двух массивов.
2.Их сравнение(какой больше)
3.если изначельно елементы массивов равны то они сокращаются потом происходит разложение( в большем массиве итые елемнты большы итых елементов меньшего массива то происходит разложение). После чего когда уже нечего будет раскладывать сокращаются опять похожые елементы массива(только если третий елемент одного массива равен 4 елементу другого массива то сокращение не будет. сокращение только тогда когда одинаковые позиции)
4. все записывается в один массив и сартируется(по возрастанию от большего к меньшему)
код написан только до 3 действия(без разложения....на нем застрял)
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
#include <iostream>;
 
#include<locale>
using namespace std;
int main() {
    setlocale(LC_ALL,"Rus");
    cout<<"первое рл число"<<endl;
    int a;
    cin>>a;
    int *rl1=new int [a];         //первое рл число
    for(int i=0;i<a;i++)
            cin>> rl1[i];
    cout<<endl;
    cout<<"второе рл число"<<endl;
    int b;
    cin>>b;
    int *rl2=new int [b];                 //второе рл число
    for(int j=0;j<b;j++)
            cin>> rl2[j];
 
    for(int i=0;i<a;i++)
        cout<<rl1[i]<<".";
    cout<<endl;
    for(int j=0;j<b;j++)
        cout<<rl2[j]<<".";
    cout<<endl;
    
    for(int i=0;i<100;i++){
            if (rl1[i]<rl2[i])
                {for(int j=0;j!=b;j++)
                    cout<<rl2[j]<<".";         //сравнение двух рл чисел
                                  break;}
 
            else if(rl1[i]>rl2[i])
            {for(int i=0;i!=a;i++)
                   cout<<rl1[i]<<".";
                   break;}
            
    }
    cout<<endl;
    for(int i=0;i<a;i++)
        for(int j=0;j<b;j++) {   
     if (rl1[i]==rl2[j]) {
                
                      rl1[i]=0; 
                       rl2[j]=0;
     }
        }                                      //(если елементы рл чисел равны то они сокращаются(в данном случае меняются на ноль))
     for(int j=0;j<b;j++)
                    cout<<rl2[j]<<".";
     cout<<endl;
     for(int i=0;i<a;i++)
                   cout<<rl1[i]<<".";
     cout<<endl;
     for(int i=0;i<a;i++)
        for(int j=0;j<b;j++) {   
     if (rl1[i]>rl2[j]) {
 
    system ("pause");
    return 0;
}
 Комментарий модератора 
Не забывайте обрамлять код тегами
0
IrineK
Заблокирован
23.03.2014, 00:45 #14
Допустим:
А (10 11 7)
В (10 11 2)

Сравниваем, попутно сокращаем:
А (7)
В (2)

т.е. А больше В.
Раскладываем
А (7 6 5 4 3 2 2)
В (2)

А теперь чего?
0
shukaka
4 / 4 / 2
Регистрация: 09.03.2014
Сообщений: 186
23.03.2014, 00:48  [ТС] #15
правильно)
а теперь сокращаем двойку и получаем ответ 7 6 5 4 3 2
тоесть фактически нужно меньший массив сократить при помощи большего массива
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.03.2014, 00:48
Привет! Вот еще темы с ответами:

Одномерные массивы и указатели (найти количество элементов массива, равных 0, сумму элементов массива...) - C++
Помогите пожалуйста разработать программу и реализовать интуитивный понятный интерфейс (используя формы).При написании программы можно...

Вычислить среднее арифметическое элементов массива без учета минимального и максимального элементов массива - C++
Написать программу, которая вычисляет среднее арифметическое элементов массива без учета минимального и максимального элементов массива.

Функции в с++. Найти сумму элементов массива D, а также суммы квадратов и кубов элементов массива D. - C++
Запутался уже -_- Куда че пихать не могу понять... Дан произвольный массив D размера k. Найти сумму элементов массива D, а также суммы...

Определить кол-во элементов массива, которые больше среднеарифметического значения всех элементов массива - C++
Сделать программу, к-рая случайно заполняет массив А (n&lt;30) целыми значениями. Определить кол-во элементов массива, которые больше...


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

Или воспользуйтесь поиском по форуму:
15
Yandex
Объявления
23.03.2014, 00:48
Ответ Создать тему
Опции темы

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