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

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

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

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

28.12.2012, 13:38. Просмотров 242. Ответов 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 чисел. Найти величину наибольшего
отрицательного числа в этой последовательности.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.12.2012, 13:38     Нужно из массива переделать в функцию
Посмотрите здесь:

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

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

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

Нужно переделать - C++
Дано натуральное число .Установить, является ли последовательность его цифр при просмотре их слева направо упорядоченной по возрастанию.У...

нужно переделать в с++ - C++
uses crt; var ch1,ch2:char; i,k: integer; const glasnye=; begin writeln('vvedite slova'); ch1:=readkey; write(ch1); if...

Переделать процедуру в функцию - C++
Доброго времени суток! Выполнил условие программы, но оформлена она должна быть в виде функции, но я никак не могу вернуть результат для...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MilosedOFF
3 / 3 / 0
Регистрация: 13.06.2012
Сообщений: 50
28.12.2012, 14:09     Нужно из массива переделать в функцию #2
Наверное вы не поняли вашего препода. Массив - это совокупность элементов, а функция -это группа операторов у которой есть имя. Ну т.е. заменить массив на функцию здесь не получится. Возможно ваш препод имел ввиду вашу ошибку в алгоритме: вы ищите наименьший элемент последовательности, а не наибольший отрицательный, как сказано в задание. Неужели вас даже не смущает название переменной - min?
ZaMaZaN4iK
Мой лучший друг-отладчик!
163 / 163 / 9
Регистрация: 24.06.2012
Сообщений: 662
Записей в блоге: 5
Завершенные тесты: 1
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, то что она говорит переделать из массива в функцию - да, звучит немного()) странно.Но понять можно.Но вот насчёт задания - оно вполне нормальное
veskerx
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 спасибо=)
ZaMaZaN4iK
Мой лучший друг-отладчик!
163 / 163 / 9
Регистрация: 24.06.2012
Сообщений: 662
Записей в блоге: 5
Завершенные тесты: 1
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;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.12.2012, 14:32     Нужно из массива переделать в функцию
Еще ссылки по теме:

Необходимо переделать функцию - C++
Подскажите, пожалуйста, весь инет обгуглил, подобного не нашёл. Есть такой код - #include &lt;iostream&gt; #include &lt;cstdlib&gt; ...

Под С++ нужно переделать - C++
while pos(' ',s)&gt;0 do{пока есть пробелы} begin s1:=copy(s,1,pos(' ',s)-1);{копируем первое слово} k:=0; for i:=1 to...

Нужно переделать код - C++
Нужно сделать без классов: #include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;ctime&gt; class mylist { ...

Нужно переделать программу из C++ в C - C++
Вот собственно и она. Заранее благодарен #include &lt;iostream&gt; using namespace std; int main() { const int m = 4 , n...


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

Или воспользуйтесь поиском по форуму:
veskerx
0 / 0 / 0
Регистрация: 18.12.2012
Сообщений: 9
28.12.2012, 14:32  [ТС]     Нужно из массива переделать в функцию #6
ZaMaZaN4iK , спасибо, очень благодарен, а то зачёт из-за этого не ставят=)
Yandex
Объявления
28.12.2012, 14:32     Нужно из массива переделать в функцию
Ответ Создать тему
Опции темы

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