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

Поиск отрицательных чисел массива

26.12.2016, 20:47. Показов 1016. Ответов 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
42
43
44
45
46
#include <iostream>
#include <stdlib.h>
#include <ctime>
using namespace std;
int const n = 5;
int main() {
    int n;
    setlocale (0, "rus");
    std::cout << "Введите размер массива: ";
    std::cin >> n;
    float *vect = new float[n];
    srand (time (0));
    for (int i = 0; i<n; i++)
        vect[i] = (rand() % 20) / (10 * 1.0) - 7 / (10 * 1.0);
    for (int i = 0; i<n; i++)
        std::cout << vect[i] << " ";
    int min = 0;
    int m;
    int kol = 0, firstNeg, nextNeg;
    if (vect[0]<0) {
        kol++;
        firstNeg = 0;
}
    for (int i = 1; i<n; i++){
        if (vect[min]>vect[i]) min = i;
        if ((vect[i]<0) && kol<1) { firstNeg = i; kol++; i++; }
        if ((vect[i]<0) && kol<2) { nextNeg = i; kol++; }
        else {
            std::cout << "1) Номер минимального элемента равен " << min << std::endl;
            std::cout << "2) Недостаточно отрицательных элементов"<< std::endl;
            cin.get();
            cin.get();
            return 0; // какого хрена он не читает дальше, обрывает на этом моменте и всё?
        }
    }
    std::cout << std::endl;
float sum = 0;
for (int i = firstNeg + 1; i<nextNeg; i++)
sum += vect[i];
std::cout << "1) Номер минимального элемента равен " << min << std::endl;
std::cout << "2) Сумма элементов массива между первым и вторым отрицательными элементами равен" << sum << std::endl;
        delete[] vect;
cin.get();
cin.get();
return 0;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.12.2016, 20:47
Ответы с готовыми решениями:

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

Поиск отрицательных чисел
Добрый вечер, помогите с задачкой. Ввести с клавиатуры и напечатать модули N чисел; если введено отрицательное число, ввод и печать...

Поиск отрицательных чисел в массиве
помогите пожалуйста, нужно из массива A вывести на экран все отрицательные числа если есть возможность, попробовать объяснить программу

5
 Аватар для Zazy
47 / 47 / 23
Регистрация: 14.04.2013
Сообщений: 188
26.12.2016, 20:55
return - выход из функции, вам нужен break.
0
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,816
26.12.2016, 20:55
Цитата Сообщение от CrisPERPa Посмотреть сообщение
// какого хрена он не читает дальше, обрывает на этом моменте и всё?
А чего, собственно, хотелось добиться, при написании в этом месте return 0? Сейчас программа делает ровно то, что ей было сказано: выходит из функции main. А это и есть завершение программы.
0
0 / 0 / 0
Регистрация: 05.12.2016
Сообщений: 2
26.12.2016, 21:17  [ТС]
Добавлено через 6 минут
Дело не в этом. Я хочу, чтобы при наличии двух или одного отрицательного элемента он выдавал разные значения: если о или 1 - ошибка; если 2 - считает
0
1 / 1 / 3
Регистрация: 26.09.2016
Сообщений: 19
26.12.2016, 23:02
CrisPERPa, return 0 служит для возврата из функции. Очень грубо говоря она завершает программу. Удали строку 33 и все.
0
Модератор
Эксперт CЭксперт С++
 Аватар для sourcerer
5288 / 2376 / 342
Регистрация: 20.02.2013
Сообщений: 5,773
Записей в блоге: 20
30.12.2016, 22:31
 Комментарий модератора 
CrisPERPa, пожалуйста, прочитайте правила форума.
Особое внимание обратите на следующие пункты:

.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.12.2016, 22:31
Помогаю со студенческими работами здесь

Найти произведение всех положительных чисел массива, и количество отрицательных чисел
Помогите, пожалуйста, с заданием по с++. Найти произведение всех положительных чисел массива {a i}, где i=1,2,...,13, и подсчитать...

Найти сумму отрицательных чисел и количество положительных чисел массива с четными индексами
1) Дан массив чисел В. Найти сумму отрицательных чисел и количество положительных чисел массива с четными индексами.

Поиск количества отрицательных чисел главной диагонали матрицы
В матрице А6,6 найти произведение количества отрицательных чисел главной диагонали и количества положительных чисел 1-столбца. Суть...

Поиск суммы положительных и отрицательных элементов массива
Программисты очень прошу вашей помощи в задании, без вас ни как ! заранее большое спасибо ! Элементы одномерного массива задать...

Поиск максимального среди отрицательных элементов одномерного массива
Доброго времени суток! Задача следующая: В массиве Х, содержащем 14 элементов, определить максимальный элемент среди отрицательных...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru