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

Если К меньше N, изменить порядок следования элементов в исходном массиве на обратный - C++

Восстановить пароль Регистрация
 
z1odey
0 / 0 / 0
Регистрация: 19.11.2010
Сообщений: 11
20.11.2010, 16:56     Если К меньше N, изменить порядок следования элементов в исходном массиве на обратный #1
Помогите решить эту задачу.

Дан массив действительных чисел размером N и целое число К. Если К меньше N, изменить порядок следования элементов в исходном массиве на обратный порядок отдельно до и отдельно после К-го элемента массива. Если K больше или равно N, то создать новый массив, не включив в него из исходного массива первый и последний элемент.

Заранее спасибо)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.11.2010, 16:56     Если К меньше N, изменить порядок следования элементов в исходном массиве на обратный
Посмотрите здесь:

Составить программу, которая меняет порядок следования элементов в массиве на обратный для линейных таблиц Х[12] и Y[10] C++
Изменить порядок следования слов в строке на обратный C++
C++ Составить программу, которая меняет порядок следования элементов на обратный
Изменить порядок следования элементов в массиве C++
Изменить порядок следования элементов в массиве на обратный, используя массив указателей C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
20.11.2010, 18:52     Если К меньше N, изменить порядок следования элементов в исходном массиве на обратный #2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int ms[n],ms2[n-2],i,j,k;
 
if (k<n)
{ for (i=0, j=k; i<j; i++,j--)
     // zamena ms[i] - ms[j]
 
   for (i=k, j=n-1; i<j; i++, j--)
      // zamena ms[i] - ms[j]
 
}
 
else 
{  for (i=1;i<n-1;i++)
      ms2[i-1]=ms[i];
}
z1odey
0 / 0 / 0
Регистрация: 19.11.2010
Сообщений: 11
20.11.2010, 19:11  [ТС]     Если К меньше N, изменить порядок следования элементов в исходном массиве на обратный #3
Не работает кусок из-за не правильно составленного цикла.
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
20.11.2010, 19:38     Если К меньше N, изменить порядок следования элементов в исходном массиве на обратный #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int ms[n],ms2[n-2],i,j,k;
 
if (k<n)
{ for (i=0, j=k-1; i<j; i++,j--)
     // zamena ms[i] - ms[j]
 
   for (i=k, j=n-1; i<j; i++, j--)
      // zamena ms[i] - ms[j]
 
}
 
else 
{  for (i=1;i<n-1;i++)
      ms2[i-1]=ms[i];
}
попробуй так
z1odey
0 / 0 / 0
Регистрация: 19.11.2010
Сообщений: 11
20.11.2010, 19:42  [ТС]     Если К меньше N, изменить порядок следования элементов в исходном массиве на обратный #5
Он не пропускает два for в одних {}
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
20.11.2010, 20:02     Если К меньше N, изменить порядок следования элементов в исходном массиве на обратный #6
z1odey, выложи свой полный код
ты где-то допустил ошибку!!!
z1odey
0 / 0 / 0
Регистрация: 19.11.2010
Сообщений: 11
20.11.2010, 20:07  [ТС]     Если К меньше N, изменить порядок следования элементов в исходном массиве на обратный #7
копировал, он подчеркивает второй for
almazsr
232 / 169 / 7
Регистрация: 13.11.2010
Сообщений: 425
20.11.2010, 20:15     Если К меньше N, изменить порядок следования элементов в исходном массиве на обратный #8
; после операторов. После fora
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
20.11.2010, 20:19     Если К меньше N, изменить порядок следования элементов в исходном массиве на обратный #9
almazsr, ты о чем вообще
я не дописал код (в комментариях указал что надо дописать)

z1odey, выложить свой полный код (с библиотеками) чтобы я проверил слабо??? Вы что-то не правильно доделали
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.11.2010, 20:29     Если К меньше N, изменить порядок следования элементов в исходном массиве на обратный
Еще ссылки по теме:

Дан одномерный массив А, состоящий из N целых чисел. Составить программу, которая меняет порядок следования элементов на обратный C++
Изменить порядок следования цифр на обратный между 1-й и последней цифрой C++
C++ Задана строка. Изменить порядок следования символов в 1 и 2 половине строки на обратный

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

Или воспользуйтесь поиском по форуму:
Unforgiven_00
60 / 60 / 2
Регистрация: 12.10.2010
Сообщений: 129
20.11.2010, 20:29     Если К меньше N, изменить порядок следования элементов в исходном массиве на обратный #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
27
#include <iostream>
#include <algorithm>
using namespace std;
 
void main()
{
    const int n = 10;
    int a[n] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
    cout << "Enter K: " ;
    int k;
    cin >> k;
    if(k<n)
    {
        reverse(a, a+k);
        reverse(a+k, a+n);
        for(int i=0; i<n; i++)
            cout << a[i] << ' ';
    }
    else
    {
        int b[n-2];
        copy(a+1, a+n-1, b);
        for(int i=0; i<n-2; i++)
            cout << b[i] << ' ';
    }
    system("pause");
}
Yandex
Объявления
20.11.2010, 20:29     Если К меньше N, изменить порядок следования элементов в исходном массиве на обратный
Ответ Создать тему
Опции темы

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