Форум программистов, компьютерный форум CyberForum.ru

нахождение времени, потраченного на прохождение путником половины пути - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Выделение памяти http://www.cyberforum.ru/cpp-beginners/thread256986.html
Вот кусок кода, класс и функция добавления в список Класс занимает 64 бита, я добавляю 10 элементов в список - 640 бит Потом отнимаю posl-perv то есть указатели на начало и конец и ожидаю что получу 640 А он дает 128 Может потому что оно разбросано по разным частям памяти ? class element { public :
C++ Описать процедуру в С Описать процедуру AddRightDigit(D, K), добавляющую к целому положительному числу K справа цифру D (D — входной параметр целого типа, лежащий в диапазоне 0-9, K — параметр целого типа, являющийся одновременно входным и выходным). С помощью этой процедуры после*довательно добавить к данному числу K справа данные цифры D1 и D2, выводя результат каждого добавления. если решитесь помочь напишите... http://www.cyberforum.ru/cpp-beginners/thread256980.html
Visual Studio 2010 кто что думает C++
Давайте обговорим 10ю студию. Мое мнение - она недоработаная, например, стоит что-то поменять в хэдере и она вылетает, интелисенс материться когда прога работает, при чем, какой-то он тупой... Кто что вообще думает? Буду рад любым мнениям...
C++ Л/р "Использование строк"
Написать программу, которая считывает английский текст из файла и выводит его на экран, заменив каждую первую букву слов, начинающихся с гласной бук¬вы, на прописную. код #include "stdafx.h" #include <stdio.h> #include <cstring> #include <iostream> #include <conio.h> #include <windows.h>
C++ Время скидок http://www.cyberforum.ru/cpp-beginners/thread256968.html
Помогите пожалуйста решить на си: Написать программу вычисления стоимости покупки с учетом скидки. Скидка в 10% предоставляется, если сумма покупки больше 1000 руб. Ниже приведен рекомендуемый вид экрана во время выполнения программы (данные, введенные пользователем, выделены полужирным шрифтом). P.s должен получиться такой вывод: Вычисление стоимости покупки с учетом скидки
C++ При построчном чтении файла eof наступает раньше срока Здравствуйте, товарищи! Столкнулся с такой проблемой: при построчном потоковом чтении файла (при помощи getline) бит eof устанавливается раньше, чем положено (считывается меньше половины файла). При детальном изучении вопроса выяснил, что все ломается после попытки считывания строки, содержащей символ с кодом 0x1. Получается, что eof выставляется при наличие таких символов? Как... подробнее

Показать сообщение отдельно
Dexter
 Аватар для Dexter
284 / 144 / 16
Регистрация: 13.10.2009
Сообщений: 164
15.03.2011, 10:35     нахождение времени, потраченного на прохождение путником половины пути
3:0 6.0 2:0 6.0 1:0 6.0 выдает 2:59 вместо 3
При компиляции обычно выдается предложение типа такого:
warning C4244: =: преобразование "float" в "int", возможна потеря данных
Вот именно из-за этого оно и происходит, когда вы считаете t0, то преобразовываете float в int.
float - это дробное число, которое основывается на значении с плавающей точкой.
Например в этом случае если t0 сделать типа float, то оно будет равно, что-то типа 179.9999999999
и при преобразовании в инт - усекается остаток, потому и получим 179 вместо 180.
Чтобы такого небыло, можно округлить с помощью функции round.

C
1
2
3
4
5
6
if (s0>0 && s0<=s1)                                                                                                     
  t0 = round(s0/v1);
if (s0>s1 && s0<=s1+s2)
  t0 = round(s1/v1 + (s0-s1)/v2);
if (s0>=s1+s2 && s0<s1+s2+s3)
  t0 = round(s1/v1 + s2/v2 + (s0-s1-s2)/v3);
Ответ тогда будет как-раз 3

P.S. Если вдруг не будет функции round в библиотеке math.h, то ее можно объявить как:
C
1
2
3
4
int round(float x)
{
    return floor (x + 0.5);
}
floor и ceil у меня там есть, а вот раунда нету)
 
Текущее время: 07:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru