Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > Срочно нужна помощь


Автор: Лилькашпилька 9.5.2006, 20:21
ПОМОГИТЕ!!!!
НАПИСАТЬ ПРОГУ!!!!
Ввести целочисленный массив
а)найти максимальный по абсолютному значению элемент
б)вывести все числа которые меньше среднего значения по всему массиву
В)отсортировать массив по возрастанию второй цифры справа!!!
Помогите....умоляю... 

Автор: Void 9.5.2006, 20:49
Код
#include <iostream>
#include <vector>
#include <algorithm>
#include <functional>
#include <numeric>
#include <iterator>
#include <cmath>

using namespace std;

bool compare_abs(int x, int y) {
    return abs(x) < abs(y);
}

bool compare_2nd_digit(int x, int y) {
    return (x % 100) / 10 < (y % 100) / 10;
}

int main() {
    vector<int> a;
    cout << "Enter elements of integer array (press Ctrl+Z to stop):" << endl;
    a.assign(istream_iterator<int>(cin), istream_iterator<int>());
    if (a.empty())
        return 0;
    cout << "Element with maximum absolute value: " <<
        *max_element(a.begin(), a.end(), compare_abs) << endl;
    int avg = accumulate(a.begin(), a.end(), 0) / a.size();
    cout << "Elements less than average value: " << endl;
    remove_copy_if(a.begin(), a.end(), ostream_iterator<int>(cout, " "),
        bind1st(less<int>(), avg));
    cout << endl << "Sorted by 2nd digit:" << endl;
    sort(a.begin(), a.end(), compare_2nd_digit);
    copy(a.begin(), a.end(), ostream_iterator<int>(cout, " "));
}


И не надо говорить, что я издеваюсь. Я просто не умею по другому писать smile А вдруг поможет человеку? smile  

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)