4 / 4 / 4
Регистрация: 09.03.2014
Сообщений: 187
1

Массивы и циклы: РЛ числа

29.03.2014, 20:03. Показов 891. Ответов 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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#include <iostream>;
 
#include<locale>
using namespace std;
int rl3[255],k;
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]=-100; 
                       rl2[j]=-100;
     }
        }                                      //отнимание(если елементы рл чисел равны то они сокращаются(в данном случае меняются на ноль))
     for(int j=0;j<b;j++)
         if(rl2[j]!=-100)
                    cout<<rl2[j]<<".";
     cout<<endl;
     for(int i=0;i<a;i++)
         if(rl1[i]!=-100)
                   cout<<rl1[i]<<".";
     cout<<endl;
    int p=1;
    for(int i=0;i<a;i++)
         {   
     if (rl1[i]>rl2[i])
 
        { do {
            
            rl3[k]=rl1[i]-p;
            k++;
                p++;
     
     }
            while(rl3[k]<=rl2[i]);
             }
        }
        for(k=0;k<a*b;k++)
            cout<<rl3[k];
    system ("pause");
    return 0;
}
в чем ошибка....я ввожу 4 5 2 1 0 потом ввожу 4 3 2 1 0 В ответе должен получить 4 3 3 а получаю чет не то совсем
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.03.2014, 20:03
Ответы с готовыми решениями:

Массивы и циклы
Суть задачи: Двумерный массив, содержащий равное число строк и столбцов, называется магическим...

массивы, циклы и т.д
очень нужна помощь помогите студенту программа borland c++ 3.1 1. Дано двузначное число....

Массивы,указатели,циклы.
Доброго времени суток:) Задача такая:&quot;Напишите программу,которая находит и отображает значения...

Циклы и линейные массивы
Найдите все трехзначные числа, которые можно представить разностью между квадратом числа,...

3
309 / 309 / 215
Регистрация: 24.09.2013
Сообщений: 771
29.03.2014, 21:11 2
Было бы неплохо, если бы вы сказали, что должна делать программа, а не что она выводит.
0
4 / 4 / 4
Регистрация: 09.03.2014
Сообщений: 187
29.03.2014, 21:23  [ТС] 3
1)вводится два массива
2)эти два массива сравниваются (не играет роли)
3)если есть одинаковые элементы в массивах они удаляются
4)Те элементы что остались в массивах тоже сравниваются и большие расскладываются до значение меньшего елемента
0
76 / 78 / 41
Регистрация: 23.03.2011
Сообщений: 148
29.03.2014, 21:40 4
C++
1
2
3
4
5
6
7
8
 do {
            
            rl3[k]=rl1[i]-p;
            k++;
                p++;
     
     }
            while(rl3[k]<=rl2[i]);
тут точно ошибка, выход из цикла должен быть таким
C++
1
 while(rl3[k-1]<=rl2[i])
при том условии выхода которое есть цикл прекращается когда мы выходим за границы массива и получаем огромное отрицательное число (у меня вышло на 306 итерации)

плюс ошибка при выводе, ты выводишь неправильное число элементов
C++
1
2
 for(k=0;k<a*b;k++)
            cout<<rl3[k];
должно быть
C++
1
2
 for(int j=0;j<k;j++)
            cout<<rl3[j];
да и 4 3 3 ты тут никак не получишь при таком коде и начальных данных, получается 3 5 4
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.03.2014, 21:40
Помогаю со студенческими работами здесь

массивы и Вложенные циклы
Дано натуральное число n. Получить все простые делители этого числа.пацаны помогите решить

Циклы и двумерные массивы
Решенная задача: Вы продаете книгу &quot;Язык С++ для чайников&quot;. Напишите программу, которая позволит...

Массивы структур, циклы
Пишу программку из книги. Задание звучит так: Коrда вы вступите в Блаrотворительный Орден...

Циклы и двумерные массивы
1. Цикл For... Среди всех n-значных чисел (n = 1,2,3,4) указать те, сумма цифр которых равна...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru