Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
Xessao
0 / 0 / 0
Регистрация: 13.07.2015
Сообщений: 17
1

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

23.06.2016, 08:06. Просмотров 1499. Ответов 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), которая выведет в столбик номера игроков из первой команды.
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.06.2016, 08:06
Ответы с готовыми решениями:

Из каждого элемента массива, начиная со второго, вычесть все остальные элементы
Дан массив, из каждого элемента, начиная со второго, нужно вычесть все остальные элементы. вот...

Изменение массива через рекурсивную функцию
В рекурсивной функции мне нужно постоянно взаимодействовать с одним внешним массивом и изменять...

Умножение каждого четного элемента массива на 5 и вывод на экран
вот вроде что-то накидал, но дальше завал. я не совсем понимаю как вывести это теперь на экран....и...

Описать функцию, которая создаёт новый список из каждого второго элемента исходного списка
Описать функцию, которая создаёт новый список из каждого второго элемента исходного списка

Описать рекурсивную функцию поиска индекса минимального элемента массива.
Описать рекурсивную функцию поиска индекса минимального элемента массива. program tyu; var...

4
zss
Модератор
Эксперт С++
8388 / 7430 / 4607
Регистрация: 18.12.2011
Сообщений: 19,681
Завершенные тесты: 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;
}
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;
}
0
zss
Модератор
Эксперт С++
8388 / 7430 / 4607
Регистрация: 18.12.2011
Сообщений: 19,681
Завершенные тесты: 1
23.06.2016, 08:48 4
Лучший ответ Сообщение было отмечено mik-a-el как решение

Решение

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;
}
0
Xessao
0 / 0 / 0
Регистрация: 13.07.2015
Сообщений: 17
23.06.2016, 09:43  [ТС] 5
Не буду вас вводить в заблуждения, но код не хочет принимать этот сайт:
Кликните здесь для просмотра всего текста
http://academy.cppstudio.com/lesson/118/

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

Добавлено через 47 минут
zss, спасибо за оказанную помощь, задача решена.
0
23.06.2016, 09:43
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.06.2016, 09:43

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

Определить функцию, которая для каждого элемента переданного ей массива вычисляет функцию
Текст задания: Определить функцию, которая для каждого элемента переданного ей массива вычисляет...

Написать рекурсивную функцию для вычисления максимального элемента массива из n элементов
Не запускается программа, не понимаю почему. Задача и решение ниже. Написать рекурсивную...


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

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

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