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

Ошибки при выводе массива

29.06.2020, 00:26. Показов 1556. Ответов 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
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
#include <iostream>
#include <cmath>
 
using namespace std;
 
int main() {
    setlocale(LC_ALL, "Rus");
    cout << "Введите количество элементов" << endl;
    int c, count = 0, schet = 0, j = 0;
    float  sum = 0, min = 1000;
    cin >> c;
    float* arr = new float[c];
    float* arrone = new float[c];
    float* arrtwo = new float[c];
    cout << "Заполните массив числами : \n";
    for (int i = 0; i < c; i++)
    {
        cin >> arr[i];
    }
    for (int i = 0; i < c; i++)
    {
        if (arr[i] < min)
        {
            min = arr[i];
            count = i;
        }
    }
    for (int i = 0; i < c; i++)
    {
        if (arr[i] < 0) schet++;
        if (schet == 2) break;
        if (arr[i] >= 0 && schet == 1)
            sum += arr[i];
    }
    for (int i = 0; i < c; i++)
    {
        if (abs(arr[i]) <= 1)
        {
            arrone[i] = arr[i];
        }
    }
    for (int i = 0; i < c; i++)
    {
        if (abs(arr[i]) > 1)
        {
            arrtwo[i] = arr[i];
        }
    }
    for (int i = 0; i < c/2; i++)
    {
        arr[j++] = arrone[i];
        arr[j++] = arrtwo[i];
    }
    for (int i = 0; i < c; i++)
    {
        cout << arr[i] << endl;
    }
    cout << "Минимальный элемент массива " << min << endl << "Номер минимального элемента массива " << count << endl << "Сумма между 1 и 2 отрицательными элементами  " << sum;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.06.2020, 00:26
Ответы с готовыми решениями:

Ошибки при выводе информации о поезде
САSE 7 должен выдавать по номеру поезда информацию о пункте назначения и времени прибытия,но она выдает это case 7: list =...

Ошибки компиляции при наследовании и выводе размера класса
Здравствуйте, представленный ниже код должен в результате своей работы выводит размер классов CDevice и CMonitor но при оторажение кода...

Появление ошибки при выводе формы dll, написанной на с++, к с# проекту
В настоящее время решаю проблему подключения библиотеки dll, написанной на плюшном с, к с# проекту. Библиотека написана правильно,...

3
458 / 294 / 191
Регистрация: 23.06.2018
Сообщений: 678
29.06.2020, 01:08
Было бы неплохо услышать ещё задание и возможно пример входных данных.
Цитата Сообщение от KleyMoment Посмотреть сообщение
min = 1000;
Не работает, если все элементы больше 1000. Просто поставьте min = arr[0]; перед поиском минимального элемента.

Также не удалили массивы в конце.

Я не уверен, что у вас по заданию, но даже если вы уверены, что у вас всегда чётное кол-во элементов и половина из них по модулю меньше единицы - копировать надо явно по другому.
C++
1
2
3
4
5
6
7
8
j = 0;
for (int i = 0; i < c; i++)
{
    if (abs(arr[i]) <= 1)
    {
        arrone[j++] = arr[i];
    }
}
То же самое для другого массива.
0
0 / 0 / 0
Регистрация: 12.12.2019
Сообщений: 11
29.06.2020, 02:30  [ТС]
Задание такое
В одномерном массиве, состоящем из п вещественных элементов, вычислить:
1) номер минимального элемента массива;
2) сумму элементов массива, расположенных между первым и вторым отрицательными элементами.
Преобразовать массив таким образом, чтобы сначала располагались все элементы, модуль которых не превышает 1, а потом — все остальные
Входные данные это любые вещественные и целые числа.
Ниже прикрепил вывод массива.
что нужно сделать?
Миниатюры
Ошибки при выводе массива  
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
29.06.2020, 03:46
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
#include <iostream> 
#include <cmath>
 
using namespace std;
 
int main() 
{
    int n, k=0, p=0, index1=0, index2=0, number=0;
    cout << "n="; cin >> n;    
    
    double *a = new double[n], min=0., sum=0.;
    
    cout << "Enter " << n << " numbers:\n";
    for (int i = 0; i < n; i++)
    {
        cin >> a[i];
        if(a[i]<0.)
            {
                k++;
                if(k==1) index1=i;
                else if (k==2) index2=i;
            }    
        if(i==0 || a[i]<min) {min=a[i];number=i+1;}
    }
    cout << "number min = " << number << "\n"; 
    
    if (k==0) cout << "Negative numbers are absent\n";
    else if (k==1) cout << "One negative number\n";
    else if (index1==index2-1) cout << "Numbers between the first and second negative number are absent\n";
    else
    {    
        for (int i = index1+1; i < index2; i++)    
            sum+=a[i];
        cout << "local sum = " << sum << "\n";    
    }       
    
    for (int i = 0; i < n; i++)
        if (fabs(a[i])<=1.) 
        {
            for (int j = i; j > p; j--)  
            swap(a[j],a[j-1]);
            p++;
        }         
       
    for (int i = 0; i < n; i++)
        cout << a[i] << " ";
        cout << "\n";
    delete[]a;
system("pause");
return 0;
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.06.2020, 03:46
Помогаю со студенческими работами здесь

Мусор при выводе массива
Дано два динамических массива одинаковой размерности. Нужно вывести массив с одинаковыми элементами этих массивов. В итоге делает...

Мусор при выводе массива
Почему выводит мусор? Выводить отдельным циклом? #include&lt;iostream&gt; using namespace std; int main() { const int l = 3, r = 4; ...

Ошибка при выводе двумерного массива
Ребят помогите решить проблему с массивом. Вот задание: Дан целочисленный массив X. Заменить в нем все элементы меньше 5 числом 111. ...

При выводе массива, выводит мусор
Програмка генератор паролей! #include&lt;iostream&gt; #include&lt;time.h&gt; #include&lt;conio.h&gt; using namespace std; void...

Ошибка при выводе динамического массива
Здравствуйте! Я создаю динамический массив, заполняю его и при выводе вылетает ошибка &quot;program.exe has stopped working&quot;. ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru