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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.04.2012, 20:21   #1
MrRifleman
Пользователь
 
Регистрация: 24.03.2012
Сообщений: 13
Вопрос Массив нужно доработать

В одномерном массиве,состоящем из n вещественных элементов вычислить:
1. Произведение положительных элементов массива;
2.Сумму элементов массива, расположенных до минимального элемента.
Упорядочить по возрастанию отдельно элементы, стоящие на четных местах, и элементы, стоящие на нечетных местах.
Помогите сделать еще чтобы проверял условие что если нету положительных элементов в массиве выдавал соответствующее сообщение на экран!

Код:
#include <iostream>

using namespace std;

void sort(float *m, int n, bool chet);
void main(){
        int n_size;
        cout << "Vvedite kolichestvo elementov: ";
        cin >> n_size;
        float *m = new float [n_size];

        cout << "Vvedite elementi massiva:\r\n";
        for(int i = 0; i < n_size; i++){
                cin >> m[i];
        }

        float min = m[0];
        float div = 1;
        int tmp = 0;
        for(int i = 0; i < n_size; i++){
                if(m[i] > 0) div *= m[i];
                if(m[i] < min){
                        min = m[i];
                        tmp = i;
                }
        }

        float sum = 0;
        for(int i = 0; i < tmp; i++){
                sum += m[i];
        }

        cout << "Proizvedenie: " << div << endl << "Summa: " << sum << endl;

        sort(m, n_size, true); //четные
        sort(m, n_size, false); //нечетные
        cout << "masiv: ";
        for(int i = 0; i < n_size; i++)
                cout << m[i] << " ";

        delete [] m;
}

void sort(float *m, int n, bool chet){
        float a;
        int i = chet? 1 : 0;

        for(; i < n - 1; i+=2){
                int imin = i;
                for(int j = i; j < n; j+=2)
                        if(m[j] < m[imin]) imin = j;
                a = m[i];
                m[i] = m[imin];
                m[imin] = a;
                  cout << m[i] << " ";

        }


         cout << (char)cin.get();
 cin.get();
 return ;
}
MrRifleman вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно доработать прогу а именно повторный ввод капч tattoseller Фриланс 0 24.11.2011 16:29
Нужно доработать программку ...(Pascal) bot0 Паскаль, Turbo Pascal, PascalABC.NET 0 28.12.2010 21:16
Нужно доработать программку ... bot0 Помощь студентам 0 28.12.2010 20:47
Нужно доработать прогу в ПАСКАЛЕ Nubik Помощь студентам 2 21.12.2009 00:09