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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.09.2010, 17:01   #1
MACCOP
Новичок
Джуниор
 
Регистрация: 01.09.2010
Сообщений: 2
По умолчанию Дан массив из N элементов

Дан массив из N элементов (вещественные числа). Вы-
числить: 1) номер минимального элемента массива; 2) произ-
ведение элементов массива, расположенных между первым и
вторым отрицательными элементами. Преобразовать массив
так, чтобы сначала располагались все элементы, модуль кото-
рых не превышает 1, а потом – элементы, все остальные.
MACCOP вне форума Ответить с цитированием
Старый 01.09.2010, 17:04   #2
RuVarez
Форумчанин
 
Аватар для RuVarez
 
Регистрация: 25.08.2010
Сообщений: 258
По умолчанию

Это уже больше к матиматике чем к программированию!
RuVarez вне форума Ответить с цитированием
Старый 01.09.2010, 17:10   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

http://www.programmersforum.ru/showthread.php?t=83075
Тут правда максимум но поменяй на a[i,mi]<=a[i,q]
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.09.2010, 00:34   #4
vlad_light
Пользователь
 
Регистрация: 27.08.2010
Сообщений: 95
По умолчанию

Код:
#include <iostream>
#include <vector>

using namespace std;

int MinNum(vector<int> v1)
{
    int min=v1.at(0), num=1, i=1;
    for (vector<int>::iterator iter=v1.begin(); 
        iter!=v1.end(); ++iter)
    {
        if (*iter<min)
        {
                      min=*iter;
                      num=i;
        }
        ++i;
    }
    return num;
}

int Prod(vector<int> v1)
{
    int prod=1, chk=0;
    vector<int>::iterator iter;
    for (iter=v1.begin(); (chk==2)||(iter!=v1.end()); ++iter)
    {
        if (*iter<0)
        {
                    ++chk;                                        
        }
    }
    if (chk<2) 
    {
               cerr<<"Not enough elements"<<endl;
               return -1;
    }
    else
    {
        iter=v1.begin();
        while (*iter>=0) ++iter;
        ++iter;
        while (*iter>=0) 
        {
              prod*=*iter;
              ++iter;
        }             
    }
    return prod;
}

int Abs(int x)
{
    if (x>=0) return x;
    else return -x;
}

void Sort(vector<int> *v1)
{
     vector<int> t(*v1);
     *v1.clear();
     for (vector<int>::iterator iter=t.begin(); 
         iter!=t.end(); ++iter)
     {
         if (Abs(*iter)<1) *v1.push_back(*iter);
     }
     for (vector<int>::iterator iter=t.begin(); 
         iter!=t.end(); ++iter)
     {
         if (Abs(*iter)>=1) *v1.push_back(*iter);         
     }     
}

int main()
{
    int n, t;
    vector<int> v1;
    cout<<"Input the size of vector"<<endl;
    cin>>n;
    cout<<"Input vector"<<endl;
    for(int i=0; i!=n; ++i)
    {
            cin>>t;
            v1.push_back(t);
    }
    cout<<"Min: "<<MinNum(v1)<<endl;
    cout<<"Prod: "<<Prod(v1)<<endl;
    cin>>n;
    return 0;
    
}
За ошибки не ручаюсь, ибо писал в блокноте.
vlad_light вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дан массив целых чисел из n элементов endimion11 Помощь студентам 11 20.04.2010 17:36
паскаль! дан массив из 30 элементов. игорек фролоff Помощь студентам 1 28.05.2009 01:15
Дан массив из N элементов (чисел),определить количество элементов кратных 3. Woha Общие вопросы C/C++ 2 08.12.2008 13:12