Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.06.2016, 21:18   #1
Narsky
Форумчанин
 
Регистрация: 21.06.2016
Сообщений: 109
По умолчанию Работа с одномерным массивом

Задача:
Цитата:
Тема: Одномерные массивы.
С одномерным массивом, состоящим из n вещественных элементов, произвести следующие операции:
1) найти количество элементов массива, меньших определенного числа, вводимого пользователем;
2) вычислить сумму целых частей элементов массива, расположенных после последнего отрицательного элемента;
3) преобразовать массив таким образом, чтобы сначала располагались все элементы, отличающиеся от максимального не более чем на 20%, а потом — все остальные.

Примечание: Размеры массивов задаются именованными константами. Все операции над массивами выполняются отдельными функциями в том порядке, в котором они описаны в задании. Элементы массивов задаются одним из двух способов: генерация случайным образом или ввод с клавиатуры. Способ заполнения массива выбирается пользователем (необходимо предусмотреть соответствующий запрос). При составлении программ, максимальное количество элементов в массиве задается с помощью макроопределения #define. Однако программа должна спрашивать у пользователя реальную размерность массива (в диапазоне от единицы до константы в макроопределении). Для программ этого раздела, использовать глобальные массивы запрещается. Выход индекса за пределы массива считается грубейшей ошибкой.
Код:
Цитата:
/*С одномерным массивом, состоящим из n вещественных элементов, произвести следующие операции:
1) вычислить произведение положительных элементов массива;
2) вычислить сумму элементов массива, расположенных до минимального элемента. При наличии нескольких минимальных элементов (равных друг другу) выбирается последний из них;
3) упорядочить по возрастанию отдельно элементы, стоящие на четных местах, и элементы, стоящие на нечетных местах.*/
#include <iostream>
#include <ctime>
using namespace std;

#define lenght 101

void kol_el(int kol, int array[lenght])
{
int kol_el = 0;
int a;
cout << "Введите число: " << endl;
cin >> a;

for (int i = 0; i < kol; i++)
{
if (array[i] < a)
kol_el = kol_el + array[i];
}
cout << "Количество элементов, меньших введенного вами числа: " << kol_el << endl;
}

void summa(int kol, int array[lenght])
{
int sum = 0;
for (int i = 0; i < kol; i++)
if (array[i] >= 0)
{
sum = sum + array[i];
}
else
{sum = 0};
}

void preobr(int kol, int array[lenght])
{
int max;
array[0] = max;
for (int i = 0; i < kol; i++)
if (array[i] > max) array[i] = max;
max = array[0];
for (int i = 0; i < kol; i++)
if (array[i] > 4/5*max)

}

int main(){
setlocale (LC_ALL, "Russian");
int kol, a, b;
int array[lenght];

system("pause");
for (int i = 0; i < lenght; i++)
array[i] = 0;

cout << "Введите количество элементов массива, но не более 100: " << endl;
cin >> kol;
if ((kol < 1) || (kol > 100)) cout << "Введено неверное количество элементов массива" << endl;
cout << "Как заполнять массив?" << endl << "1. Случайными числами" << endl << "2. Вы будете вводить свои значения" << endl << "Введите цифру: " << endl;
cin >> a;
switch (a) {
case '1': {
srand(time(NULL));
for (int j = 0; j < kol; j++)
array[j] = rand() % 200;} break;
case '2': {
for (int i = 0; i < kol; i++)
{
cout << "Введите " << i+1 << " элемент:" << endl;
cin >> array[i];
} break;
default:
{cout << "Ошибка! Нужно выбрать либо 1, либо 2" << endl;}
}
cout << "Ваш массив: " << endl;
for (int i = 0; i < kol; i++)
cout << array[i] << endl;

kol_el(kol, array);
summa(kol, array);
preobr(kol, array);

return 0;
}
Как в третьей функции сделать так, чтобы все элементы, удовлетворяющие условию, переместить в начало, после самого максимального элемента?
Narsky вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа с одномерным массивом anton6262906 Общие вопросы C/C++ 4 26.12.2011 20:20
Работа с одномерным массивом TvYown Помощь студентам 0 23.12.2010 20:52
Работа с одномерным массивом TvYown Общие вопросы C/C++ 2 23.12.2010 17:29
Работа с одномерным массивом в СИ++ glagoff Помощь студентам 6 31.10.2010 21:02
работа с одномерным массивом _Solomon_ Помощь студентам 1 07.06.2007 12:06