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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Xessao
0 / 0 / 0
Регистрация: 13.07.2015
Сообщений: 17
#1

Вывод на экран каждого второго элемента массива через рекурсивную функцию - C++

23.06.2016, 08:06. Просмотров 281. Ответов 4
Метки нет (Все метки)

Добрый день, подскажите пожалуйста как вывести каждый второй элемент массива с помощью рекурсивной функции? В задаче сказано для определения каждого второго элемента, использовать условие ((i + 1) % 2 == 0).

Вот фундамент программы:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<iostream>
 
using namespace std;
 
int SecTeam(int array[], int len) {
 
}
 
int main() {
  int players[22] = {0, 35, 5, 9, 4, 1, 21, 12, 36, 11, 41, 13, 2, 17, 8, 20, 10, 18, 30, 25, 6, 19};
 
  SecTeam(players, 22);
 
  return 0;
}
Если кому надо, то вот сама задача:
Кликните здесь для просмотра всего текста

На футбольной тренировке тренер построил игроков в шеренгу, что бы составить 2 команды. Каждый второй футболист будет играть за первую команду, остальные за вторую. Массив хранит номера игроков в порядке, в котором они стоят в шеренге. Напишите функцию SecTeam (с параметрами: целочисленный массив array, целочисленное число len), которая выведет в столбик номера игроков из первой команды.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.06.2016, 08:06     Вывод на экран каждого второго элемента массива через рекурсивную функцию
Посмотрите здесь:

Удаление каждого второго элемента линейного списка C++
Разработать рекурсивную функцию, которая после каждого вхождения символа a в строку s добавляет символ b C++
Вывод на экран значений корней и квадратов каждого из элементов массива C++
Вывод динамического двумерного массива через функцию C++
Написать рекурсивную функцию нахождения n-элемента арифметической прогрессии C++
Ошибочный вывод массива через функцию C++
Написать функцию, которая преобразовывает значение каждого элемента массива в куб этого значения C++
C++ Из каждого элемента массива, начиная со второго, вычесть все остальные элементы
Изменение массива через рекурсивную функцию C++
C++ Поиск и вывод на экран терминала элемента массива
Вывод двумерного массива через функцию C++
Написать рекурсивную функцию для вычисления максимального элемента массива из n элементов C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
6248 / 5851 / 1891
Регистрация: 18.12.2011
Сообщений: 14,990
Завершенные тесты: 1
23.06.2016, 08:12     Вывод на экран каждого второго элемента массива через рекурсивную функцию #2
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;
 
void SecTeam(int* array, int i,int len) 
{
    if((i + 1) % 2 == 0)
        cout<<array[i]<<' ';
    i++;
    if(i<len)
        SecTeam(array,i,len);
    else
        cout<<endl;
}
 
int main() {
    int players[22] = {0, 35, 5, 9, 4, 1, 21, 12, 36, 11, 41, 13, 2, 17, 8, 20, 10, 18, 30, 25, 6, 19};
    SecTeam(players,0,22);
    system("pause");
    return 0;
}
Xessao
0 / 0 / 0
Регистрация: 13.07.2015
Сообщений: 17
23.06.2016, 08:21  [ТС]     Вывод на экран каждого второго элемента массива через рекурсивную функцию #3
К сожалению нельзя изменять начальный код, т.е. обязательно должно быть так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<iostream>
 
using namespace std;
 
int SecTeam(int array[], int len) {
 //Тут уже можно писать всё что нужно.
}
 
int main() { //Здесь всё так и должно остаться.
  int players[22] = {0, 35, 5, 9, 4, 1, 21, 12, 36, 11, 41, 13, 2, 17, 8, 20, 10, 18, 30, 25, 6, 19};
 
  SecTeam(players, 22);
 
  return 0;
}
zss
Модератор
Эксперт С++
6248 / 5851 / 1891
Регистрация: 18.12.2011
Сообщений: 14,990
Завершенные тесты: 1
23.06.2016, 08:48     Вывод на экран каждого второго элемента массива через рекурсивную функцию #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include<iostream>
 
using namespace std;
 
void SecTeam(int* array,int len) 
{
    static int i=0;
    if((i + 1) % 2 == 0)
        cout<<array[i]<<' ';
    i++;
    if(i<len)
        SecTeam(array,len);
    else
        i=0;
}
 
int main() {
    int players[22] = {0, 35, 5, 9, 4, 1, 21, 12, 36, 11, 41, 13, 2, 17, 8, 20, 10, 18, 30, 25, 6, 19};
    SecTeam(players,22);
    cout<<endl;
    system("pause");
    return 0;
}
Xessao
0 / 0 / 0
Регистрация: 13.07.2015
Сообщений: 17
23.06.2016, 09:43  [ТС]     Вывод на экран каждого второго элемента массива через рекурсивную функцию #5
Не буду вас вводить в заблуждения, но код не хочет принимать этот сайт:
Кликните здесь для просмотра всего текста
http://academy.cppstudio.com/lesson/118/

Я понимаю, что две программы, которые вы написали выше - работают, но сайт их не хочет принимать. Если вам не трудно, можете написать код, который будет принимать этот сайт?)

Добавлено через 47 минут
zss, спасибо за оказанную помощь, задача решена.
Yandex
Объявления
23.06.2016, 09:43     Вывод на экран каждого второго элемента массива через рекурсивную функцию
Ответ Создать тему
Опции темы

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