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

Вычислить минимальный элемент массива

23.11.2015, 00:34. Показов 2124. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем!! Здесь нужна ваша помощь ребята!!

В одномерном массиве, состоящем из п целочисленных элементов, вычислить:
1) минимальный элемент массива;
2) сумму элементов массива, расположенных между первым и последним положительными элементами; 3)Преобразовать массив таким образом, чтобы сначала располагались все элементы, равные нулю, а потом — все остальные.

Надо чтобы было меню, Во втором меню варианте "2) Automatic element input: " надо чтобы пользователь задал диапазон масива и все пошло автоматом.Как ето сделать?

Часть Кода я написал, но где то ошибки и дальше никак неполучаетса Спасибо за помощь!!!!!


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
#include <stdio.h>
#include <iostream>
using namespace std;
 
 
int main()
{
    int option, ret, i,sum=0,last,first, buffer = 0;
    cout << "Enter Your choise: " << endl << endl;
    cout << "1) Manual element input: " << endl << endl;
    cout << "2) Automatic element input: " << endl;
    cout << ">>> ";
    cin >> option;
 
    if (option == 1)
    {
        int n;
        cout << "Enter array element cout: ";
        cin >> n;
        int * mass = new int[n];
        for (int i = 0; i < n; i++)
        {
            cout << "Enter element :" << i + 1 << endl;
            cin >> mass[i];
        }
        ret = mass[0];
        for (int i = 0; i < n; i++)
        {
            if (mass[i] < ret)
                ret = mass[i];
            cout << "Minimal element in array Is: " << ret << endl;
            break;
        }
        cout << endl;
        for (int i = 0; i < n; i++)
        {
            if (mass[i] >= 0)
                first = i;
            break;
        }
        for (int i = n; i >= 0; i--)
        {
            if (mass[i] >= 0)
                last = i;
            break;
        }
        for (int i = first; i <= last; i++)
        {
            sum += mass[i];
            cout << "Count sum between first and last pozitive elements: " << sum << endl;
            break;
            for (int i = 0; i < n; i++)
            {
                if (mass[i] > mass[i + 1])
                {
                    buffer = mass[i];
                    mass[i] = mass[i + 1];
                    mass[i + 1] = buffer;
                    cout << "Array after sorting: " << endl;
                    break;
                }
 
                delete[] mass;
                cout << endl;
                return 0;
            }
        }
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.11.2015, 00:34
Ответы с готовыми решениями:

В одномерном массиве, состоящем из n элементов массива, вычислить минимальный элемент массива
помогите

Массивы. Вычислить минимальный элемент массива, сумму элементов массива, преобразовать массив
При написании программ использовать динамические массивы. Размерность массивов задаётся именованной константой. Задача 2. В...

Вычислить минимальный элемент массива
Вечер добрый.Имеется две задачи:. В одномерном массиве, состоящем из n вещественных элементов вычислить минимальный элемент массива. ...

19
48 / 48 / 6
Регистрация: 24.12.2009
Сообщений: 532
23.11.2015, 01:21
Лучший ответ Сообщение было отмечено tezaurismosis как решение

Решение

Цитата Сообщение от JoeSidorov Посмотреть сообщение
Во втором меню варианте "2) Automatic element input: " надо чтобы пользователь задал диапазон масива
Ну может как-то так:
C++ (Qt)
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
#include <iostream>
using namespace std;
 
int main()
{
    int option, firstEl, secondEl, sumEl;
 
    cout << "2) automatic input" << endl;
    cin >> option;
 
    if(option)
    {
        cout << "Input first element" << endl;
        cin >> firstEl;
        cout << "Input second element" << endl;
        cin >> secondEl;
    }
 
    sumEl= secondEl-firstEl;
 
    int *masss = new int[sumEl];
 
    for(int i = firstEl; i< secondEl; i++)
    {
        masss[i] = i;
        cout << masss[i] << endl;
    }
 
    delete[] masss;
    return 0;
}
0
0 / 0 / 0
Регистрация: 06.11.2015
Сообщений: 63
23.11.2015, 11:04  [ТС]
Почему невыполняется второй и третьий пункт после if (option == 1) ? выдает ошибки
0
48 / 48 / 6
Регистрация: 24.12.2009
Сообщений: 532
23.11.2015, 11:24
Цитата Сообщение от JoeSidorov Посмотреть сообщение
выдает ошибки
Где ?
Миниатюры
Вычислить минимальный элемент массива  
0
0 / 0 / 0
Регистрация: 06.11.2015
Сообщений: 63
23.11.2015, 13:13  [ТС]
Если задат 5 чисел
Миниатюры
Вычислить минимальный элемент массива  
0
48 / 48 / 6
Регистрация: 24.12.2009
Сообщений: 532
23.11.2015, 13:23
У меня не выдает . Я вроде задал 5, как у вас.
Миниатюры
Вычислить минимальный элемент массива  
0
0 / 0 / 0
Регистрация: 06.11.2015
Сообщений: 63
23.11.2015, 13:51  [ТС]
чего то Сумми нет
0
0 / 0 / 0
Регистрация: 06.11.2015
Сообщений: 63
16.12.2015, 22:43  [ТС]
В одномерном массиве, состоящем из вещественныx числаx, вычислить: 1) минимальный элемент массива; 2) сумму элементов массива, расположенных между первым и последним положительными элементами. Преобразовать массив таким образом, чтобы сначала располагались все элементы, равные нулю, а потом — все остальные.

Добавлено через 4 минуты
Наверно int на double ?
C++
1
2
double *arr = new double[n];
double min = arr[0];
Добавлено через 31 минуту
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
#include <iostream>
#include <stdlib.h> 
#include <iomanip>
#include <time.h> 
 
using namespace std;
 
int main()
{
    int option, n, i, j, sum, min, first_diap, end_diap;
    cout << endl << "Enter element count: ";
    cin >> n;
    cout << endl << "Enter Your Choice: " << endl << endl;
    cout << "If you want to enter data yourself, Enter 1 " << endl << endl;
    cout << "If you want to have data automatically, Enter 2 " << endl;
    cout << ">>> ";
    cin >> option;
 
    float *arr = new float[n];
 
    if (option == 1) {
        for (i = 0; i < n; i++) {
            cout << "arr[" << i << "]=";
            cin >> arr[i];
        }
    }
    else if (option == 2) {
        cout << "Enter lower diapason: ";
        cin >> first_diap;
        cout << endl << "Enter higher diapason: ";
        cin >> end_diap;
        srand(time(NULL));
        for (int i = 0; i < n; i++) {
 
            arr[i] = rand() % (end_diap - first_diap + 1) + first_diap;
 
            cout << arr[i] << " ";
        }
    }
    float min = arr[0];
    for (i = 0; i < n; i++) {
        if (arr[i] < min) {
            min = arr[i];
        }
    }
    cout << "Minimal element in array: " << min << endl;
    {
        for (j = n - 1; j >= 0 && arr[j] <= 0; j--)
            ;
        if ((arr[j]>0) && (--j>i))
            while (j>i)
            {
 
                sum += arr[j--];
            }
    }
    cout << "Count sum between first and last pozitive elements: " << sum << endl;
 
for (i = j = n - 1; i >= 0; --i)
    {
        if (arr[i] != 0)
        {
            if (i != j)
                arr[j] = arr[i];
            --j;
        }
    }
    for (i = 0; i <= j; i++)
        arr[i] = 0;
 
 
    cout << endl;
    cout << "New array=" << endl;
    for (i = 0; i < n; i++)
    {
        cout << arr[i] << " ";
    }
    delete[] arr;
    return 0;
}
Как исправить?
0
0 / 0 / 0
Регистрация: 06.11.2015
Сообщений: 63
16.12.2015, 22:45  [ТС]
0
8 / 8 / 7
Регистрация: 28.10.2014
Сообщений: 176
16.12.2015, 22:51
Не стоит пытаться обмануть нас - код не Ваш. Вообще, задача простая, и я советовал бы Вам самим в ней разобраться. А уже если что-то конкретно не понятно, можете и спросить. Если мы напишем задачу за Вас, Вам это вряд ли поможет в дальнейшем.
0
 Аватар для _Valera_
495 / 377 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
22.12.2015, 01:08
Цитата Сообщение от JoeSidorov Посмотреть сообщение
Где ошибка в коде? (вещественные числа).Спасибо!
у тебя в массиве нет положительных элементов, поставь положительных, может он и работает
0
0 / 0 / 0
Регистрация: 06.11.2015
Сообщений: 63
22.12.2015, 01:26  [ТС]
неработает всё-таки
Миниатюры
Вычислить минимальный элемент массива  
0
 Аватар для _Valera_
495 / 377 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
22.12.2015, 01:53
не знаю что там у тебя, но так должно работать.
C++
1
2
3
4
5
6
7
8
9
10
11
for(int i=0;i<n;++i)
  if(arr[i] >= 0)
     for(int j=i+1;j<n;++j)
    {
        if(arr[j] < 0)
        {
            i = n;
            break;
        }
       sum += arr[j];
     }
0
0 / 0 / 0
Регистрация: 06.11.2015
Сообщений: 63
22.12.2015, 02:46  [ТС]
ничего непоменялось

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
cout << "Minimal element in array: " << min << endl;
    {
        for (int i = 0; i < n; ++i)
            if (arr[i] >= 0)
                for (int j = i + 1; j < n; ++j)
                {
                    if (arr[j] < 0)
                    {
                        i = n;
                        break;
                    }
                    sum += arr[j];
                }
    }
    cout << "Count sum between first and last pozitive elements: " << sum << endl;
Миниатюры
Вычислить минимальный элемент массива  
0
 Аватар для _Valera_
495 / 377 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
22.12.2015, 02:52
Цитата Сообщение от JoeSidorov Посмотреть сообщение
ничего непоменялось
у меня работает, но маленькая поправка:
C++
1
2
3
4
5
6
7
8
9
10
11
for(int i=0;i<n;++i)
  if(arr[i] >= 0)
     for(int j=i;j<n;++j)
    {
        if(arr[j] < 0)
        {
            i = n;
            break;
        }
       sum += arr[j];
     }
Миниатюры
Вычислить минимальный элемент массива  
0
0 / 0 / 0
Регистрация: 06.11.2015
Сообщений: 63
22.12.2015, 03:01  [ТС]
а если вещественные числа Например 3,2
0
 Аватар для _Valera_
495 / 377 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
22.12.2015, 23:45
Лучший ответ Сообщение было отмечено tezaurismosis как решение

Решение

признаю, моя ошибка....
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
for (int i = 0; i<n; ++i)
            if (arr[i] < 0)
            {
                sum = arr[i];
                for (int j = i+1; j<n; ++j)
                {
                    if (arr[j] >= 0)
                    {
                        i = n;
                        break;
                    }
                    sum += arr[j];
                    cout<<i<<"  "<<sum<<endl;
                }
            }
Миниатюры
Вычислить минимальный элемент массива  
0
0 / 0 / 0
Регистрация: 06.11.2015
Сообщений: 63
22.12.2015, 23:54  [ТС]
Спасибо Valera!!!
0
0 / 0 / 0
Регистрация: 06.11.2015
Сообщений: 63
24.12.2015, 10:12  [ТС]
Блок-схеми ok?
Миниатюры
Вычислить минимальный элемент массива   Вычислить минимальный элемент массива   Вычислить минимальный элемент массива  

0
 Аватар для _Valera_
495 / 377 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
24.12.2015, 14:23
Цитата Сообщение от JoeSidorov Посмотреть сообщение
Блок-схеми ok?
хз, я никогда не рисовал.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.12.2015, 14:23
Помогаю со студенческими работами здесь

Вычислить минимальный элемент массива
В одномерном массиве, состоящем из действительных элементов, вычислить минимальный элемент массива;

Вычислить минимальный по модулю элемент массива
В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1.минимальный по модулю элемент массива; 2.сумму модулей...

Вычислить минимальный по модулю элемент массива
В одномерном массиве , состоящем из n целых элементов , вычислить : 1. минимальный по модулю элемент массива ; 2. сумму модулей...

Вычислить минимальный элемент одномерного массива
В одномерном массиве, состоящем из N действительных элементов, вычислить: n минимальный элемент массива; n сумму элементов массива,...

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


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Ниже машинный перевод статьи The Thinkpad X220 Tablet is the best budget school laptop period . Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы,. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru