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

Рекурсивная функция. Преобразовать массив, прибавив к четным числам последний элемент - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Работа с указателями и функциями ( запись в двоичный файл данных только о тех ноутбуков диагональ дисплея которых больше 11 дюймов) http://www.cyberforum.ru/cpp-beginners/thread842851.html
Для хранения данных о ноутбуках описать структуру вида: struct NOTEBOOK { char model;//наименование int price; //цена float w; //вес struct size{ //габаритные размеры float x;//высота float y;//длина float z;//ширина
C++ Обработка массивов (Найти количество положительных элементов, расположенных в заштрихованной части матрицы) Программирование алгоритмов сортировок элементов массивов. Решить задачу в консольном режиме. Дана действительная квадратная матрица порядка n. Найти количество положительных элементов, расположенных в заштрихованной части матрицы. http://www.cyberforum.ru/cpp-beginners/thread842846.html
C++ Матрицы и указатели (найти такие k, что k-я строка матрицы совпадает с k-м столбцом; 2) найти сумму элементов)
Составить программу обработки матрицы. Доступ к элементам матрицы осуществлять с помощью указателя. Элементы матрицы заполнить, используя функцию генератора случайных чисел. Для заданной матрицы размером 8 на 8: 1) найти такие k, что k-я строка матрицы совпадает с k-м столбцом; 2) найти сумму элементов в тех строках, которые содержат хотя бы один отрица¬тельный элемент.
Ошибка в функции C++
не работает функция вывод помогите пожалуйста я задаю 1 букву модели монитора он должен выдать все об этом мониторе исправте пожалуйста. #include <math.h> #include <conio.h> #include <iomanip> #include <fstream.h> #include <iostream.h> #include <string.h> #include <stdio.h> struct monit_info {
C++ Как это сделать? http://www.cyberforum.ru/cpp-beginners/thread842841.html
Класс, у него несколько гарантированных экземпляров, из них ровно один создан конструктором по умолчанию, средствами языка запрещено создавать другие экземпляры конструктором по умолчанию, но можно создавать дополнительные экземпляры конструкторами с параметрами, любой экземпляр может быть приведён к std::string, или без приведения выведен в поток std::cout, все поля private, единственный public...
C++ Закрытое наследование Помогите, пожалуйста, ответить на такой вопрос: Что такое переопределение методов (в производном классе)? Продемонстрировать его полезность на примере кода. Заранее спасибо подробнее

Показать сообщение отдельно
yoghurt92
373 / 344 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
19.04.2013, 22:34     Рекурсивная функция. Преобразовать массив, прибавив к четным числам последний элемент
Dron16, чуть не забыл про вторую задачу, вот

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
28
29
30
31
32
33
34
35
36
37
38
#include <iostream>
#include <iomanip>
#include <iterator>
#include <algorithm>
using namespace std;
 
void mas_change(int *mas, int size, int number){
    if(number == 0)
        return;
    else{
        rotate(mas, mas+1, mas+size);
 
        return mas_change(mas, size, number - 1);
    }
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    const int size(5);
    int *mas = new int[size], number(0);
    
    for(int i = 0; i < size; ++i){
        mas[i] = i + 1;
        if(mas[i] & 1)
            ++number;
    }
 
    cout << "mas: ";
    copy(mas, mas + size, ostream_iterator<int>(cout, " "));
 
    mas_change(mas, size, number);
 
    cout << "\nmas: ";
    copy(mas, mas + size, ostream_iterator<int>(cout, " "));
 
    cout << "\n\n";
    return 0;
}
Добавлено через 3 минуты
Dron16, а вот тут вариант уже не с помощью STL а ручками

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include <iostream>
#include <iomanip>
#include <iterator>
#include <algorithm>
using namespace std;
 
void mas_change(int *mas, int size, int number){
    if(number == 0)
        return;
    else{
        int temp = mas[0];
        for (int i = 0; i < size - 1; i++)
            mas[i] = mas[i + 1];
        mas[size - 1] = temp;
        
 
        return mas_change(mas, size, number - 1);
    }
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    const int size(5);
    int *mas = new int[size], number(0);
    
    for(int i = 0; i < size; ++i){
        mas[i] = i + 1;
        if(mas[i] & 1)
            ++number;
    }
 
    cout << "mas: ";
    copy(mas, mas + size, ostream_iterator<int>(cout, " "));
 
    mas_change(mas, size, number);
 
    cout << "\nmas: ";
    copy(mas, mas + size, ostream_iterator<int>(cout, " "));
 
    cout << "\n\n";
    return 0;
}
 
Текущее время: 02:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru