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

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


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

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

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

Выпуск № 1039
от 30.03.2008, 11:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 481, Экспертов: 50
В номере:Вопросов: 10, Ответов: 14

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


Вопрос № 128832: Здравствуйте, уважаемые эксперты.Нужна ваша помощь.Надо реализовать однонаправленный список, состоящий из одной структуры(односвязной) с 2 полями.То есть нужно только добавлять и удалять элемент, но(!) суть в задаче в том что со списком мы работаем к...
Вопрос № 128833: Нужно определить длину mp3 файла ( в секундах) Желательно бы код на С. Зарание спасибо....
Вопрос № 128873: Добрый день! Подскажите как ограничить число символов после запятой, переменной типа float... Мне нужно вывести стоимость товара.. после запятой должно быть только два символа...
Вопрос № 128910: Здравствуйте уважаемые программисты. Меня зовут Адам. Помогите мне пожалуйста в одной очень сложной для меня проблееы. Я програмирую на Visual C++ 6.0. Как мне из другой функции, другого класса изменить текст в элементе EDIT. Я ни как не могу получит...
Вопрос № 128919: пишу программу для запароливания текста из файла.. файл задаю с командной строки. текст из него меняю в соответствии с паролем, после чего его теоретически нужно изменить в самом файле. При чтении, соответственно, выполнить обратную операцию..уперлас...
Вопрос № 128934: Уважаемые эксперты! Где можно скачать учебники и справочники по описанию библиотек с++?...
Вопрос № 128936: Помогите пожалуйста написать программу. Условие: Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Хнач. до Хкон. с шагом dX _ | a*x*x+b при x<0 и b неравное 0 | F=| (x-a)/(x-c) при х>0 и ...
Вопрос № 128937: Помогите пожалуйста написать программу. Вот условие: В одномерном массиве, состоящим из n вещественных элементов, вычислить: 1)Сумму отрицательных элементов массива 2)Произведение элементов массива, расположенных между максимальным и ...
Вопрос № 128939: Помогите пожалуйста написать программу. Вот условие: Дана целочисленная прямоугольная матрица. Определить: 1)количество строк, не содержащих ни одного нулевого элемента 2)максимальное из чисел,встречающихся в заданной матрице более од...
Вопрос № 128940: Помогите пожалуйста написать программу. Вот условие: Написать программу которая считывает из текстового файла три предложения и выводит их в обратном порядке...

Вопрос № 128.832
Здравствуйте, уважаемые эксперты.Нужна ваша помощь.Надо реализовать однонаправленный список, состоящий из одной структуры(односвязной) с 2 полями.То есть нужно только добавлять и удалять элемент, но(!) суть в задаче в том что со списком мы работаем как с двумерным массивом.Если я правильно понимаю, то если мы задаем размеры нашего массива(3 на 3) то список должен быть на 9 ячеек. НУжна какая-то функция, которая бы бы по введенной строке и столбцу выдавала бы нам (правильно) нужное число из списка.Задача с меня требуют на С.Помогите пожалуйста с этой задачкой.Спасибо
Отправлен: 24.03.2008, 14:45
Вопрос задал: Новиков Роман Юрьевич (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Сандров Алекс
Здравствуйте, Новиков Роман Юрьевич!

Ну, односвязанный список умеете ведь делать? - Такие задачки тут были. Проблема в переходе из двумерности в одномерность?

Должна быть заранее известна ширина массива (количество столбцов) - iWidth.

тогда

int GetOneDIndex(int x, int y)
{
return x + (y * iWidth);
}

индексы от нуля
Ответ отправил: Сандров Алекс (статус: 6-ой класс)
Ответ отправлен: 24.03.2008, 15:02
Оценка за ответ: 5

Отвечает: Терсков Сергей
Здравствуйте, Новиков Роман Юрьевич!
Интересные у вас задания. Вариант подобной функции смотрите в приложении. На вход она принимает голову списка (node *head), размер двумерного массива (n, m) и индексы нужного элемента (i, j).

Приложение:

Ответ отправил: Терсков Сергей (статус: Специалист)
Ответ отправлен: 25.03.2008, 03:46
Оценка за ответ: 5


Вопрос № 128.833
Нужно определить длину mp3 файла ( в секундах)
Желательно бы код на С.
Зарание спасибо.
Отправлен: 24.03.2008, 15:06
Вопрос задал: Xeladen (статус: 1-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Dr_Andrew
Здравствуйте, Xeladen!
К сожалению, на C++, но если это Вам подойдёт, то можете воспользоваться методом готового класса WMp3 - LONG GetSongLength();
Исходный код класса здесь: http://www.inet.hr/~zcindori/download/wmp3class_source.zip
Примеры использования класса в консольных и GUI-приложениях - здесь: http://www.inet.hr/~zcindori/mp3class/
Ответ отправил: Dr_Andrew (статус: 8-ой класс)
Ответ отправлен: 25.03.2008, 06:58


Вопрос № 128.873
Добрый день!
Подскажите как ограничить число символов после запятой, переменной типа float... Мне нужно вывести стоимость товара.. после запятой должно быть только два символа
Отправлен: 24.03.2008, 19:57
Вопрос задал: Лакин И.М. (статус: 1-ый класс)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Леонтьев Александр Александрович
Здравствуйте, Лакин И.М.!

Это можно сделать например так:

Приложение:

Ответ отправил: Леонтьев Александр Александрович (статус: 1-ый класс)
Ответ отправлен: 24.03.2008, 20:07
Оценка за ответ: 5
Комментарий оценки:
Спасибо!!!

Отвечает: Ross
Здравствуйте, Лакин И.М.!

Если вы используете для вывода класс ostream, то можете использовать манипулятор setprecision.

Приложение:

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

Ответ отправил: Ross (статус: Практикант)
Ответ отправлен: 24.03.2008, 20:56
Оценка за ответ: 5

Отвечает: shayen
Здравствуйте, Лакин И.М.!
Для этого вам необходимо использовать модификатор точности.Модификатор точности указывается после модификатора ширины поля(если он есть).Этот модификатор состоит из точки, за которой следует целое число.Точный смысл модификатора зависит от типа данных, к которым он применяется.
Если модификатор точности применяется к числам с плавающей точкой с форматами %f,%e,%E он означает количество десятичных цифр после точки.Например, спецификатор формата %9.5f означает, что на экран будет выведено число, состоящее из 9 цифр, четыре из которых расположены после точки.
Если модификатор используется для вывода строк, он задаёт максимальную длину поля.Например, спецификатор %6.7s означает, что на экран будет выведена строка, состоящая как минимум из 6 символов, длина которой не превышает 7.Если строка окажется длинее последние символы отбросятся.
Если модификатор точности применяется к целым типам, он задаёт минимальное количество цифр, из которых должно состоять число. Если число состоит из меньшего количества цифр, оно дополняется ведущими нулями.
В приложении пример

Приложение:

Ответ отправил: shayen (статус: 5-ый класс)
Ответ отправлен: 24.03.2008, 22:33
Оценка за ответ: 5
Комментарий оценки:
Спасибо за очень подробный и дельный ответ!!! Мне это очень пригодилось!


Вопрос № 128.910
Здравствуйте уважаемые программисты. Меня зовут Адам. Помогите мне пожалуйста в одной очень сложной для меня проблееы. Я програмирую на Visual C++ 6.0. Как мне из другой функции, другого класса изменить текст в элементе EDIT. Я ни как не могу получить к нему доступ. И вопрос второй - Я пытался с помощью класса CFile прочитать файл размером 2GB, но без результатно. Программа даже не может показать размер файла. В чем может быть проблема? У меня на компьютер RAM=1024MB, может это мало для чтения таких файлов? Заранее благодарю Вас.
Отправлен: 24.03.2008, 23:12
Вопрос задал: Шахабов Адам (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Xeladen

Здравствуйте, Шахабов Адам!
1: нужно завести глобальную переменную с HWND едитбокса, затем можно вызвать ф-цию SetWindowCaption, используя хендл

HWND edit = editbox1.m_***(уже не помню как называется, что-то hwnd);
SetWindowCaption(edit,"BLABLABLA");
2. Тут дело не в оперативе, скорее всего это что-то в классе CFile, попробуйте прочитать файл с помощью WINAPI или по частям, также может помочь чтение файла блоками (например по 1024к)
Ответ отправил: Xeladen (статус: 1-ый класс)
Ответ отправлен: 26.03.2008, 19:17


Вопрос № 128.919
пишу программу для запароливания текста из файла.. файл задаю с командной строки. текст из него меняю в соответствии с паролем, после чего его теоретически нужно изменить в самом файле. При чтении, соответственно, выполнить обратную операцию..уперлась в следующие проблемы, которые никак не могу решить: вроде есть команда, позволяющая перейти к началу файла не открывая его заново.это раз. не могу понять: если писать текст в файл, где уже есть текст, предыдущий затрется сам, или предварительно его нужно как-то стереть? это два. и три - если файл нужно открывать заново, чтоб переписать, то как его закрыть так, чтобы его имя (указанное с командной строки) все-таки было доступно. Возможно, мой вопрос идиотский. Но я уже боюсь не справиться сама. Клинит.
Отправлен: 25.03.2008, 01:37
Вопрос задала: Bassy (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Ross
Здравствуйте, Bassy!

Вы не сказали какими функциями пользуетесь при работе с файлами... ну, будем считать что это классы семейства fstream. Так вот:

1) Для того, чтобы переместить указатель чтения из потока, используйте функцию seekg. Первый ее параметр - смещение, второй - исходная точка (может принимать значения ios::beg, ios::end, ios::cur).
Для перемещения указателя чтения в начало файла можно написать seekg(0,ios::beg).
Для перемещения указателя записи в поток есть функция seekp. Для определения текущей позиции - tellg и tellp.

Для того, чтобы определить размер файла, можно переместить указатель в его конец, вызвать функцию tellg, затем переместить указатель в начало.

2) Текст затрется сам, если открывать конечный файл с флагом ios::trunc. Если открыть с ios::app, то данные будут добавляться.

3) Закрыть файл можно методом close. В приложении я набросал небольшой шаблон.

Приложение:

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

Ответ отправил: Ross (статус: Практикант)
Ответ отправлен: 25.03.2008, 04:10
Оценка за ответ: 5
Комментарий оценки:
очень надеюсь, что это поможет мне разобраться. спасибо за развернутый ответ


Вопрос № 128.934
Уважаемые эксперты!
Где можно скачать учебники и справочники по описанию библиотек с++?
Отправлен: 25.03.2008, 06:41
Вопрос задал: Зеленкин Александр Викторович (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Dr_Andrew
Здравствуйте, Зеленкин Александр Викторович!
Для начала попробуйте взглянуть здесь:
ftp://anonymous@ftp.rusfaq.ru/pub/books/programming
http://www.wmasn.com/books/c/
http://www.realcoding.net/
Ответ отправил: Dr_Andrew (статус: 8-ой класс)
Ответ отправлен: 25.03.2008, 07:37


Вопрос № 128.936
Помогите пожалуйста написать программу.
Условие:
Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Хнач. до Хкон. с шагом dX
_
| a*x*x+b при x<0 и b неравное 0
|
F=| (x-a)/(x-c) при х>0 и b=0
|
|_ x/c в остальных случаях

где a,b,c - действительные числа.
Функция F должна принимать действительное значение, если выражение (Ац ИЛИ Вц) И (Ац ИЛИ Сц)
не равно нулю и целое значение в противном случае. Через Ац, Вц, Сц обозначены целые части значений a,b,c операции И и ИЛИ -поразрядные. Значения a,b,c,Xнач,Xкон,dX ввести с клавиатуры.
Отправлен: 25.03.2008, 07:50
Вопрос задал: Azsergey (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Николай Владимирович / Н.В.
Здравствуйте, Azsergey!
Программа в приложении.

Удачи!

Приложение:

Ответ отправил: Николай Владимирович / Н.В. (статус: Профессор)
Россия, Москва
WWW: nvsoft.org
ICQ: 420720
----
Ответ отправлен: 25.03.2008, 10:37


Вопрос № 128.937
Помогите пожалуйста написать программу.
Вот условие:
В одномерном массиве, состоящим из n вещественных элементов, вычислить:
1)Сумму отрицательных элементов массива
2)Произведение элементов массива, расположенных между максимальным и минимальным элементами.
Упорядочить элементы массива по возрастанию
Отправлен: 25.03.2008, 07:54
Вопрос задал: Azsergey (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Попов А.С.
Здравствуйте, Azsergey!
Решение в приложении (скомпиленоскомпилировано в DevCpp)

орфография
-----
∙ Отредактировал: Виктор Пырлик (Профессионал)
∙ Дата редактирования: 25.03.2008, 20:58

Приложение:

Ответ отправил: Попов А.С. (статус: 7-ой класс)
Ответ отправлен: 25.03.2008, 15:21


Вопрос № 128.939
Помогите пожалуйста написать программу.
Вот условие:
Дана целочисленная прямоугольная матрица. Определить:
1)количество строк, не содержащих ни одного нулевого элемента
2)максимальное из чисел,встречающихся в заданной матрице более одного раза
Отправлен: 25.03.2008, 07:57
Вопрос задал: Azsergey (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Verena
Здравствуйте, Azsergey!
Первая часть задачи не представляет сложности, всё будет ясно из комментариев. А о второй задаче расскажу подробнее. Здесь есть небольшая сложность в том, что первоначальное значение максимального элемента неизвестно (его нужно проинициализировать первым повторяющимся элементом). Тут есть два пути: найти его отдельно, а потом начинать рассмотрение матрицы с определённого места, но в этом случае несколько запутано выйдет с двойной индексацией (можно было бы рассчитывать один индекс, поскольку матрица хранится в памяти последовательно, или работать через указатели), или дополнительно создать флаг, который будет говорить о том, проинициализированно значение максимального или нет (я пошла по этому пути). Как вариант, можно было бы создать дополнительный массив (матрицу или вектор) флагов и пометить в нём все повторные элементы, но это дополнительная память и, возможно, лишние проходы по массиву. Можно, наверно, найти и более оптимальные алгоритмы, но сейчас ничего в голову не при ходит. Обратите внимание на вторую часть задачи, там немного путано, но из комментариев должно быть ясно, что происходит.
Решение в приложении.
Удачи!

Приложение:

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

Ответ отправила: Verena (статус: Практикант)
Ответ отправлен: 26.03.2008, 00:25
Оценка за ответ: 5


Вопрос № 128.940
Помогите пожалуйста написать программу.
Вот условие:
Написать программу которая считывает из текстового файла три предложения и выводит их в обратном порядке
Отправлен: 25.03.2008, 07:59
Вопрос задал: Azsergey (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Dr_Andrew
Здравствуйте, Azsergey!
Открываем файл на считывание (ifstream, ios::in) и, если он успешно открыт (is_open()) и есть что считывать (good()), то считываем построчно из потока в переменные типа string (getline()). Подробнее - см. в приложении.

Приложение:

Ответ отправил: Dr_Andrew (статус: 8-ой класс)
Ответ отправлен: 25.03.2008, 10:16

Отвечает: Попов А.С.
Здравствуйте, Azsergey!
Решение смотрите в приложении
ps используется stl vector

Приложение:

Ответ отправил: Попов А.С. (статус: 7-ой класс)
Ответ отправлен: 25.03.2008, 14:38


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

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

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

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

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

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


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


© 2001-2008, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале

∙ Версия системы: 4.72.6 beta от 22.03.2008

Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное