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

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

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

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

23.06.2016, 08:06. Просмотров 330. Ответов 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++ Из каждого элемента массива, начиная со второго, вычесть все остальные элементы
Изменение массива через рекурсивную функцию C++
Написать рекурсивную функцию для вычисления максимального элемента массива из n элементов C++
Написать функцию, которая преобразовывает значение каждого элемента массива в куб этого значения C++
Вывод на экран значений корней и квадратов каждого из элементов массива C++
заполнение массива через rand и вывод на экран через указатели C++
C++ Поиск и вывод на экран терминала элемента массива
Удаление каждого второго элемента линейного списка C++
Вывод двумерного массива через функцию C++
Ошибочный вывод массива через функцию C++
Вывод динамического двумерного массива через функцию C++
Создать рекурсивную функцию и вычислить значение ее N-го элемента C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
6321 / 5905 / 1913
Регистрация: 18.12.2011
Сообщений: 15,181
Завершенные тесты: 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
Модератор
Эксперт С++
6321 / 5905 / 1913
Регистрация: 18.12.2011
Сообщений: 15,181
Завершенные тесты: 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