Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.10.2019, 14:33   #1
sasha1504
 
Регистрация: 20.10.2019
Сообщений: 9
Лампочка c++ помогите сделать фунццию!!!

Есть рабочий код,но я не знаю как сделать из него функцию. Помогите,пожалуйста.
Задание:Дан массив целых чисел. Написать функцию для определения максимальной и
минимальной суммы двух соседних элементов массива.
код:
#include <iostream>

using namespace std;
int main()
{

int n, smax=0, smin=200;
do
{
system("cls");
cout<<"Vvedite kol-vo elementov massiva : ";
cin>>n;
} while(n<=0);
int *mas=new int [n];
for (int i=0; i<n; i++)
{
mas[i]=rand()%99;
cout<<mas[i]<<"\t";
}
for (int i=0; i<n; i++)
{
if (mas[i]+mas[i+1]>smax && i+1<n)
smax=mas[i]+mas[i+1];
if (mas[i]+mas[i+1]<smin && i+1<n)
smin=mas[i]+mas[i+1];
}
cout<< endl <<"Max sum elementov: "<<smax <<"\nMin sum elementov: "<<smin<<endl;
system("pause");
return 0;
}
sasha1504 вне форума Ответить с цитированием
Старый 20.10.2019, 15:17   #2
Cuprum5
Форумчанин
 
Регистрация: 09.05.2017
Сообщений: 744
По умолчанию

Так сойдет?
Код:
#include <iostream>
#include <cstdlib>
using namespace std;

int main()
{

int n, smax=0, smin=200, Summa;

do
{
system("cls");
cout << "Vvedite kol-vo elementov massiva: ";
cin >> n;
}while(n<=0);


int *mas = new int[n];
for(int i=0; i<n; i++)
{
    mas[i] = rand()%99;
    cout << mas[i] << "\t";
}


for(int i=0; i<(n-1); i++)
{
Summa = mas[i] + mas[i+1];
if(Summa > smax)
    smax = Summa;
if(Summa < smin)
    smin = Summa;
}
delete[] mas;


cout << "\nMax sum elementov: " << smax << "\nMin sum elementov: " << smin << "\n";
system("pause");
return 0;
}
Напишу программу на C++ и Asm для AVR. Черчение: sergeisky@yahoo.com.
Cuprum5 вне форума Ответить с цитированием
Старый 20.10.2019, 16:44   #3
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,575
По умолчанию

А функция-то так и не появилась... Все свершения - в главной программе.
ТС разочарован.
http://cppstudio.com/post/396/
digitalis вне форума Ответить с цитированием
Старый 20.10.2019, 19:31   #4
Cuprum5
Форумчанин
 
Регистрация: 09.05.2017
Сообщений: 744
По умолчанию

Код:
#include <iostream>
#include <cstdlib>
using namespace std;

struct Parameters
{
    int Min, Max;
} Rez;

void NahogdenieMinMax(int *M, int N)
{
    int Summa;

    Rez.Max = 0;
    Rez.Min = 200;
    for(int i=0; i<(N-1); i++)
    {
        Summa = M[i] + M[i+1];
        if(Summa > Rez.Max)
            Rez.Max = Summa;
        if(Summa < Rez.Min)
            Rez.Min = Summa;
    }
}

int main()
{
int n;

do
{
system("cls");
cout << "Vvedite kol-vo elementov massiva: ";
cin >> n;
}while(n<=0);

int *mas = new int[n];
for(int i=0; i<n; i++)
{
    mas[i] = rand()%99;
    cout << mas[i] << "\t";
}

NahogdenieMinMax(mas, n);
delete[] mas;

cout << "\nMax sum elementov: " << Rez.Max << "\nMin sum elementov: " << Rez.Min << "\n";
system("pause");
return 0;
}
Напишу программу на C++ и Asm для AVR. Черчение: sergeisky@yahoo.com.
Cuprum5 вне форума Ответить с цитированием
Старый 20.10.2019, 20:53   #5
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,575
По умолчанию

Уже лучше. Ну а кто сказал, что элементы только положительные ? Так что
Rez.Max = 0;
Rez.Min = 200; - это от лукавого. Вроде как стандартный прием для таких случаёв
Код:
    Rez.Max =  M[0] + M[1];
    Rez.Min = Rez.Max ;
    for(int i=1; i<(N-1); i++)

Последний раз редактировалось digitalis; 20.10.2019 в 20:55.
digitalis вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Delphi] Приложение для вычисления линейного уравнения вида ax+b=0. Всё готово, но требуется сделать "область отображения решения". Без понятия, как такое сделать. Помогите NikazZz Помощь студентам 2 17.04.2017 04:02
Помогите сделать сделать сортировку списка значений с кнопкой "Сортировка" Thunderbird11 Microsoft Office Excel 5 26.04.2016 18:01
Я сделал прогу, но мне сказали сделать 2 подпрограммы. Я чет не понял как сделать. Помогите, пожалуйста! kostyan199731 Паскаль, Turbo Pascal, PascalABC.NET 4 25.06.2015 17:00
Помогите сделать Sir.Pavlon Общие вопросы Delphi 1 04.06.2009 23:06
Помогите сделать... slim5 Помощь студентам 4 15.06.2008 21:47