Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
llFreeManll
23 / 23 / 9
Регистрация: 27.11.2011
Сообщений: 272
Завершенные тесты: 1
1

При возведении в степень возвращается неправильный ответ

19.10.2014, 15:11. Просмотров 396. Ответов 7
Метки нет (Все метки)

Дорый день.
Если взять:
C#
1
 MessageBox.Show((Math.Pow(3, 7).ToString()));
Получим 2187.
А если же делать так:
C#
1
2
3
string a = "312";
            foreach (short b in a)
                MessageBox.Show((Math.Pow(b, 7).ToString()));
То получаем полный бред в ответе. Почему так? Что делаю не правильно?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.10.2014, 15:11
Ответы с готовыми решениями:

Ошибка при возведении в степень по модулю 33
ошибка при возведении в степень по модулю 33 пробую 15^17 по модулю должен вывести 27 14^17...

Ошибки при возведении экспоненты в степень
Подскажите, пожалуйста, почему при попытке выполнить программу using System; using...

Неверный вывод при возведении в степень массива
При попытке возвести в степень получается неверный рассчет. При возведении массива в 3 степень...

Как в string вывести текст с цифры в верхнем регистре (как при возведении в степень)
Здравствуйте. Необходимо (в EditText выводить) получить строку со значением давления в кг/см^2....

Определить время, в течении которого сообщение доходит до сервера, и возвращается ответ от него
Доброго времени суток. Помогите решить вот такую проблемку. Отправляю серверу некоторое...

7
Neopitnaya
4 / 4 / 1
Регистрация: 13.10.2014
Сообщений: 28
19.10.2014, 15:20 2
меня смущает что а у вас string, а параметр в - short.
0
all_angarsk
755 / 262 / 57
Регистрация: 13.12.2009
Сообщений: 1,021
19.10.2014, 15:23 3
Посмотри
http://msdn.microsoft.com/ru-ru/library/ybs77ex4.aspx
Ключевое слово short обозначает целочисленный тип данных,
string a = "312"; текст переменная а должна содержать какой-то массив
не совпадают типы данных
0
llFreeManll
23 / 23 / 9
Регистрация: 27.11.2011
Сообщений: 272
Завершенные тесты: 1
19.10.2014, 15:26  [ТС] 4
Ошибочка вышла, вообще должно быть вот так:
C#
1
2
3
4
5
6
string a = "312";
            for (int i = 0; i < a.Length; i++)
            {
                MessageBox.Show(a.ElementAt(i).ToString());// тут возрашает числа правильно
                MessageBox.Show((Math.Pow(a.ElementAt(i),7).ToString()));// а вот тут уже начинается бредятина
            }
Даже есть зделать так:
C#
1
Convert.ToInt16(a.ElementAt(i));
0
19.10.2014, 15:26
Neopitnaya
4 / 4 / 1
Регистрация: 13.10.2014
Сообщений: 28
19.10.2014, 15:28 5
вот и я о том же. как вы в тексте будете перебирать целые значения?

Добавлено через 2 минуты
Цитата Сообщение от llFreeManll Посмотреть сообщение
MessageBox.Show(a.ElementAt(i).ToString());// тут возрашает числа правильно

тут возвращаются элемента строки а, но не числа
0
tarasalk
1452 / 907 / 347
Регистрация: 13.06.2013
Сообщений: 3,140
19.10.2014, 15:30 6
Вот вот, пишите лучше через var.
C#
1
2
3
string a = "312";
foreach (var b in a)
     MessageBox.Show((Math.Pow(b, 7).ToString()));
Иначе там явно идут какие то преобразования...то ли подставляется код символа в ASII...или еще что то. Дебагером видно
0
llFreeManll
23 / 23 / 9
Регистрация: 27.11.2011
Сообщений: 272
Завершенные тесты: 1
19.10.2014, 15:37  [ТС] 7
Цитата Сообщение от tarasalk Посмотреть сообщение
Вот вот, пишите лучше через var.
Все равно не работает(
0
tarasalk
1452 / 907 / 347
Регистрация: 13.06.2013
Сообщений: 3,140
19.10.2014, 16:25 8
Храните лучше числа в другом виде, это же явно массив чисел. Иначе придется делать преобразования типа такого
C#
1
2
3
string p = "423";
foreach (var b in p)
     MessageBox.Show((Math.Pow(Convert.ToDouble(b.ToString()), 2).ToString()));
Есть оказывается еще такой вариант
C#
1
2
3
string p = "423";
foreach (var b in p)
     MessageBox.Show((Math.Pow(Char.GetNumericValue(b), 2).ToString()));
1
19.10.2014, 16:25
StackOverflow
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.10.2014, 16:25

Неправильный ответ
Задание: необходимо написать программу, объявит две переменные: первая переменная - переменная...

Программа выдает неправильный ответ
Дан двумерный массив целых чисел, сформировать одномерный массив, каждый элемент которого равен...

Задача выводит неправильный ответ
Дан двумерный массив. Удалить из него все элементы, кратные четырем и трем. static void...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

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