Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
sv011
0 / 0 / 0
Регистрация: 09.11.2012
Сообщений: 25
#1

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

18.11.2012, 15:37. Просмотров 3308. Ответов 10
Метки нет (Все метки)

Дана последовательность натуральных чисел 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;
}
в чем ошибка?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.11.2012, 15:37
Ответы с готовыми решениями:

Расположить символы последовательности в обратном порядке
Почему-то совершенно не идёт с++,помогите,пожалуйста Есть 2 простенькие...

Расположить в обратном порядке символы
Нужно реверсировать (расположить в обратном порядке) все символы строки,...

Расположить элементы стека в обратном порядке
Разработать консольное приложение, которое с помощью абстрактной структуры...

Расположить слова строки в порядке, обратном исходному.
Здравствуйте,помогите пожалуйста. Задание: Расположить слова строки в...

Расположить строки в обратном порядке в текстовом файле
В произвольном текстовом файле расположить строки в обратном порядке. Помогите...

10
I.M.
567 / 550 / 47
Регистрация: 16.12.2011
Сообщений: 1,389
18.11.2012, 15:52 #2
В первых трех циклах ничего не происходит
0
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;
}
а если так?
0
Amandosov
Знаток
156 / 156 / 185
Регистрация: 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;
}
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;
}
пишет "частичное решение"
0
Amandosov
Знаток
156 / 156 / 185
Регистрация: 18.11.2012
Сообщений: 411
Записей в блоге: 2
18.11.2012, 16:33 #6
в 6 строке должен быть x[1000]
0
sv011
0 / 0 / 0
Регистрация: 09.11.2012
Сообщений: 25
18.11.2012, 16:35  [ТС] #7
Цитата Сообщение от Amandosov Посмотреть сообщение
в 6 строке должен быть x[1000]
да, исправила...но все равно частичное решение получается....
0
Amandosov
Знаток
156 / 156 / 185
Регистрация: 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;
}
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....
0
Amandosov
Знаток
156 / 156 / 185
Регистрация: 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;
}
0
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%... спасибо большое))
0
18.11.2012, 17:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.11.2012, 17:20

Ненулевые элементы массива расположить в обратном порядке
написать программу на языке с++, у которой операторы: 1) создают одномерный...

Одномерный масив: расположить символы в обратном порядке
Задан массив из k символов. Преобразовать массив следующим образом:...

Расположить байты машинного слова в обратном порядке
Подскажите, пожалуйста, как можно расположить байты машинного слова в обратном...


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

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

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