Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 23.12.2009
Сообщений: 6

небольшая функция на c++

23.12.2009, 17:55. Показов 936. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Необходимо создать функцию,которая меняет элементы массива по логике первый с последним,второй с предпоследним и т.д. начиная с середины ... тобишь надо начать с эл-та n/2 (n- кол-во эл-ов в массиве) и поменять его на n/2+1(если n-четное число) или на n/2+2 (если n-нечетное число) ... Ошибка в общем такая ... Если вводятся 5 чисел : 70,1,35,68,42 ... то он выводит: -33686019,42,68,35,1 ... А если вводятся 6 чисел: 25,70,1,35,68,42 ... то он выводит: 0,-33686019,42,68,35,1

Код:

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
void namesta(int *A, int n)
{
    if(n%1)
    {
        int b;
        b=n/2+2;
        for(int i=n/2;i>=0;i--)
        {
            swap(A[i],A[b]);b++;
        }
    }
    else
    {
        int v;
        v=n/2+1;
        for(int i=n/2;i>=0;i--)
        {
            swap(A[i],A[v]);v++;
        }
    }
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.12.2009, 17:55
Ответы с готовыми решениями:

Небольшая функция, удаляющая однаковые букви в слове
как написать функцию чтобы удаляло однаковые букви в слове? cout << "\n Введите ключовое слово : "; gets_s(kluch);// ...

Небольшая функция
Здравствуйте! Очень нужна помощь в решении задачи (практика в университете). Функция из исходного списка формирует список результат:...

Небольшая помощь
Ктото может написать небольшой модуль которий будет считивать какуюта інформацию с файла *тхт каждих 2 сек ?? спс

9
 Аватар для BOR1K
14 / 14 / 3
Регистрация: 19.09.2009
Сообщений: 289
23.12.2009, 17:58
такая же задачка у меня была, так и не додумался как сделать(( и никто здесь не подсказал.
0
эволюционирую потихоньку
 Аватар для TanT
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401
23.12.2009, 18:05
Цитата Сообщение от BOR1K Посмотреть сообщение
такая же задачка у меня была, так и не додумался как сделать(( и никто здесь не подсказал.
эт ты зря, такие темы были и не раз и я скидывал кому-то вот это
C++
1
2
3
4
5
6
7
8
9
10
11
void Reverse(int *begin, int *end)
{ 
    int temp;
    while (end>begin)
    {
        temp = *begin;
        *begin = *end;
        *end = temp;
        begin++; end--;
    }
} // end Reverse
1
0 / 0 / 0
Регистрация: 23.12.2009
Сообщений: 6
23.12.2009, 18:18  [ТС]
TanT, насколько я понял ты мне кинул прогу эту же логику только начиная с начла и конца ... А мне обязательно надо,чтобы начиналось с середины,т.к. такой вариант у меня уже есть ...
0
эволюционирую потихоньку
 Аватар для TanT
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401
23.12.2009, 18:37
если правильно понял то так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
void namesta(int *A, int n)
{
    if(n%2)
    {
        int b;
        b=n/2;
        for(int i=n/2;--i>0;)
        {
            swap(A[i],A[b]); b++;
        }
    }
    else
    {
        int v;
        v=n/2;
        for(int i=n/2;--i>=0;)
        {
            swap(A[i],A[v]);v++;
        }
    }
}
1
0 / 0 / 0
Регистрация: 23.12.2009
Сообщений: 6
23.12.2009, 19:02  [ТС]
TanT, в этом варианте для четного количества чисел все работает нормально,а для нечетного неправильно меняет.
0
эволюционирую потихоньку
 Аватар для TanT
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401
23.12.2009, 19:06
Цитата Сообщение от buGaGashka Посмотреть сообщение
TanT, в этом варианте для четного количества чисел все работает нормально,а для нечетного неправильно меняет.
пример дай, не совсем понял твои объяснения. по моей логике всё правильно
1
0 / 0 / 0
Регистрация: 23.12.2009
Сообщений: 6
23.12.2009, 19:15  [ТС]
TanT, если вводить четное количество элементов он правильно переварачивает массив,если мы ввели: 21,61,81,41,29,23,то получим: 23,29,41,81,61,21
а если вводить нечетное количество элементов: 61,81,41,29,23,то почему-то получаем: 61,41,81,29,23 ... хотя должно было получиться 23,29,41,81,61 ... понятно ?
0
эволюционирую потихоньку
 Аватар для TanT
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401
23.12.2009, 19:21
строки 6 и 7 моего кода заменить на
C++
1
2
    b=n/2+1;
        for(int i=n/2;--i>=0;)
1
0 / 0 / 0
Регистрация: 23.12.2009
Сообщений: 6
23.12.2009, 19:27  [ТС]
TanT, Спасибо! Сработало!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.12.2009, 19:27
Помогаю со студенческими работами здесь

Небольшая сложность
Я создал проект, сохранил, попытался открыть, но на месте отладки появилось "присоединить", при нажатии которого выдаёт окошко с кучей...

Небольшая консультация
Вот заклинило и не могу сообразить. Смысл такой. Создаю массив, нахожу например четные элементы или те которые стоят на четных местах. Как...

Небольшая скорость по Wi-Fi
Всем привет. Вопрос такой, буквально недавно подключил инет со скоростью 100мбит, комп принимает эти 100 мбит, планшет и ноут по вайфаю,...

Небольшая игра
Допустим есть такая игра: на экран выводится 30 случайных цифр 0 и 1, они показываются вам 30 секунд, а потом исчезают, на их месте...

Небольшая соцсеть
Добрый день, очень интересует вопрос какие технологии нужны чтоб сделать небольшое подобие контакта?:)нужно ли что то кроме html, css. и...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru