Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 23.04.2015
Сообщений: 11

Вычислить минимальные и максимальные значения в массиве и значение выражения с ними

04.02.2018, 01:13. Показов 832. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток! Имеется такая задача:

Даны натуральные числа n, m. Целые числа a1...an, b1...bn, c1...c30. Получить


Так как математик из меня никудышный, я не сразу понял что от меня хотят. В предоставленной методичке описывались процедуры и функции паскаля, из чего можно сделать вывод что решать эту задачу следует именно с помощью них.

Я наметил примерный план алгоритма решения:
сперва нужно сделать функцию или процедуру которая при вызове, будет заполнять эти массивы значениями
входное значение по идее должно содержать длину массива. (я думал что еще букву массива, типа вписал имя, вписал длину и на тебе массив готовый, но для меня это оказалось слишком сложно)

дальше проще - сделать функцию нахождения минимального члена и функцию нахождения максимального члена массивов.
на входе массив, на выходе минимальное, максимальное значение

далее условие и арифметические операции вычисляющие L.

ну в общем на первом пункте я и застрял. В голове каша. Объявляю динамический массив, пытаюсь применить к нему процедуру,
делаю это не правильно и получаю странные значения на выходе

а, вроде получилось наконец то, опять пока писал пост, додумал решение. С остальным я скорее всего справлюсь, но на всякий случай запосчу, может кто то подскажет более лучший вариант, и я знаю что это наверняка кому то пригодится:

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 "stdafx.h"   //не спрашивайте зачем лишние библиотеки я их просто копирую и вставляю от лабораторной 
#include "iostream"  //к лабораторной.
#include "iomanip"
#include "conio.h"
#include <Windows.h>
using namespace std;
 
void massive(int* x, int k)
{
    int i;
    for (i = 0; i < k; i++) {                           // Заполнение массива и вывод значений его элементов
        x[i] = i;
        cout << "Значение " << i << " элемента равно " << x[i] << endl;
    } // очистка памяти
}
 
 
int _tmain(int argc, _TCHAR* argv[])
{   SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
     int n, m; //задаем длину массивов
 
     cout<<"Введите n, m\n";
     cin>>n;                        //пока читаем только n
     cout<<"массив a\n";
     int *a = new int[n];
     massive(a,n);
     cout<<a[n-1]; //допустим хочу видеть nй член массива
                               //потом когда нибудь память освобожу
     getch();
    return 0;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.02.2018, 01:13
Ответы с готовыми решениями:

Найти максимальные и минимальные элементы в каждом массиве, их индексы, количество элементов между ними
Помогите плиз(( 1.Даны два массива по 20 элементов. Найти максимальные и минимальные элементы в каждом массиве, их индексы, количество...

Минимальные и максимальные значения в массиве
Люди, я начинающий пользователь С++. Помогите с задачей: Задан вектор x. Найти наименьший из положительных элементов вектора и наибольший...

Вывести максимальные и минимальные значения в массиве
Да, я знаю, это легко, но я многое упустил в университете по состоянию здоровья и теперь борюсь с экзаменом. Задача такая: Дан...

4
 Аватар для Hitoku
1755 / 1347 / 1407
Регистрация: 28.10.2016
Сообщений: 4,267
04.02.2018, 11:27
Как вариант:
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
#include <iostream>
#include <string>
#include <vector>
#include <random>
#include <iterator>
#include <algorithm>
 
void PrintVector(std::vector<int> a, char c) {
    std::cout << "Массив " << c << ": ";
    std::copy(a.begin(), a.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << "\n";
}
 
void RandomVector(std::vector<int> &a) {
    std::default_random_engine gen{ std::random_device()() };
    std::uniform_int_distribution<> dist(-20, 20);
    std::generate(a.begin(), a.end(), [&dist, &gen] {return dist(gen); });
}
 
int MaxElem(std::vector<int> a) { return *std::max_element(a.begin(), a.end()); }
int MinElem(std::vector<int> a) { return *std::min_element(a.begin(), a.end()); }
 
int main()
{
    setlocale(LC_ALL, "rus");
    std::size_t n, m; std::cout << "N, M = "; std::cin >> n >> m;
    std::vector<int> a(n), b(m), c(30);
    RandomVector(a); RandomVector(b); RandomVector(c);
    PrintVector(a, 'A'); PrintVector(b, 'B'); PrintVector(c, 'C');
    if (std::abs(MinElem(a)) > 10)
        std::cout << "l = " << MinElem(b) + MinElem(c) << "\n";
    else
        std::cout << "l = " << 1 + MaxElem(c)*MaxElem(c) << "\n";
    system("pause");
}
1
0 / 0 / 0
Регистрация: 23.04.2015
Сообщений: 11
04.02.2018, 11:54  [ТС]
А какие системные требования нужны для вашей программы?
А то на моем c++98 и ms visual studio 2010 она выдает безмерное количество ошибок при компиляции))
0
 Аватар для Hitoku
1755 / 1347 / 1407
Регистрация: 28.10.2016
Сообщений: 4,267
04.02.2018, 12:22
IKEFERI, писал в Visual Studio 2017
1
0 / 0 / 0
Регистрация: 23.04.2015
Сообщений: 11
04.02.2018, 15:00  [ТС]
Я сделяль! Пусть тут будет удобоваримое решение для новичка без векторов всяких и прочих удобных плюшек новых версий c++.
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
//Даны натуральные числа  , целые числа 
 
#include "stdafx.h"
#include "iostream"
#include "iomanip"
#include "conio.h"
#include "cmath"
#include <Windows.h>
using namespace std;
 
int rrand(int range_min, int range_max) {
    return rand() % (range_max - range_min + 1) + range_min;
}
 
 
void massive(int* x, int k, char j)
{
    cout<<"Массив "<<j<<":\n";
    srand(static_cast<unsigned int>(time(NULL)));
    int i,r=100;
    for (i = 0; i < k; i++) {                           // Заполнение массива и вывод значений его элементов
        x[i] = rrand(-r,r);
        cout << "Значение " << i << " элемента равно " << x[i] << endl;
    }
}
 
int min_x(int* x, int k)
{
    int min = x[0];//массива в переменные
    for(int r = 1; r<k; r++)
    {
        if(min > x[r]) min = x[r]; //аналогично и для min
    }
    return min;
}
int max_x(int* x, int k)
{
    int max = x[0];//Помещаем значения 1-го элемента
    for(int r = 1; r<k; r++)
    {
        if(max < x[r]) max = x[r]; //если значение элемента больше значения переменной max, то записываем это значение в переменную
    }
    return max;
}
 
 
int _tmain(int argc, _TCHAR* argv[])
{   SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
     int n, m; //задаем длину массивов
 
     cout<<"Введите n, m\n";
     cin>>n>>m;                     
     int *a = new int[n];
     int *b = new int[m];
     int *c = new int[30];
     massive(a,n,'a');
     massive(b,m,'b');
     massive(c,30,'c');
 
    if (abs(min_x(a, n)) > 10)
        cout << "\nl = " << min_x(b, m) + min_x(c, 30) << "\n";
    else
        cout << "\nl = " << 1 + powf(max_x(c, 30),2)<< "\n";
 
 
     getch();
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.02.2018, 15:00
Помогаю со студенческими работами здесь

Вычислить значения функции в указанных точках и найти максимальные и минимальные из этих значений
Собственно задача есть. Писал такое: // ConsoleApplication2.cpp: определяет точку входа для консольного приложения. // #include...

Массивы. Найти максимальные и минимальные значения. В строках, где находятся искомые значения все значения обратить в ноль и вернуть номер строки
Всем привет! Вот такая задачка: Ввести двумерный массив 5х6. Найти максимальные и минимальные значения. В строках, где находятся искомые...

Минимальные и максимальные значения
Требуется помощь, я никак не могу создать данную программу, вечно выходят ошибки или она не корректно работает. Нужно реализовать...

Замена в одномерном массиве максимальные на минимальные элементы
Написать программу, заменяющую в одномерном массиве максимальные элементы на минимальные, а минимальные на максимальные. При вводе/выводе...

Поменять местами максимальные и минимальные элементы в массиве
Суть задачи сводится к генерации массива размером 7 на 10, его заполнения случайными числами. Далее нужно найти максимальное и минимальное...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru