Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Bakenchik
0 / 0 / 0
Регистрация: 04.10.2015
Сообщений: 7
1

Помогите найти ошибку в коде

05.10.2015, 18:57. Просмотров 247. Ответов 10
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <vcl.h>
#pragma hdrstop
#include <iostream.h>
#include <conio>
#include <math.h>
 
//---------------------------------------------------------------------------
 
#pragma argsused
int main(int argc, char* argv[])
{int a,b,n;
cin>>b>>n;
a=pow(b,13)%n;
cout<<a;
getch();
}
не идет программа, почему? кто знает? ошибка выходит здесь %n
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.10.2015, 18:57
Ответы с готовыми решениями:

Помогите найти ошибку в коде
#include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;time.h&gt; using namespace std;...

Помогите найти ошибку в коде
// ConsoleApplication5.cpp: определяет точку входа для консольного приложения....

Помогите найти ошибку в коде
Проблема вот в чём, есть программа, довольно большая по кол-ву строк и поэтому...

Помогите найти ошибку в коде
Всем привет.Пишу вот такой простенький код в Visual Studio #include...

SDL - помогите найти ошибку в коде
Ребят, начал изучать SDL. Такая параша #include &lt;SDL.h&gt; int main () { ...

10
RidgeA
11 / 0 / 0
Регистрация: 02.06.2015
Сообщений: 24
05.10.2015, 19:02 2
Функция pow возвращает значение типа double/float.

Операция % (остаток от деления) не применима к таким типам данных.
Можно так
C++
1
2
a=pow(b,13);
a=a%n
0
Redzep
197 / 133 / 88
Регистрация: 21.12.2014
Сообщений: 369
05.10.2015, 19:02 3
Можно список ошибок?
0
Bakenchik
0 / 0 / 0
Регистрация: 04.10.2015
Сообщений: 7
05.10.2015, 19:07  [ТС] 4
Цитата Сообщение от RidgeA Посмотреть сообщение
Функция pow возвращает значение типа double/float.

Операция % (остаток от деления) не применима к таким типам данных.
Можно так
C++
1
2
a=pow(b,13);
a=a%n
не идет так, выводит 0, просто там наверное слишком длинное число выходит

Добавлено через 26 секунд
Цитата Сообщение от Redzep Посмотреть сообщение
Можно список ошибок?
[C++ Error] Unit1.cpp(15): E2060 Illegal use of floating point
0
RidgeA
11 / 0 / 0
Регистрация: 02.06.2015
Сообщений: 24
05.10.2015, 19:10 5
Цитата Сообщение от Bakenchik Посмотреть сообщение
не идет так, выводит 0, просто там наверное слишком длинное число выходит
скорее всего.
У меня компилируется и результат выводит.
Корректность вывода не проверял.

Какие входные данные?
0
Bakenchik
0 / 0 / 0
Регистрация: 04.10.2015
Сообщений: 7
05.10.2015, 19:13  [ТС] 6
Цитата Сообщение от RidgeA Посмотреть сообщение
скорее всего.
У меня компилируется и результат выводит.
Корректность вывода не проверял.

Какие входные данные?
На пример b=13 n=36 программа выводить что -3, это не правильно
0
RidgeA
11 / 0 / 0
Регистрация: 02.06.2015
Сообщений: 24
05.10.2015, 19:19 7
13^13 = 302 875 106 592 253
int (32 bit ) = 2 147 483 647
unsigned int (32 bit ) = 4 294 967 296
0
Bakenchik
0 / 0 / 0
Регистрация: 04.10.2015
Сообщений: 7
05.10.2015, 19:33  [ТС] 8
Извините, не понял, а что мне это дает

Добавлено через 22 секунды
Цитата Сообщение от RidgeA Посмотреть сообщение
13^13 = 302 875 106 592 253
int (32 bit ) = 2 147 483 647
unsigned int (32 bit ) = 4 294 967 296
Извините, не понял, а что мне это дает
0
UltraPenguin
230 / 96 / 27
Регистрация: 20.03.2014
Сообщений: 304
Завершенные тесты: 1
05.10.2015, 19:46 9
Цитата Сообщение от Bakenchik Посмотреть сообщение
Извините, не понял, а что мне это дает
Что вы используете неверный тип данных. int слишком мало для таких чисел. Возьмите int64_t.
0
RidgeA
11 / 0 / 0
Регистрация: 02.06.2015
Сообщений: 24
05.10.2015, 19:48 10
Цитата Сообщение от Bakenchik Посмотреть сообщение
Извините, не понял, а что мне это дает
это максимальные значения типов данных.
Для вычисления 13^13 они не подходят.

Не знаю что за компилятор и среда.
Если не ошибаюсь, то максимально возможное стандартное значение
__int64 = long long = -9 223 372 036 854 775 808 - 9 223 372 036 854 775 807
или оно же
unsigned 18 446 744 073 709 551 615
Вроде подходит.

Если нужно больше - то единственный вариант https://ru.wikipedia.org/wiki/%D0%94...B8%D0%BA%D0%B0
0
IrineK
Заблокирован
05.10.2015, 20:23 11
Цитата Сообщение от Bakenchik Посмотреть сообщение
не идет программа, почему? кто знает?
Никто до сих пор не знает, что именно ваша программа должна делать.
0
05.10.2015, 20:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.10.2015, 20:23

Помогите найти и исправить ошибку в коде
Не очень хорошо пока что понимаю язык,поэтому,думаю,косяков довольно много. ...

Помогите найти ошибку в коде. Функция exit
Доброго времени суток! Помогите разобраться, почему в коде(код определяет...

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


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

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

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