Разбираюсь с массивами. Вот попробовал первое задание сделать. Прошу высказать замечания к моей программе.Задание взял с книги Павловской.
В одномерном массиве, состоящем из n целых вещественных чисел, вычислить:
1. сумму отрицательных чисел
2. произведение элементов массива, расположенным между максимальным и минимальным элементом массива.
3. Упорядочить массив по возрастанию
Для сортировки я использовал пузырьковую сортировку. Правда когда писал код по сортировке,я подглядывал в код реализации данного алгоритма сортировки. Такой подход к решению задач не страшен?
#include <iostream>
using namespace std;
double sumArray(double a[], int size)
{
double total = 0;
for (int i = 0; i < size; i++)
{
if (a[i] < 0)
{
total += a[i];
}
}
cout << "Sum is: " << total << endl;
return total;
}
double findMin(double b[], int size)
{
double min = b[0];
for (int j = 0; j < size; j++)
{
if (min > b[j])
{
min = b[j];
}
}
return min;
}
double findMax(double c[], int size)
{
double max = c[0];
for (int z = 0; z < size; z++)
{
if (max < c[z])
{
max = c[z];
}
}
return max;
}
double productArr(double d[], int size)
{
double product = 1;
for (int k = 0; k < size; k++)
{
if(d[k] >= findMin(d, size) && d[k] <= findMax(d, size))
{
product *= d[k];
}
}
cout << "Product is: " << product << endl;
return product;
}
void bubbleSort(double e[], int size)
{
int j;
for (int i = 0; i < size; i++)
{
for (j = 0; j < size - 1; j++)
{
if (e[j] > e[j + 1])
{
int temp = e[j + 1];
e[j + 1] = e[j];
e[j] = temp;
}
}
}
for (int h = 0; h < size; h++)
cout << "Sort :" << e[h] << endl;
}
int main()
{
const int N = 10;
double arr[N] = {2, -3, 5, -8, 9, 10 , -6, 4, -7, 6};
for (int i = 0; i < N; i++)
{
cout << arr[i] << ' ';
}
cout << "\n";
sumArray(arr, N);
productArr(arr, N);
bubbleSort(arr, N);
cin.ignore().get();
return 0;
}