Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи по C/С++

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

last_wish

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
#include <iostream>
#include <iterator>
#include <vector>
#include <string>
#include <algorithm>
 
/*
Заданый массив строк. Определить строку максимальной длины,  
остальные компоненты массива дополнить пропусками в начале строки так,
чтобы все строки имели одинаковую длину.  
*/
 
bool CompFn(std::string s1, std::string s2)
{
    return s1.length() < s2.length();
}
 
int main()
{
    std::ostream_iterator<std::string> out(std::cout, "\n");
    std::vector<std::string> vec;
    
    // заполняем массив    
    vec.push_back("Stroka 1");
    vec.push_back("stroka  2");
    vec.push_back("stroka   3");
    // выводим на экран
    std::copy(vec.begin(), vec.end(), out);
    std::cout << std::endl;    
 
    std::vector<std::string>::iterator iter, it2;
    // находим максимальный элемент
    iter = std::max_element(vec.begin(), vec.end(), CompFn);
    
    std::cout << "Max element is: " << (*iter) << "\n\n";
    
    // дополняем остальные строки пробелами в начало
    for (it2 = vec.begin(); it2 != vec.end(); it2++) {
        if (it2 != iter) {
            (*it2).insert(0, (*iter).length() - (*it2).length(), ' ');
        }
    }
    std::copy(vec.begin(), vec.end(), out);    
    
    return 0;
}

Всего записей: 109 | Зарегистр. 26-10-2006 | Отправлено: 17:44 29-03-2008
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи по C/С++


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru