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

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


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

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

Выпуск № 604
от 12.10.2004, 19:20

Администратор:
Имя: Nick.Box
URL: Информационный ресурс
ICQ: 365124
[censored], [censored]
О рассылке:
Задано вопросов: 1957
Отправлено ответов: 3744
Активность: 191.3 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

Василевский Александр
Статус: Доверительный
Общий рейтинг: 115.11
[Подробней >>]
vitya
Статус: Профессиональный
Общий рейтинг: 109.7
[Подробней >>]
Nicholas
Статус: Начальный
Общий рейтинг: 130.76
[Подробней >>]
 
DiGiT
Статус: Доверительный
Общий рейтинг: 120
[Подробней >>]
gAmUssA
Статус: Доверительный
Общий рейтинг: 162.5
[Подробней >>]
knick
Статус: Доверительный
Общий рейтинг: 105.21
[Подробней >>]
 
SackTap
Статус: Опытный
Общий рейтинг: 109.47
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 1946. Подскажите какая разница между double и long double. На практике у этих типов даже точность одинаков... (ответов: 5)
Вопрос № 1947. Помогите, такое задание: Дано натуральное число, нужно найти среднее арифметическое его цифр. Пробо... (ответов: 5)
Вопрос № 1948. добрый день! у меня вопрос насчёт visual c++ 6. там в редакторе есть настройка шрифтов, но диалог на... (ответов: 1)

Вопросов: 3, ответов: 11


 Вопрос № 1946

Подскажите какая разница между double и long double. На практике у этих типов даже точность одинаковая. И еще есть ли в C / C++ возможность использовать более точный тип. Хотя бы 18 значащих цифр? Некий аналог extended из Pascal.



Вопрос отправлен: 08.10.2004, 22:16
Отправитель: Black Monk

[Следующий вопрос >>] [Список вопросов]

Отвечает Василевский Александр

Здравствуйте, Black Monk!
long double и есть аналог EXTENDED из Pascal.
Разница между long double и double - в точности и размере (double - 6 байт, long double - 10 байт).


Ответ отправлен: 11.10.2004, 10:51
Отправитель: Василевский Александр


Отвечает vitya

Приветствую Вас, Black Monk!
В VC double и long double это одинаковые типы, в gcc, они вроде как разнятся. long double, в теории, и есть extended тип паскаля.
real -> float
single -> double
extended -> long double.


Ответ отправлен: 09.10.2004, 09:48
Отправитель: vitya


Отвечает Nicholas

Привет, Black Monk!
Разница между типом double и long double зависит от реализации.

Ответ отправлен: 09.10.2004, 19:30
Отправитель: Nicholas


Отвечает DiGiT

Доброе время суток, Black Monk!
Вообще говоря разницы нет, long double в MSVC имеет такую же точность как и double. Дело в том, что все расчеты с вещественной арифметикой идут в типе double, если число имеет не такой тип, оно к нему преобразуется. даже если и long double имеет размер 10байтов, толку от этого не получишь...

Ответ отправлен: 11.10.2004, 03:12
Отправитель: DiGiT


Отвечает gAmUssA

Приветствую Вас, Black Monk!
http://subscribe.ru/archive/comp.soft.prog.9899/200404/28151235.html
Попробуй Грузите апельсины бочками...

Ответ отправлен: 09.10.2004, 14:51
Отправитель: gAmUssA


 Вопрос № 1947

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



Вопрос отправлен: 09.10.2004, 00:18
Отправитель: andrew

[Следующий вопрос >>] [Список вопросов]

Отвечает vitya

Здравствуйте, andrew!
Алгоритм следующий:
Sum = 0; Counter = 0;
while (Number != 0) {
Sum += Number % 10;
Number /= 10;
++Counter;
}
if (Sum != 0)
Sum /= Counter;
print Sum;
И никаких массивов

Ответ отправлен: 09.10.2004, 09:46
Отправитель: vitya


Отвечает gAmUssA

Доброе время суток, andrew!
Я думаю, что можешь перевести в строку. По моему и с массивами достаточно просто. В цикле заводишь счётчик элементов массива, суммируешь все эл-ть, потом просто на него (на счётчик) делишь. Всё просто. Грузите апельсины бочками...

Ответ отправлен: 09.10.2004, 14:51
Отправитель: gAmUssA


Отвечает knick

Добрый день, andrew!
Один из вариантов: переводите чисто в строку, а потом уже считаете среднее арифметическое цифр.

Ответ отправлен: 09.10.2004, 12:41
Отправитель: knick


Отвечает DiGiT

Доброе время суток, andrew!
Согласен с ответом vitya, если число помещается в sizeof(long) байта(ну или там максимальный тип для целого числа), иначе будет плохо.
long Num = Исходное число.
int sum= 0;
for(;Num!= 0;){
sum+= Num % 10;
Num/= 10;
}
если же число более такого размера вводи его как строку и далее рассматривай как массив символов, где каждый символ цифра. далее просто имеешь:
char massiv[BUFFER_SIZE];
int sum= 0;
for(int i= 0;i< strlen(massiv); i++){
sum+= massiv[i]- 30;/*вроде 30код у нуля в ASCII не помню*/
}

Ответ отправлен: 11.10.2004, 03:08
Отправитель: DiGiT


Отвечает SackTap

Добрый день, andrew!
можно воспользоваться функцией itoa - перевод из числа в строку. Потом вычисляем длину строки, не считая нуль-символа в конце и делаем цикл for от 0 до конца строки и в нем прибавляем каждый следующий разряд числа, потом все вычисляем.

Ответ отправлен: 10.10.2004, 03:39
Отправитель: SackTap


 Вопрос № 1948

добрый день!
у меня вопрос насчёт visual c++ 6.
там в редакторе есть настройка шрифтов, но диалог настройки нестардантный, и нельзя выбрать набор символов: по умолчанию стоит западноевропейский, и нельзя выбрать кириллицу.
(я подозреваю что этот вопрос уже задавался неоднократно)
подскажите пожалуйста, как настроить редактор на использование кириллицы?



Вопрос отправлен: 09.10.2004, 14:17
Отправитель: soflot (soflot@ukr.net)

[Следующий вопрос >>] [Список вопросов]

Отвечает gAmUssA

Добрый день, soflot!
Попробуй использовать шрифт, у которого только кириллический набор символов. У меня в всё и так нормально работает, т.е. поддержка кириллицы присутствует Грузите апельсины бочками...

Ответ отправлен: 09.10.2004, 15:38
Отправитель: gAmUssA



Форма отправки вопроса

Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

(C) 2002-2003 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


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


Получить ответов:


 Выбор рассылки

Программисту
Assembler (27)
C / C++ (17)
Perl (7)
Builder / Delphi (17)
Pascal (20)
Basic / VBA (9)
Java / JavaScript (8)
PHP (19)
Криптография (9)
WinAPI (14)
Радиоэлектроника (16)
Пользователю
Windows 95/98/Me (43)
Windows NT/2000/XP (60)
"Железо" (38)
Поиск информации (23)
Администратору
Windows NT/2000/XP (41)
Linux / Unix (17)
Юристу
Гражданское право (7)
Семейное право (4)
Трудовое право (6)
КоАП (5)

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





http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.prog.cplus
Отписаться

В избранное