Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/18: Рейтинг темы: голосов - 18, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 02.10.2018
Сообщений: 64
1

Вывести все положительные элементы массива, следующие за отрицательным (нужны комментарии)

07.12.2018, 16:55. Показов 3252. Ответов 1

Author24 — интернет-сервис помощи студентам
Помогите пожалуйста, нужно пояснить каждую строчку в коде. будьте так добры, помогите)
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 <iostream>
const int dim = 10;
using namespace std;
bool ret_res(float *a, int len, int *index)
{
    *index = 0;
    for (int i = 0; i<len; i++)
        if (a[i]<0.)
        {
            *index = i + 1;
            break;
        }
 
    if (*index) return 1;
    return 0;
}
 
int main()
{
    float arr[dim] = { 0.55, 2.44, -1.33, 3.45, 0.55, -3.44, 1.56, -0.55, 11, 3.45 };
    int ind;
    if (ret_res(arr, dim, &ind))
    {
        for (int i = ind; i<dim; i++)
            cout << arr[i] << endl;
        cout << dim - ind << endl;
    }
    else cout << "Not negatives" << endl;
    system("pause");
}
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.12.2018, 16:55
Ответы с готовыми решениями:

Возвести в квадрат все элементы массива, следующие за первым отрицательным
Дан одномерный ряд на 15 элементов. Возвести в квадрат все компоненты, следующие за первой...

Все элементы массива, следующие за первым отрицательным, увеличить на заданное число P
Здравствуйте, задача такая: Даны натуральное число N и действительные числа A1,А2,…АN. Все элементы...

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

Описать процедуру, по которой все положительные элементы одномерного массива размещаются перед отрицательным
1. Описать процедуру, по которой все положительные элементы одномерного массива размещаются перед...

1
6 / 5 / 3
Регистрация: 05.05.2011
Сообщений: 38
07.12.2018, 17:57 2
Лучший ответ Сообщение было отмечено phoenix_mgn как решение

Решение

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
#include <iostream> // подключение заголовочный файл стандартного потока ввода вывода
const int dim = 10; // константная переменная, количество элементов в массиве
using namespace std; // использование в программе пространство имен std, чтобы не писать std::cout, а просто cout
bool ret_res(float *a, int len, int *index) //обьявление функцию с тремя параметрами на входе: 1-указатель на тип float для передачи указателя на первый элемент массива; 2-длинна миссива;3-указатель на переменную счетчик после которой выводить элементы
{
    *index = 0; // разыменование указателя и инициализирование переменной нулем
    for (int i = 0; i<len; i++)//объявление цикла, цикл выполняется пока переменная i меньше длинны массива, каждый новый цикл переменная i увеличивается на 1
        if (a[i]<0.)// это тело цикла, в нем прописано условие если элемент массива a меньше 0 выполняется то что написано в скобках
        {
            *index = i + 1;//внешней по отношению к функции ret_res переменной присвоить номер счетчика i(по сути это номер элемента следующий за отрицательным) увеличенный на 1
            break;//прекращение работы цикла, даже если условие i<len возвращает true
        }
 
    if (*index) return 1;//условие срабатывает если в разыменованном указателе на переменную есть какое то значение отличное от 0, в этом случае фун-я возвращает 1 и все что ниже не выполняется
    return 0;//если условие не выполнилось *index == 0, фун-я возвращает 0 - тоесть в массиве нет нулевых элементов 
}
 
int main()// главная ф-ия выполнения программы
{
    float arr[dim] = { 0.55, 2.44, -1.33, 3.45, 0.55, -3.44, 1.56, -0.55, 11, 3.45 };//объявление массива вещественных чисел с последующей его инициализацией значениями
    int ind;// объявление переменной счетчика для предачи в функцию 
    if (ret_res(arr, dim, &ind))//в условии вызывается ф-ия в которую передается ссылка на массив(не весь массив, а только ссылка на первый элемент), размер массива, и переменная счетчик.
    {               //в зависимости от того какое значение вернет ф-я выполнется эта часть кода, 1 выполняетя, 0 не выполняется;  1 есть отрицательный элемент, 0 нет отрицательного элемента соответственно
        for (int i = ind; i<dim; i++)// объявляется цикл который будет считать начиная с i=ind - номер элемента стоящий после отрицательного элемента до того как условие i<dim будет отрицательным тоесть досчитает до конца массива
            cout << arr[i] << endl; //каждый цикл выводит в стандартный поток ввода вывода элементы массива с перносом на след строку (endl)
        cout << dim - ind << endl;//после выполнения цикла выводится количество элементов после отрицательного, зная размер массива dim вычетается количество элементов до первого отрицательного  ind получается количество после 
    }
    else cout << "Not negatives" << endl;//если нет отрицательных элементво вывод сообщения информации - Нет отрицательных
    system("pause");//системный вызов останова программы, ожидает нажатия клавиши
0
07.12.2018, 17:57
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.12.2018, 17:57
Помогаю со студенческими работами здесь

Все элементы массива уменьшить на число А (нужны комментарии)
Условие задачи звучит так: Дан массив. Все его элементы: уменьшить на число А Помогите разобрать...

Вывести элементы массива на промежутке [ a,b ], вычислить количество элементов массива, заменить все положительные элементы
В одномерном массиве, состоящем из n вещественных элементов, – вывести на печать элементы массива,...

Вывести сначала все положительные элементы массива, затем все отрицательные
Вывести сначала все положительные элементы массива, затем все отрицательные помогите с кодом...

Вывести сначала все положительные элементы массива, затем все отрицательные
Всем привет уважаемые. Нуждаюсь в помощи, помогите кто сможет. Вообщем вот в чём вопрос: Как...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Обработка графической информации
hw_wired 28.01.2025
Введение в компьютерную графику Компьютерная графика стала неотъемлемой частью современного цифрового мира, пройдя впечатляющий путь развития от простейших черно-белых изображений до сложных. . .
Python в Алгоритмике: Решение задач
hw_wired 28.01.2025
Введение в Python и Алгоритмику В современном мире программирование стало неотъемлемой частью образования и профессионального развития. Python зарекомендовал себя как один из самых популярных и. . .
Компьютер как универсальное устройство для работы с информацией
hw_wired 28.01.2025
Введение в устройство компьютера Компьютер представляет собой универсальное электронное устройство, предназначенное для автоматической обработки информации. В современном мире компьютер стал. . .
Информация и информационные процессы
hw_wired 28.01.2025
Понятие информации и ее виды В современном мире информация является одним из фундаментальных понятий, пронизывающих все сферы человеческой деятельности. Под информацией понимают любые сведения об. . .
Алгоритмика
hw_wired 28.01.2025
Введение: Основы алгоритмики и её роль в информатике В современном мире программирование и алгоритмическое мышление стали неотъемлемой частью образования и профессиональной деятельности. . . .
Информационное моделирование
hw_wired 28.01.2025
Введение в информационное моделирование В современном мире информационное моделирование стало неотъемлемой частью научной, образовательной и профессиональной деятельности. Это мощный инструмент. . .
Объекты и их имена
hw_wired 28.01.2025
Введение: Основы объектного подхода и их роль в информатике В современном мире информационных технологий объектный подход стал фундаментальным принципом организации и обработки информации. Этот. . .
Элементы алгоритмизации
hw_wired 28.01.2025
Основы алгоритмизации В современном мире алгоритмы играют фундаментальную роль в развитии информационных технологий и программирования. Понимание основ алгоритмизации является ключевым элементом в. . .
Человек и информация
hw_wired 28.01.2025
Введение: роль информации в познании мира В современном мире информация играет фундаментальную роль в процессе познания окружающей действительности. Она представляет собой совокупность сведений об. . .
Компьютер и информация
hw_wired 28.01.2025
Эволюция вычислительных машин История развития вычислительной техники начинается задолго до появления первых электронных устройств. Человечество всегда стремилось упростить процесс вычислений и. . .
Информационные технологии
hw_wired 28.01.2025
Введение в современные технологии работы с информацией В современном мире информационные технологии стали неотъемлемой частью практически всех сфер человеческой деятельности. Они существенно. . .
Информация вокруг нас
hw_wired 28.01.2025
Основные понятия информации В современном мире понятие информации является фундаментальным и охватывает практически все сферы человеческой деятельности. Информация представляет собой совокупность. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru