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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
pistol
1 / 1 / 0
Регистрация: 16.08.2011
Сообщений: 18
#1

Глупый вопрос (возведение в квадрат) - C++

08.09.2011, 22:48. Просмотров 792. Ответов 14
Метки нет (Все метки)

Всем привет.
Почему то не работает следующая элементарныя строчка кода. Значения y получаются отрицательными, например около -30000, хотя x и y коллкблятся примерно от 1000 до 2000.

Заранее спасибо


C#
1
y = (x-y)*(x-y);
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.09.2011, 22:48     Глупый вопрос (возведение в квадрат)
Посмотрите здесь:

Оч глупый вопрос - C++
вот вместо цифры 1 как поставить переменную p->Bitmap->SaveToFile("C:\\bm\\rf\\1.bmp"); до этого баловался только с борландом.. поэтому...

Извините за глупый вопрос. - C++
Как в С++ записывается "и"? (Например в Pascal это "and"). И как записать это в условие типа: if (N<1000) "и" (N>100) { bla bla bla...

Глупый вопрос по указателям? - C++
Здравствуйте! Подскажите как это работает? Правильно ли я понимаю? struct A { }; struct B: public A { int var1; ...

простой и глупый вопрос - C++
Да, вопрос немного глуповат, но в нете так ничего и не нашла. Либо просто вводила не то для поиска. Не знаю короче. Суть вопроса: У меня...

Глупый вопрос по шаблонам - C++
Доброе время суток! Я достаточно опытный программист Java, но жизнь, как говорится, заставила переквалифицироваться на C++, причем,...

Глупый вопрос про наследование - C++
Вот фрагмент кода, реального: class CListviewParamPrimary : public CListviewParamFloats { private: /** * @brief Возвращает...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
jambas92
58 / 57 / 3
Регистрация: 18.11.2010
Сообщений: 315
08.09.2011, 22:50     Глупый вопрос (возведение в квадрат) #2
а весь код можно? вдруг ошибка не здесь???
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
08.09.2011, 22:51     Глупый вопрос (возведение в квадрат) #3
Типы данных какие?
jambas92
58 / 57 / 3
Регистрация: 18.11.2010
Сообщений: 315
08.09.2011, 22:52     Глупый вопрос (возведение в квадрат) #4
Цитата Сообщение от pistol Посмотреть сообщение
Код C#
1
y = (x-y)*(x-y);
хехе, код та ведь на C#

Добавлено через 32 секунды
даже если int то равно должно быть 0, а не к -30000
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
08.09.2011, 22:53     Глупый вопрос (возведение в квадрат) #5
Цитата Сообщение от jambas92 Посмотреть сообщение
даже если int то равно должно быть 0, а не к -30000
В шарпе нет отрицательного диапазона в int? 0_o
Поясните, плиз.
jambas92
58 / 57 / 3
Регистрация: 18.11.2010
Сообщений: 315
08.09.2011, 22:56     Глупый вопрос (возведение в квадрат) #6
просто когда я использовал числа превышающие диапазон числа, он у меня выводит 0, хотя по идеи должен выводит отрицательное число...
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
08.09.2011, 22:59     Глупый вопрос (возведение в квадрат) #7
Хм... Может при переполнении идет обнуление, а не -INT_MAX... Странно.
ps/ А ТС может просто ткнул не туда при наборе сообщения, вот и получился C# листинг.
jambas92
58 / 57 / 3
Регистрация: 18.11.2010
Сообщений: 315
08.09.2011, 23:00     Глупый вопрос (возведение в квадрат) #8
ждем ответа от автора)))
pistol
1 / 1 / 0
Регистрация: 16.08.2011
Сообщений: 18
08.09.2011, 23:00  [ТС]     Глупый вопрос (возведение в квадрат) #9
Код на с++, перепутал на форуме. Тип данных int, какой нужно сделать? x и y выводятся нормально, проверял. На всякий случай кусок кода.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
int dis1, dis2, dis3, dis4, dis5;
int Sks99, Sks95, Sks91, Sks19, Sks59;
int mean, disp;
 
Sks99 = (8.33*((dPRE9Pnt-dCUR9Pnt)/(sqrt(abs(dPRE9Pnt-147+10000))*sqrt(8041)))+1.69)*1000 ;
 
        
        Sks95 = (8.33*((dPRE9Pnt-dCUR5Pnt)/(sqrt(abs(dPRE9Pnt-147+10000))*sqrt(8041)))+1.69)*1000 ;
 
        
        Sks91 = (8.33*((dPRE9Pnt-dCUR0Pnt)/(sqrt(abs(dPRE9Pnt-147+10000))*sqrt(8041)))+1.69)*1000 ;
 
        
        Sks19 = (8.33*((dPRE0Pnt-dCUR9Pnt)/(sqrt(abs(dPRE0Pnt-147+10000))*sqrt(8041)))+1.69)*1000 ;
 
    
        Sks59 = (8.33*((dPRE5Pnt-dCUR9Pnt)/(sqrt(abs(dPRE5Pnt-147+10000))*sqrt(8041)))+1.69)*1000 ;
 
        mean = ((Sks99 + Sks95 + Sks91 + Sks19 + Sks59)/(5));
        
        dis1 = ((mean-Sks99)*(mean-Sks99));
        dis2 = ((mean-Sks95)*(mean-Sks95)); 
        dis3 = ((mean-Sks91)*(mean-Sks91)); 
        dis4 = ((mean-Sks19)*(mean-Sks19)); 
        dis5 = ((mean-Sks59)*(mean-Sks59)); 
                      disp = ((dis1 + dis2 + dis3 + dis4 + dis5)/(5));
Вообщем рассчитываю среднее и дисперсию для Sks99, Sks95, Sks91, Sks19, Sks59 (знаю, что дисперсию можно одной строчкой сделать, просто разбивал на элементарные операции чтобы понять где ошибка). mean выводит нормально, но dis1, dis2, dis3, dis4, dis5 иногда получаются отрицательными. Sks99, Sks95, Sks91, Sks19, Sks59 тоже высчитываются нормально, проверял.
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
08.09.2011, 23:03     Глупый вопрос (возведение в квадрат) #10
Вот тут расписаны максимальные значения типов данных в c++. Выбираете нужный и пользуетесь на здоровье.
jambas92
58 / 57 / 3
Регистрация: 18.11.2010
Сообщений: 315
08.09.2011, 23:04     Глупый вопрос (возведение в квадрат) #11
да, на самом деле, int будет маловат...

Добавлено через 38 секунд
бери максимальный! unsigned long long)))
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
08.09.2011, 23:07     Глупый вопрос (возведение в квадрат) #12
Цитата Сообщение от jambas92 Посмотреть сообщение
бери максимальный! unsigned long long)))
Угу. Не прогадаешь

Не по теме:

А вообще, к черту эти все int-ы и float-ы. Берешь std::string, перегружаешь для него умножение, сложение и деление, и не паришься. Дел то на 15 минут.

pistol
1 / 1 / 0
Регистрация: 16.08.2011
Сообщений: 18
08.09.2011, 23:15  [ТС]     Глупый вопрос (возведение в квадрат) #13
Всем спасибо, что-то действительно не подумал, что дисперсию считаю а не стандартное отклонение.
jambas92
58 / 57 / 3
Регистрация: 18.11.2010
Сообщений: 315
09.09.2011, 12:07     Глупый вопрос (возведение в квадрат) #14
Не по теме:
А вообще, к черту эти все int-ы и float-ы. Берешь std::string, перегружаешь для него умножение, сложение и деление, и не паришься. Дел то на 15 минут.
а как это???
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.09.2011, 12:20     Глупый вопрос (возведение в квадрат)
Еще ссылки по теме:

Глупый вопрос по считыванию символов с клавиатуры - C++
заранее извиняюсь за глупый вопрос, но ответ на него отгуглить не смог: n = getche не считывает нажатия на enter, но считывает пробелы...

Глупый вопрос по типу данных Variant - C++
Обнаружил, что не очень четко понимаю что он из себя представляет и при его использовании возникает пачка вопросов. Может быть...

Стек, связный список и глупый вопрос - C++
Содержание stack.h #include <cstddef> // Определение константы NULL template <typename T> class Stack { public: Stack(); ...

Поэлементное возведение в квадрат - C++
Нужно написать программу, содержащую функцию поэлементного возведения в квадрат массива вещественных чисел. Массив должен вводиться...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
soon
09.09.2011, 12:20     Глупый вопрос (возведение в квадрат)
  #15

Не по теме:

Цитата Сообщение от soon
Дел то на 15 минут.
Сарказм. Хотя, самые тру-программисты могут это сделать и за 15 минут. Наверно.
А про перегрузку посмотрите... Ну хотя бы тут

Yandex
Объявления
09.09.2011, 12:20     Глупый вопрос (возведение в квадрат)
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru