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

Расположить в обратном порядке часть последовательности - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.79
sv011
0 / 0 / 0
Регистрация: 09.11.2012
Сообщений: 25
18.11.2012, 15:37     Расположить в обратном порядке часть последовательности #1
Дана последовательность натуральных чисел 1, 2, 3, ..., N (1 ≤ N ≤ 1000). Необходимо сначала расположить в обратном порядке часть этой последовательности от элемента с номером A до элемента с номером B, а затем от C до D (A < B; C < D; 1 ≤ A, B, C, D ≤ N).


Формат входного файла

Даны числа N, A, B, C, D.


Формат выходного файла

Требуется вывести полученную последовательность.


Написать код, без введения функций.

мой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
using namespace std;
int main(){
        int n,a,b,c,d;
        cin>>n>>a>>b>>c>>d;
        int x[n];
        for(int i=0;i<n;i++){
            x[i];
        }
 
        for(int i=b;i>=a;i--){
            x[i];
        }
        for(int i=d;i>=c;i--){
            x[i];
        }
        for(int i=0;i<n;i++){
            cout<<x[i]<<' ';
        }
return 0;
}
в чем ошибка?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.11.2012, 15:37     Расположить в обратном порядке часть последовательности
Посмотрите здесь:

C++ в матрице, строку где все числа четные, расположить в обратном порядке.
Расположить слова строки в порядке, обратном исходному. C++
C++ Элементы заданного массива T(k) расположить в обратном порядке: t k,t k-1,.,t2,t1
Элементы заданного массива T(k) расположить в обратном порядке: t k,t k-1,.,t2,t1 C++
C++ Одномерный масив: расположить символы в обратном порядке
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
18.11.2012, 15:52     Расположить в обратном порядке часть последовательности #2
В первых трех циклах ничего не происходит
sv011
0 / 0 / 0
Регистрация: 09.11.2012
Сообщений: 25
18.11.2012, 15:55  [ТС]     Расположить в обратном порядке часть последовательности #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
#include <iostream>
using namespace std;
int main(){
        int n,a,b,c,d;
        cin>>n>>a>>b>>c>>d;
        int x[n];
        for(int i=0;i<n;i++){
            x[i]=i;
        }
        for(int i=a;i<=b;i++){
              for(int j=b;j>=a;j--){
                  x[i]=j;
                  break;
              }
        }
        for(int i=c;c<=d;i++){
            for(int j=d;j>=c;j--){
                x[i]=j;
                break;
            }
        }
        for(int i=0;i<n;i++){
            cout<<x[i]<<' ';
        }
return 0;
}
а если так?
Amandosov
Знаток
156 / 156 / 65
Регистрация: 18.11.2012
Сообщений: 411
Записей в блоге: 2
18.11.2012, 16:13     Расположить в обратном порядке часть последовательности #4
rewenie
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
#include <conio.h>
#include <iostream>
using namespace std;
int main(){
        int n,a,b,c,d;
        cin>>n>>a>>b>>c>>d;
        int x[100];
        for(int i=0;i<n;i++){
            x[i]=i+1;
        }
        for(int i=a-1;i<b;i++)
              {
                  x[i]=b-i+a-1;
              }
 
        for(int i=c-1;i<d;i++)
              {
                  x[i]=d-i+c-1;
              }
 
        for(int i=0;i<n;i++){
            cout<<x[i]<<' ';
        }
        getch();
return 0;
}
sv011
0 / 0 / 0
Регистрация: 09.11.2012
Сообщений: 25
18.11.2012, 16:30  [ТС]     Расположить в обратном порядке часть последовательности #5
Цитата Сообщение от Amandosov Посмотреть сообщение
rewenie
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
#include <conio.h>
#include <iostream>
using namespace std;
int main(){
        int n,a,b,c,d;
        cin>>n>>a>>b>>c>>d;
        int x[100];
        for(int i=0;i<n;i++){
            x[i]=i+1;
        }
        for(int i=a-1;i<b;i++)
              {
                  x[i]=b-i+a-1;
              }
 
        for(int i=c-1;i<d;i++)
              {
                  x[i]=d-i+c-1;
              }
 
        for(int i=0;i<n;i++){
            cout<<x[i]<<' ';
        }
        getch();
return 0;
}
при сдаче задачи,пишет "ошибка компиляции"
а если записать в таком виде:
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
#include <iostream>
using namespace std;
int main(){
        int n,a,b,c,d;
        cin>>n>>a>>b>>c>>d;
        int x[100];
        for(int i=0;i<n;i++){
            x[i]=i+1;
        }
        for(int i=a-1;i<b;i++){
           x[i]=b-i+a-1;
        }
             
         
        for(int i=c-1;c<d;i++){
           
                x[i]=d-i+c-1;
        }       
            
        
        for(int i=0;i<n;i++){
            cout<<x[i]<<' ';
        }
return 0;
}
пишет "частичное решение"
Amandosov
Знаток
156 / 156 / 65
Регистрация: 18.11.2012
Сообщений: 411
Записей в блоге: 2
18.11.2012, 16:33     Расположить в обратном порядке часть последовательности #6
в 6 строке должен быть x[1000]
sv011
0 / 0 / 0
Регистрация: 09.11.2012
Сообщений: 25
18.11.2012, 16:35  [ТС]     Расположить в обратном порядке часть последовательности #7
Цитата Сообщение от Amandosov Посмотреть сообщение
в 6 строке должен быть x[1000]
да, исправила...но все равно частичное решение получается....
Amandosov
Знаток
156 / 156 / 65
Регистрация: 18.11.2012
Сообщений: 411
Записей в блоге: 2
18.11.2012, 16:57     Расположить в обратном порядке часть последовательности #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
//---------------------------------------------------------------------------
 
#include <iostream>
using namespace std;
int main(){
        int n,a,b,c,d;
        cin>>n>>a>>b>>c>>d;
        int x[1001],y[1001];
        for(int i=1;i<=n;i++){
            x[i]=i;y[i]=x[i];
        }
        for(int i=0;i<=b-a;i++)
              {
                  x[a+i]=y[b-i];
              }
        for(int i=0;i<n;i++){
           y[i]=x[i];}
        for(int i=0;i<=d-c;i++)
              {
                  x[c+i]=y[d-i];
              }
 
        for(int i=1;i<=n;i++){
            cout<<x[i]<<' ';
        }
return 0;
}
sv011
0 / 0 / 0
Регистрация: 09.11.2012
Сообщений: 25
18.11.2012, 17:04  [ТС]     Расположить в обратном порядке часть последовательности #9
Цитата Сообщение от Amandosov Посмотреть сообщение
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
//---------------------------------------------------------------------------
 
#include <iostream>
using namespace std;
int main(){
        int n,a,b,c,d;
        cin>>n>>a>>b>>c>>d;
        int x[1001],y[1001];
        for(int i=1;i<=n;i++){
            x[i]=i;y[i]=x[i];
        }
        for(int i=0;i<=b-a;i++)
              {
                  x[a+i]=y[b-i];
              }
        for(int i=0;i<n;i++){
           y[i]=x[i];}
        for(int i=0;i<=d-c;i++)
              {
                  x[c+i]=y[d-i];
              }
 
        for(int i=1;i<=n;i++){
            cout<<x[i]<<' ';
        }
return 0;
}
опять частичное решение(
но уже 11 баллов из 100...перед этим было 0....
Amandosov
Знаток
156 / 156 / 65
Регистрация: 18.11.2012
Сообщений: 411
Записей в блоге: 2
18.11.2012, 17:14     Расположить в обратном порядке часть последовательности #10
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
#include <iostream>
using namespace std;
int main(){
        int n,a,b,c,d;
        cin>>n>>a>>b>>c>>d;
        int x[1001],y[1001];
        for(int i=1;i<=n;i++){
            x[i]=i;y[i]=x[i];
        }
        for(int i=0;i<=b-a;i++)
              {
                  x[a+i]=y[b-i];
              }
        for(int i=1;i<=n;i++){
           y[i]=x[i];}
 
        for(int i=0;i<=d-c;i++)
              {
                  x[c+i]=y[d-i];
              }
 
        for(int i=1;i<=n;i++){
            cout<<x[i]<<' ';
        }
return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.11.2012, 17:20     Расположить в обратном порядке часть последовательности
Еще ссылки по теме:

C++ Расположить в обратном порядке символы
Ненулевые элементы массива расположить в обратном порядке C++
C++ Элементы заданного массива расположить в обратном порядке. Правильно ли решена задача?

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

Или воспользуйтесь поиском по форуму:
sv011
0 / 0 / 0
Регистрация: 09.11.2012
Сообщений: 25
18.11.2012, 17:20  [ТС]     Расположить в обратном порядке часть последовательности #11
........

Добавлено через 1 минуту
Цитата Сообщение от Amandosov Посмотреть сообщение
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
#include <iostream>
using namespace std;
int main(){
        int n,a,b,c,d;
        cin>>n>>a>>b>>c>>d;
        int x[1001],y[1001];
        for(int i=1;i<=n;i++){
            x[i]=i;y[i]=x[i];
        }
        for(int i=0;i<=b-a;i++)
              {
                  x[a+i]=y[b-i];
              }
        for(int i=1;i<=n;i++){
           y[i]=x[i];}
 
        for(int i=0;i<=d-c;i++)
              {
                  x[c+i]=y[d-i];
              }
 
        for(int i=1;i<=n;i++){
            cout<<x[i]<<' ';
        }
return 0;
}
ооо...все...получилось...100%... спасибо большое))
Yandex
Объявления
18.11.2012, 17:20     Расположить в обратном порядке часть последовательности
Ответ Создать тему
Опции темы

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