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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 08.06.2010, 19:27   #1
milashka_92@e1.ru
Новичок
Джуниор
 
Регистрация: 08.06.2010
Сообщений: 6
По умолчанию в одномерном массиве, состоящем из n вещественных элементов

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

Код:
#include <iostream>
#include <ctime>
#include <vector>
#include <algorithm>
#include <iterator>
#include <numeric>
#include <conio.h>
int A, B;
 
int rnd ()
{
    return rand()%101-50; //-50..50
}
 
bool range (int i)
{
     return ((A<i) && (i<B));
}
bool sort (int x, int y)
{
    return (abs(x)>abs(y));
}
 
int main()
{
    const int size=10;
    int MAS[size];
    // fill matrix
    srand(time(NULL));
    std::generate_n (MAS, size, rnd);
    //output matrix
    std::cout << "Start matrix:\n";
    std::copy (MAS, MAS+size, std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
    // number elements, range A and B
    std::cout << "Input A and B: ";
    std::cin >> A >> B;
    int count=std::count_if (MAS, MAS+size, range);
    //output count
    std::cout << "Number element: " << count;
    std::cout << std::endl;
    //find sum after max element
    int sum=std::accumulate (MAS+(std::max_element (MAS, MAS+size)-MAS), MAS+size, 0);
    //output sum
    std::cout << "Sum after max element: " << sum;
    std::cout << std::endl;
    // sort matrix
    std::sort (MAS, MAS+size, sort);
    // output finish matrix
    std::copy (MAS, MAS+size, std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
 
    system ("pause");
    getch();
    return 0;
}
считает не верно ....((((((((

Последний раз редактировалось MaTBeu; 09.06.2010 в 12:27.
milashka_92@e1.ru вне форума
Старый 08.06.2010, 19:44   #2
Ozerich
Студент 1 курса
Форумчанин Подтвердите свой е-майл
 
Аватар для Ozerich
 
Регистрация: 27.06.2008
Сообщений: 959
По умолчанию

Код:
#include <iostream>
#include <ctime>
#include <vector>
#include <algorithm>
#include <iterator>
#include <numeric>
#include <conio.h>
int A, B;

int rnd ()
{
return rand()%101-50; //-50..50
}

bool range (int i)
{
return ((A<i) && (i<B));
}
bool sort (int x, int y)
{
return (abs(x)>abs(y));
}

int main()
{
const int size=10;
int MAS[size];
// fill matrix
srand(time(NULL));
std::generate_n (MAS, size, rnd);
//output matrix
std::cout << "Start matrix:\n";
std::copy(MAS, MAS+size, std::ostream_iterator<int>(std::cout, " "));
std::cout << std::endl;
// number elements, range A and B
std::cout << "Input A and B: ";
std::cin >> A >> B;
int count=std::count_if (MAS, MAS+size, range);
//output count
std::cout << "Number element: " << count;
std::cout << std::endl;
//find sum after max element
int mai = std::max_element (MAS, MAS+size)-MAS;
int sum=std::accumulate(MAS+mai + 1 , MAS+size, 0);
//output sum
std::cout << "Sum after max element: " << sum;
std::cout << std::endl;
// sort matrix
std::sort (MAS, MAS+size, sort);
// output finish matrix
std::copy (MAS, MAS+size, std::ostream_iterator<int>(std::cout, " "));
std::cout << std::endl;

system ("pause");
getch();
return 0;
}
про тег [CODE] не забывай
C++(STL, QT, WinInet) / DHTML(CSS) / JavaScript / PHP Developer
Ozerich вне форума
Старый 08.06.2010, 19:49   #3
milashka_92@e1.ru
Новичок
Джуниор
 
Регистрация: 08.06.2010
Сообщений: 6
По умолчанию

Цитата:
Сообщение от Ozerich Посмотреть сообщение
Код:
#include <iostream>
#include <ctime>
#include <vector>
#include <algorithm>
#include <iterator>
#include <numeric>
#include <conio.h>
int A, B;

int rnd ()
{
return rand()%101-50; //-50..50
}

bool range (int i)
{
return ((A<i) && (i<B));
}
bool sort (int x, int y)
{
return (abs(x)>abs(y));
}

int main()
{
const int size=10;
int MAS[size];
// fill matrix
srand(time(NULL));
std::generate_n (MAS, size, rnd);
//output matrix
std::cout << "Start matrix:\n";
std::copy(MAS, MAS+size, std::ostream_iterator<int>(std::cout, " "));
std::cout << std::endl;
// number elements, range A and B
std::cout << "Input A and B: ";
std::cin >> A >> B;
int count=std::count_if (MAS, MAS+size, range);
//output count
std::cout << "Number element: " << count;
std::cout << std::endl;
//find sum after max element
int mai = std::max_element (MAS, MAS+size)-MAS;
int sum=std::accumulate(MAS+mai + 1 , MAS+size, 0);
//output sum
std::cout << "Sum after max element: " << sum;
std::cout << std::endl;
// sort matrix
std::sort (MAS, MAS+size, sort);
// output finish matrix
std::copy (MAS, MAS+size, std::ostream_iterator<int>(std::cout, " "));
std::cout << std::endl;

system ("pause");
getch();
return 0;
}
про тег [CODE] не забывай
всмысле????
milashka_92@e1.ru вне форума
Старый 08.06.2010, 19:54   #4
Ozerich
Студент 1 курса
Форумчанин Подтвердите свой е-майл
 
Аватар для Ozerich
 
Регистрация: 27.06.2008
Сообщений: 959
По умолчанию

Цитата:
всмысле????
Я тебе кинул правильное решение.
А код выделять надо в тег [CODE](жмешь решетку когда сообщение пишешь и внутри тега пишешь код)
C++(STL, QT, WinInet) / DHTML(CSS) / JavaScript / PHP Developer
Ozerich вне форума
Старый 08.06.2010, 19:59   #5
milashka_92@e1.ru
Новичок
Джуниор
 
Регистрация: 08.06.2010
Сообщений: 6
По умолчанию

Цитата:
Сообщение от Ozerich Посмотреть сообщение
Я тебе кинул правильное решение.
А код выделять надо в тег [CODE](жмешь решетку когда сообщение пишешь и внутри тега пишешь код)
всеровно задачу не правильно считает....((((
milashka_92@e1.ru вне форума
Старый 08.06.2010, 20:19   #6
Ozerich
Студент 1 курса
Форумчанин Подтвердите свой е-майл
 
Аватар для Ozerich
 
Регистрация: 27.06.2008
Сообщений: 959
По умолчанию

А что именно не так считает?
C++(STL, QT, WinInet) / DHTML(CSS) / JavaScript / PHP Developer
Ozerich вне форума
Старый 08.06.2010, 20:21   #7
milashka_92@e1.ru
Новичок
Джуниор
 
Регистрация: 08.06.2010
Сообщений: 6
По умолчанию

Цитата:
Сообщение от Ozerich Посмотреть сообщение
А что именно не так считает?
сумму максимальных элементов......и номер элемента ....
milashka_92@e1.ru вне форума
Старый 08.06.2010, 23:56   #8
ozo
Форумчанин
 
Аватар для ozo
 
Регистрация: 26.04.2010
Сообщений: 328
По умолчанию

int sum=std::accumulate ( std::max_element(MAS, MAS+size) + 1, MAS+size, 0);
Используй гугль, будь счастлив
hackme@yandex.ru
Блог об archlinux

Последний раз редактировалось ozo; 09.06.2010 в 00:01.
ozo вне форума
Старый 09.06.2010, 12:31   #9
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,619
По умолчанию

Зачем вы используете std::accumulate, std::copy и прочий синтаксический сахар?! У вас задача на простейшую алгоритмизацию - а вы усложняете себе жизнь еще и незнанием языка. Я могу гарантировать, что программа не ваша, а вы хотите чтобы ее за вас кто-то нахаляву доделал.

Я вас огорчу. Ваша тема закрыта.
MaTBeu вне форума
Закрытая тема


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С++ В одномерном массиве, состоящем из n-вещественных элементов. вычислить: uropb992 Помощь студентам 1 24.05.2010 20:02
В одномерном массиве , состоящем из n целочисленных элементов, вычислить номер максимального элемента мас Ufa Помощь студентам 1 21.04.2010 14:06
В одномерном массиве, состоящем из n элементов вычислить Rusat Помощь студентам 2 09.03.2010 17:04
В одномерном массиве, состоящем из n веществ элементов, вычислить LUCK Общие вопросы C/C++ 5 29.01.2010 19:52
В одномерном массиве, состоящем из n вещественных элементов, вычислить сумму элементов массива HazelHen Общие вопросы C/C++ 2 29.03.2009 15:16