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

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


Информационный Канал Subscribe.Ru

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

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

Выпуск № 281
от 26.12.2005, 00:45

Администратор:Калашников О.А.
В рассылке:Подписчиков: 247, Экспертов: 35
В номере:Вопросов: 2, Ответов: 6


Вопрос № 31891: Добрых суток, Эксперты! Нужно записать в массив стрингов все незвания файлов что есть в диррестории......
Вопрос № 31893: У меня в результате всегда выводится, что произведение равно 0, хотя на самом деле это не так. Еще раз напишу вам точную формулировку задания: дан одномерный массив а вещественного типа, состоящий из n элементов. Вычислить произведение P=a1*a2*…*...

Вопрос № 31.891
Добрых суток, Эксперты!

Нужно записать в массив стрингов все незвания файлов что есть в диррестории...
Отправлен: 20.12.2005, 17:31
Вопрос задал: Zitz (статус: 3-ий класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Jadd
Здравствуйте, Zitz!
Среда какая? В Билдере юзаешь TList, в VC++ CStringList CArray.
Пример поиска в приложении.

Приложение:

---------
Если в сердце дверь закрыта, нужно в печень постучаться

Ответ отправил: Jadd (статус: Специалист)
Отправлен: 20.12.2005, 17:59
Оценка за ответ: 5
Комментарий оценки:
Столько мусора в коде...
Я так понял FindNextFile - нужная мне АПИ...
И первый параметр это собственно путь...
Прекрасно, что маску распознает!!!


Вопрос № 31.893
У меня в результате всегда выводится, что произведение равно 0, хотя на самом деле это не так. Еще раз напишу вам точную формулировку задания: дан одномерный массив а вещественного типа, состоящий из n элементов. Вычислить произведение
P=a1*a2*…*ak, где ai!=0 (i=1,2,…k) ,ak+1=0. Посмотрите, пожалуйста, что неправильно в коде.

Приложение:

Отправлен: 20.12.2005, 18:19
Вопрос задал: Commandos (статус: Посетитель)
Всего ответов: 5
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: BOIL
Здравствуйте, Commandos!

Оч.Важн.Заменчан. : ИНИЦИАЛИЗИРУЙ переменные ВСЕГДА

В приложении измененные части отмечены строчными комментариями

Удачи в програмировании!

Приложение:

Ответ отправил: BOIL (статус: 5-ый класс)
Отправлен: 20.12.2005, 18:31

Отвечает: Zitz
Здравствуйте, Commandos!

Внимательней надо быть!!!
Во первых уже третий раз высылаю, что начальное
значение p должно быть еденицей, т.к. число умноженое на один есть тоже
самое число, а число умноженое на мусор не есть тоже самое число...
Во вторых знак сравнения в С++ вот такой ==, а присвоения =
Т.е. когда ты первому элементу присваеваешь ноль и умножаешь его на твое
произведение, то получается 0, так что все правильно!
Вот работающий код, чтоназывается найди десять отличий... ;-)
(вместо русского языка - кака, не смущайся)

Приложение:

Ответ отправил: Zitz (статус: 3-ий класс)
Отправлен: 20.12.2005, 19:33

Отвечает: Iluha
Здравствуйте, Commandos!
Попробуй сначала инициализировать переменную p
Например в цикле for :
for(i=0, p = 1;i<N_ELEM;i++) {...}
И затем, в языке Си логическая операция сравнения на равенство записывается так:
if (a[i+1] == 0) ...
а не так
if (a[i+1] = 0) ...
Во втором случае ты используешь оператор присваивания (т.е фактически зануляешь следующий элемент).
Ответ отправил: Iluha (статус: 1-ый класс)
Отправлен: 20.12.2005, 22:37

Отвечает: Лучников Юрий Владимирович
Здравствуйте, Commandos!
Переменную-аккумулятор p нужно для начала инициализировать единицей.
Ответ отправил: Лучников Юрий Владимирович (статус: 6-ой класс)
Отправлен: 21.12.2005, 07:43

Отвечает: PROD
Здравствуйте, Commandos!
Во первых вы в условии if (a[i+1]=0 && a[i]!=0) поставили один знак "=" вместо "==", то есть в место проверки делаете присваевание
Во вторых вот этот момент:
for(i=0;i<N_ELEM;i++)
{ if (a[i+1]=0 && a[i]!=0)break;
p*=a[i];
}
на последнем проходе цикла i=N_ELEM-1
и когда вы в условии if (a[i+1]=0.... хотите проверить N_ELEM`ый элемент массива вы по сути должны получить или false или error так как этого элемента нет -незабывайте что в Си массивы начинаются с 0, так что в массиве a[N_ELEM] последним индексом будет N_ELEM-1
В третих не совсем понимаю (вернее совсем не понимаю) чего вы хотите от программы, или что хотят от вас -
можно по подробней истолковать этот кусок: "где ai!=0 (i=1,2,…k) ,ak+1=0."
Ответ отправил: PROD (статус: 2-ой класс)
Отправлен: 21.12.2005, 20:08


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

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

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

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

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


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


© 2001-2005, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Яндекс Rambler's Top100

Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.cplus
Архив рассылки
Отписаться Вебом Почтой
Вспомнить пароль

В избранное