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

Оформить задачу в виде функции

25.05.2017, 03:21. Просмотров 343. Ответов 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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
/*Лабораторная работа №3 "Одномерные массивы"(Вариант 5)
1. Найти максимальный элемент массива.
2. Найти сумму элементов массива, расположенных до последнего положительного элемента.
3. Сжать массив, удалив из него все элементы, модуль которых находится в интервале [a,b]. Освободившиеся в конце
массива элементы заполнить нулями.*/
 
#include <iostream>
#include <clocale>
#include <conio.h>
 
using namespace std;
 
int main() {
    setlocale(LC_ALL, "Russian");
    int n, i, a, b, j=0;
    cout << " Введите количество элементов: ";
    cin >> n;
    cout << endl;
    double *Arr = new double[n];
    cout << " Введите элементы массива:";
    for (int i = 0; i < n; i++)
        cin >> Arr[i];
    for (int i = 0; i < n; i++)
        cout << Arr[i] << " ";
    cout << endl;
    int max = Arr[0], imax = 0;
    for (int i = 0; i < n; i++) {
        if (max < Arr[i])
        {
            imax = i;
            max = Arr[i];
        }
    }
    cout << "Максимальный элемент массива: " << Arr[imax] << endl;
    cout << endl;
 
    int ineg = -1;
    for (int i = 0; i < n; i++) {
        if (Arr[i] > 0)
            ineg = i;
    }
    if (ineg == -1)
        cout << "Положительных элементов нет!" << endl;
    else if (ineg == 0)
        cout << "Положительный элемент - первый!" << endl;
    else
    {
        double sum = 0;
        for (int i = ineg - 1; i >= 0; i--)
            sum += Arr[i];
        cout << "Сумма положительных: " << sum << endl;
 
    }
    cout << "Введите границы массива[a, b]: ";
    cin >> a >> b;
    cout << endl;
    cout << "Сжатый массив:" << endl;
    for (i = 0; i < n; i++)
    {
        if (abs(Arr[i]) < a || abs(Arr[i]) > b)
        {
            Arr[j] = Arr[i];
            j++;
        }
    }
    for (i = j; i < n; i++)
        Arr[i] = 0;
    for (i = 0; i < n; i++)
        cout << Arr[i] << " ";
    cout << endl;
 
    return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.05.2017, 03:21
Ответы с готовыми решениями:

Оформить задачу в функции.
Всем привет!) У меня есть сделанная задача. Я не пойму как решить вот эту задачу. Выполнить...

Вычислить m значений функции f(x) на отрезке [a, b]. Вычисление величины f(x) оформить в виде функции
Составить программу решения поставленной задачи: Вычислить m значений функции f(x) на отрезке ....

Оформить в виде функции
Оформить в виде функции на C/C++ решение задачи: b_i = a_i \,- \,(\min_{1\leq j\leq n}a_j) \\i =...

Оформить в виде функции
Даны действительные числа s, t. Получить: g(1.2, s)+g(t, s)-g(2s - 1.5t), |g(ln(s, t+1))-g(t, s)|,...

Оформить в виде функции
Помогите пожалуйста, вот задание: Оформить каждый пункт задания в виде функции. Все необходимые...

4
zss
Модератор
Эксперт С++
8097 / 7235 / 4504
Регистрация: 18.12.2011
Сообщений: 19,126
Завершенные тесты: 1
25.05.2017, 10:25 2
Посмотрите образец
Образцы (шаблоны) программ для типовых задач
1
keltor
37 / 36 / 25
Регистрация: 25.01.2017
Сообщений: 151
Записей в блоге: 2
25.05.2017, 15:17 3
Выцарапал разного вида функции из Вашего кода для семинара и обучения пойдет, наверное.
У меня только #include <iostream> пришлось поменять, версия старая может стоит.
Код и логику работы программы не проверял.
Запустил что-то понажимал, что-то выдает.

Кликните здесь для просмотра всего текста
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#include <stdio.h>
#include <iostream.h>
#include <clocale>
#include <conio.h>
 
int maxelem(double *fArr,int fn)        //функция нахождения максимального элемента  получает указатель на массив и количество элементов
{                                       // эта функция возвращает значение типа инт
int max = fArr[0];
for (int i = 1; i < fn; i++)
    {
    if (max < fArr[i])
        {
        max = fArr[i];
        }
    }
return max;
}
 
void sumbeforlastpol(double *fArr,int fn)    //функция нахождения суммы элементов массива   сумневаюсь что считает то что хотели
{                                            //эта  функция ничего не возвращает
int ineg = -1;
double sum = 0;
for (int i = 0; i < fn; i++)
    {
        if (fArr[i] > 0)
            ineg = i;
    }
    if (ineg == -1)
        cout << "Положительных элементов нет! No plus" << endl;
    else if (ineg == 0)
        cout << "Положительный элемент - первый! First plus" << endl;
    else
    {   for (int i = ineg - 1; i >= 0; i--)
        sum += fArr[i];
        cout << "Сумма положительных: Sum plus" << sum << endl;
    }
return;
}
 
void sgatarr(double *fArr, int fn, int fa,int fb)      //Сжать массив, удалив из него все элементы,
{                                                  //модуль которых находится в интервале [a,b]. Освободившиеся в конце
int i,j=0;                                         //массива элементы заполнить нулями.
for (i = 0; i < fn; i++)                            //функция получает указатель на массив и 3 параметра и ничего не возвращает
    {
        if (abs(fArr[i]) < fa || abs(fArr[i]) > fb)
        {
            fArr[j] = fArr[i];
            j++;
        }
    }
for (i = j; i < fn; i++) fArr[i] = 0;
for (i = 0; i < fn; i++) cout << fArr[i] << " ";
return;
}
 
 int _tmain(int argc, _TCHAR* argv[]) 
{
 setlocale(LC_ALL, "Russian");
    int n, i, a, b;
    cout<<" Введите количество элементов: "<< endl;
    cin>>n;
    cout<<endl;
    double *Arr = new double[n];
    cout << " Введите элементы массива: "<< endl;
    for (int i = 0; i < n; i++)
        cin >> Arr[i];
    for (int i = 0; i < n; i++)
        cout << Arr[i] << " ";
    cout << endl;
    cout << "Максимальный элемент массива: " << maxelem(Arr,n) << endl;
    cout << endl;
    sumbeforlastpol(Arr,n);
    cout << "Введите границы массива[a, b]: Granic"<< endl;
    cin >> a >> b;
    cout << endl;
    cout << "Сжатый массив: Sgatmass" << endl;
    sgatarr(Arr,n,a,b);
    cout << endl;
    system ("pause");
    return 0;
}
1
Antikl
с++
329 / 314 / 161
Регистрация: 15.07.2015
Сообщений: 1,679
Завершенные тесты: 6
25.05.2017, 15:22 4
Цитата Сообщение от zss Посмотреть сообщение
Посмотрите образец
Образцы (шаблоны) программ для типовых задач
спасибо за ссылку будет интересно посмотреть
0
Anton925
0 / 0 / 0
Регистрация: 05.11.2016
Сообщений: 18
25.05.2017, 15:31  [ТС] 5
Спасибо большое!!!
0
25.05.2017, 15:31
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.05.2017, 15:31

Оформить в виде функции
Добрый вечер, нужно оформить программу в виде функции. Вроде все правильно сделал. но не могу...

Оформить обработку в виде функции
Здравствуйте. Помогите записать код программы с помощью функций, заранее благодарен!!! #include...

Оформить решение в виде функции
#include &lt;iostream&gt; using namespace std; int main() { int C =...


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

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

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