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

Нужно из массива переделать в функцию

28.12.2012, 13:38. Показов 343. Ответов 5
Метки нет (Все метки)

Добрый день господа программисты, помогите переделать из массива в функцию, потому как преподаватель сказал, что массив не оправдан=)
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
#include "stdafx.h"
#include <iostream>
#include <math.h>
 
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(0,"russian");
 
    int N, min;
    printf("Введите N: ");
    scanf("%d", &N);
 
    int* myarr = new int[N];
 
    cout << endl;
    printf("Исходный массив: ");
    for(int i=0; i<N; i++)
    {
        myarr[i] = rand()%60-30 ;
        printf("%d", myarr[i]); printf(" ");
    }
    min = myarr[0];
    for (int i=0; i<N;i++)
    {
        if (myarr[i]<min) min=myarr[i];
    }
        cout << endl;
        cout << endl;
        printf("Наибольшее отрицательное число: ");
        printf("%d", min);
 
 
    cout << endl;
    cout << endl;
    system("pause");
 
    return 0;
}
Вот само задание: Дано натуральное n и последовательность из n чисел. Найти величину наибольшего
отрицательного числа в этой последовательности.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.12.2012, 13:38
Ответы с готовыми решениями:

Очень нужно! на экзамене сижу, нужно функцию переделать в процедуру
функцию переделать в процедуру

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

Нужно переделать функцию
Всем привет ! Нужно переделать функцию full_stats , так что-бы вместо $answ1,$answ2,$answ3 ... она...

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

5
3 / 3 / 2
Регистрация: 13.06.2012
Сообщений: 50
28.12.2012, 14:09 2
Наверное вы не поняли вашего препода. Массив - это совокупность элементов, а функция -это группа операторов у которой есть имя. Ну т.е. заменить массив на функцию здесь не получится. Возможно ваш препод имел ввиду вашу ошибку в алгоритме: вы ищите наименьший элемент последовательности, а не наибольший отрицательный, как сказано в задание. Неужели вас даже не смущает название переменной - min?
0
Мой лучший друг-отладчик!
165 / 165 / 30
Регистрация: 24.06.2012
Сообщений: 662
Записей в блоге: 5
28.12.2012, 14:21 3
вот пожалуйста, в отдельную функцию не выносил:
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 "stdafx.h"
#include <iostream>
 
int main()
{
    int n,digit,min;
    bool flag=true;
    std::cin>>n;
    while(n-- > 0)
    {
        std::cin>>digit;
        if(flag && digit<0)
        {
            min=digit;
            flag=false;
        }
        else if(digit < 0 && digit > min)
            min=digit;
    }
    std::cout<<min<<std::endl;
    system("pause");
    return 0;
}
Добавлено через 1 минуту
MilosedOFF, то что она говорит переделать из массива в функцию - да, звучит немного()) странно.Но понять можно.Но вот насчёт задания - оно вполне нормальное
0
0 / 0 / 0
Регистрация: 18.12.2012
Сообщений: 9
28.12.2012, 14:28  [ТС] 4
Цитата Сообщение от MilosedOFF Посмотреть сообщение
Наверное вы не поняли вашего препода. Массив - это совокупность элементов, а функция -это группа операторов у которой есть имя. Ну т.е. заменить массив на функцию здесь не получится. Возможно ваш препод имел ввиду вашу ошибку в алгоритме: вы ищите наименьший элемент последовательности, а не наибольший отрицательный, как сказано в задание. Неужели вас даже не смущает название переменной - min?
насчёт min ничего сказано небыло, препод лишь указал на
C
1
int* myarr = new int[N];
что использование массива неоправдано

Добавлено через 35 секунд
ZaMaZaN4iK спасибо=)
0
Мой лучший друг-отладчик!
165 / 165 / 30
Регистрация: 24.06.2012
Сообщений: 662
Записей в блоге: 5
28.12.2012, 14:30 5
вот через функцию
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
#include <iostream>
 
void search_min(bool &flag,int digit,int &min);
 
int main()
{
    int n,digit,min;
    bool flag=true;
    std::cin>>n;
    while(n-- > 0)
    {
        std::cin>>digit;
        search_min(flag,digit,min);
    }
    if(!flag)
        std::cout<<min<<std::endl;
    else
        std::cout<<"Not Found"<<std::endl;
    system("pause");
    return 0;
}
 
void search_min(bool &flag,int digit,int &min)
{
    if(flag && digit<0)
        {
            min=digit;
            flag=false;
        }
        else if(digit < 0 && digit > min)
            min=digit;
}
0
0 / 0 / 0
Регистрация: 18.12.2012
Сообщений: 9
28.12.2012, 14:32  [ТС] 6
ZaMaZaN4iK , спасибо, очень благодарен, а то зачёт из-за этого не ставят=)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.12.2012, 14:32

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Нужно функцию переделать в процедуру
var a, b, c, max: integer; function avg(n: integer): real; var count: integer := 0; av:...

Нужно переделать С++ функцию на ассемблерную вставку
Вот у меня имеется функция,осуществляющая реверс строки на С++ void reverse(const char *s) { if...

Нужно переделать ввод массива
Сама задача выглядит так: Дан двумерный массив целых чисел. В каждом его столбце найти...

Нужно переделать из статичного массива в list
Вот мой код используя массивы, переделайте его чтобы он работал именно через list, пожалуйста Он...


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

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

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