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

программа возведения в степень - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 31, средняя оценка - 4.68
b166er
Сообщений: n/a
25.05.2009, 11:00     программа возведения в степень #1
Друзья, я "начинающий" в СИ и поэтому столкнулся с такой проблемой: мой компилятор "Miracle C" Неправильно выполняет код, взятый из учебника Кернигана и Ритчи (программа возведения в степень). Точнее сказать он его исполняет не полностью, а только выводит 2 в 10 степени и все. На остальные девять случаев похоже просто забивает. Кстати с массивами такая же песня... Пожалуйста подскажите что делать?
Заранее спасибо...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
25.05.2009, 11:20     программа возведения в степень #2
Выложи свою прогу, может где ошибся, когда переписывал с книги.
b166er
Сообщений: n/a
26.05.2009, 14:14     программа возведения в степень #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<stdio.h>
int power(int m, int n)
main()
{
int i;
for(i=0;i<10;++i)
  printf("%d %d\n",i,power(2,i));
return 0;
}
 
int power(int base, int n)
{
int i,p;
p=1;
for(i=1;i<=n,++i)
  p=p*base;
return p;
}
firewave
 Аватар для firewave
1 / 1 / 0
Регистрация: 04.05.2009
Сообщений: 49
26.05.2009, 21:02     программа возведения в степень #4
используй функцию paw, если до большой степени подносишь, если до квадрата, достаточно р*р и всьо))
EnzoMatrix
 Аватар для EnzoMatrix
120 / 120 / 4
Регистрация: 14.03.2009
Сообщений: 462
26.05.2009, 21:05     программа возведения в степень #5
Цитата Сообщение от b166er Посмотреть сообщение
#include<stdio.h>
int power(int m, int n)
случаем там в конце точка с запятой не нужна?
int power(int m, int n);
то есть
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16937 / 5342 / 328
Регистрация: 30.03.2009
Сообщений: 14,363
Записей в блоге: 26
26.05.2009, 21:24     программа возведения в степень #6
Цитата Сообщение от b166er Посмотреть сообщение
Точнее сказать он его исполняет не полностью, а только выводит 2 в 10 степени и все
Рискну предположить, что после "for(i=0;i<10;++i)" ты где-то влепил запятую. Либо у тебя какой-то хитрый компилятор, который забивает на знаки ";" (учитывая замечание CartmanRules'а), то тебе надо тело цикла облачить в фигурные скобки

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<stdio.h>
int power(int m, int n); // <-- добавил ";"
main()
{
  int i;
  for(i=0;i<10;++i)
  {                                           // <--- добавил "{"
    printf("%d %d\n",i,power(2,i));
  }                                           // <--- добавил "}"
  return 0;
}
 
int power(int base, int n)
{
  int i,p;
  p=1;
  for(i=1;i<=n,++i)
  {                                           // <--- добавил "{"
    p=p*base;
  }                                           // <--- добавил "}"
  return p;
}
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
27.05.2009, 03:47     программа возведения в степень #7
Строка for(i=1;i<=n,++i), вместо запятой надо точку с запятой.
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16937 / 5342 / 328
Регистрация: 30.03.2009
Сообщений: 14,363
Записей в блоге: 26
27.05.2009, 10:34     программа возведения в степень #8
Цитата Сообщение от kazak Посмотреть сообщение
Строка for(i=1;i<=n,++i), вместо запятой надо точку с запятой.
ЗАЧОТ! Или всё-таки программу запускал?
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
27.05.2009, 11:49     программа возведения в степень #9
Цитата Сообщение от Evg Посмотреть сообщение
ЗАЧОТ! Или всё-таки программу запускал?
конечно запускал Я такие опечатки "на глаз" плохо воспринимаю.
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16937 / 5342 / 328
Регистрация: 30.03.2009
Сообщений: 14,363
Записей в блоге: 26
27.05.2009, 11:59     программа возведения в степень #10
Цитата Сообщение от kazak Посмотреть сообщение
конечно запускал Я такие опечатки "на глаз" плохо воспринимаю.
А... тогда незачот Просто по описанию я понял, что косяк с ";", но зациклился на том, что он должен быть именно после for'а, а потому дальше смотреть не стал
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.05.2009, 12:02     программа возведения в степень
Еще ссылки по теме:

C++ Программа для возведения числа в степень
C++ Функция возведения в степень.
Перегрузить функцию возведения в степень C++
Рекурсивная функция возведения в степень C++
C++ Класс возведения в степень

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

Или воспользуйтесь поиском по форуму:
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
27.05.2009, 12:02     программа возведения в степень #11
Цитата Сообщение от Evg Посмотреть сообщение
А... тогда незачот
а жаль, тогда буду тренироваться
Yandex
Объявления
27.05.2009, 12:02     программа возведения в степень
Ответ Создать тему
Опции темы

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