Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на C / C++


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / C/C++

Выпуск № 1012
от 02.03.2008, 08:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 477, Экспертов: 54
В номере:Вопросов: 4, Ответов: 4

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>


Вопрос № 124715: задана строка содержащая 2 или более слов, разделенных пробелами. Написать программу , меняющую местами все четные и нечетные слова в строке , предпологая , что за один раз можно менять местами не более 2х символов...
Вопрос № 124726: Уважаемые эксперты, пожалуйста приведите пример работы с файлами в c++. К примеру нужно записать, а затем считать несколько переменных пользовательского класса. Скажем такого: struct people { char* name; char* fam; int age;...
Вопрос № 124761: Приветствую, Эксперты! Нужна ваша помощь - написал программу, но она работает не совсем так, как надо :) Условие такое: Для заданных полиномов P и Q найти полином R - сумму полиномов. Функции ввода и вывода работают как надо, очевидно (по...
Вопрос № 124772: Дана последовательность действительных чисел a1, a2, . . . , an ( n >= 2 и заранее неизвестно). Если последовательность упорядочена по неубыванию, то оставить ее без изменения, иначе получить последовательность an , an-1 , . . . , a1 . ..

Вопрос № 124.715
задана строка содержащая 2 или более слов, разделенных пробелами.
Написать программу , меняющую местами все четные и нечетные слова в строке , предпологая , что за один раз можно менять местами не более 2х символов
Отправлен: 25.02.2008, 09:40
Вопрос задал: Samalko (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Verena
Здравствуйте, Samalko!
Можно использовать такой алгоритм. Выделяем два слова - чётное и нечётное (как я поняла, менять местами нужно соседние, но если даже это не так, на основе данной функции можно сделать как-то по-другому), передаём в функцию их "координаты". Функция работает по следующему алгоритму:
//Возьмём строку asd sada. "Координаты" будут такие:
ns1 ks1 ns2 ks2
a s d sada
//В первом цикле происходит это:
asd sada
as sadad
a sadasd
_sadaasd
//Во втором цикле перемещаем пробелы:
s adaasd
sa daasd
sad aasd
sada asd
Расчёт количества итераций можно увидеть по коду. На словах объяснить сложно, просто возьмите небольшой пример и просчитайте, как получается. Но сразу уточню, алгоритм этот далеко не оптимальный, напротив, самый линейный и простой. В целях оптимизации можете посмотреть алгоритмы обмена в приложенном файле, там рассматриваются сегменты, стоящие рядом, но они применимы и в этом случае с небольшими изменениями.
cpp-файл

Приложение:

---------
Эта история - не для истории, понимаешь?

Ответ отправила: Verena (статус: Студент)
Ответ отправлен: 26.02.2008, 21:58


Вопрос № 124.726
Уважаемые эксперты, пожалуйста приведите пример работы с файлами в c++.
К примеру нужно записать, а затем считать несколько переменных пользовательского класса. Скажем такого:
struct people
{
char* name;
char* fam;
int age;
};
Заранее спасибо.
Отправлен: 25.02.2008, 10:56
Вопрос задал: Sarius (статус: 3-ий класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Garmash Dima
Здравствуйте, Sarius!
для этого определим 2 функции read и write. Первая читает структуру из файла, вторая записывает её в файл.

Приложение:

---------
Шизофрения это нормально

Ответ отправил: Garmash Dima (статус: 3-ий класс)
Ответ отправлен: 25.02.2008, 12:51
Оценка за ответ: 4
Комментарий оценки:
Спасибо за совет. Буду пробовать. Надеюсь получится считать и записать именно несколько переменных моего типа people.


Вопрос № 124.761
Приветствую, Эксперты!
Нужна ваша помощь - написал программу, но она работает не совсем так, как надо :)
Условие такое: Для заданных полиномов P и Q найти полином R - сумму полиномов.
Функции ввода и вывода работают как надо, очевидно (по крайней мере мне),
что что-то с функцией summ. Подскажите, в чем ошибка (лучше привести исправленный код).
Решение нужно до 11 часов по московскому времени.
Заранее спасибо всем, кто ответит :)

Приложение:

Отправлен: 25.02.2008, 15:20
Вопрос задал: LexXx (статус: Практикант)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 5)

Отвечает: Verena
Здравствуйте, LexXx!
Уже, конечно, полдвенадцатого, но я всё-таки выложу ответ, может, пригодится. Вот такой вариант работает, при условии сортировки списка по убыванию степени. Добавила функцию добавления элемента в конец списка, немного изменила саму функцию.

Приложение:

---------
Эта история - не для истории, понимаешь?

Ответ отправила: Verena (статус: Студент)
Ответ отправлен: 25.02.2008, 23:25
Оценка за ответ: 5
Комментарий оценки:
Отчично! Спасибо! Только вопрос - для чего нужен файл stdafx.h?


Вопрос № 124.772
Дана последовательность действительных чисел a1, a2, . . . , an ( n >= 2 и
заранее неизвестно). Если последовательность упорядочена по неубыванию, то оставить ее без изменения, иначе получить последовательность an , an-1 , . . . , a1 .

Приложение:

Отправлен: 25.02.2008, 16:24
Вопрос задал: Костян (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Ross
Здравствуйте, Костян!

Ваше решение.
В описании класса списка раньше был включен класс list_iterator, позволяющий перемещаться по списку. Для вашей задачи он не нужен, поэтому я закомментировал этот код. Можете убрать комментарии, на работу программы это не повлияет.

Приложение:

---------
Доступно только то, что видимо (c) Б. Керниган

Ответ отправил: Ross (статус: Студент)
Ответ отправлен: 27.02.2008, 16:15
Оценка за ответ: 4
Комментарий оценки:
Спасибо за ответ, программа как видно написана грамотно с большим колличеством знаний. Но в ней есть еще не известные мне вещи, поэтому задам вопрос немного по другому.


Вы имеете возможность оценить этот выпуск рассылки.
Нам очень важно Ваше мнение!
Оценить этот выпуск рассылки >>

Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2008, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.71 от 27.02.2008
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное