Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

Вывести таблицу степеней двойки от нулевой до десятой - C++

10.03.2016, 20:43. Просмотров 1393. Ответов 15
Метки нет (Все метки)

Написать программу, которая выводит таблицу степеней двойки от нулевой до десятой. Ниже приведен рекомендуемый вид экрана во время работы программы.
Таблица степеней двойки
0 1
1 2
2 4
3 8
4 16
5 32
6 64
7 128
8 256
9 512
10 1024
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.03.2016, 20:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вывести таблицу степеней двойки от нулевой до десятой (C++):

Вывести таблицу степеней двойки от нулевой до десятой - C++
помогите решить Написать программу, которая выводит таблицу степеней двойки от нулевой до десятой. В виде: 0 1 1 2 2 ...

Оператор цикла. Вывести таблицу степеней двойки от нулевой до десятой - C++
Задание выполните, используя все три оператора цикла (т.е. вывод результатов на экран у Вас будет осуществляться трижды с коментарием о...

программа, которая выводит таблицу степеней двойки от нулевой до десятой - C++
Написать программу, которая выводит таблицу степеней двойки от нулевой до десятой.

Вывести таблицу степеней двойки - C++
Здравствуйте, нужна помощь в составлении программы, которая выводит таблицу степеней двойки (от нулевой до десятой). Ниже представлен...

Вывести на экран таблицу степеней двойки - C++
помогите решить эти задачи на Turbo С++, где используются printf scanf и тд: 1)Вывести на экран таблицу степеней двойки: 2, где n...

Вывести на экран таблицу степеней двойки - C++
Вывести на экран таблицу степеней двойки: 2^n, где n изменяется от -10 до 10. Операцию возведения целого числа в степень оформить в виде...

15
dcshowcousa
26 / 18 / 48
Регистрация: 22.10.2015
Сообщений: 303
11.03.2016, 04:32 #2
C++
1
2
for(int i=0;i<=10;i++)
 printf("%i %i\n",i,pow(2,i));
0
TheCalligrapher
С чаем беда...
Эксперт CЭксперт С++
3976 / 2200 / 553
Регистрация: 18.10.2014
Сообщений: 3,814
11.03.2016, 04:47 #3
У меня есть даже два варианта

1.

C++
1
2
3
4
#include <iostream>
int main() {
  std::cout << "0 1\n1 2\n2 4\n3 8\n4 16\n5 32\n6 64\n7 128\n8 256\n9 512\n10 1024" << std::endl;
}
2.

C++
1
2
3
4
5
6
7
8
#include <iostream>
 
template <unsigned I> struct P : P<I - 1> { P() { std::cout << I << " " << (1 << I) << std::endl; } };
template <> struct P<0> { P() { std::cout << 0 << " " << (1 << 0) << std::endl; } };
 
P<10> p;
 
int main(){}
0
zss
Модератор
Эксперт С++
6634 / 6196 / 2051
Регистрация: 18.12.2011
Сообщений: 16,155
Завершенные тесты: 1
11.03.2016, 08:40 #4
Цитата Сообщение от dcshowcousa Посмотреть сообщение
pow(2,i)
Можете нарваться на то, что компилятор ругнется на эту функцию.
Нет функции pow(int,int), а есть pow(double,int) и pow(float,int), и компилятор в недоумении,
какую из них выбрать. К тому же, в таких случаях степень вычисляется рекуррентно:
C++
1
2
3
4
5
6
int ip=1;
for(int i=0;i<=10;i++)
{
    cout<<i<<'\t'<<ip<<endl;
    ip*=2;
}
0
AlexVRud
464 / 175 / 46
Регистрация: 04.07.2014
Сообщений: 482
11.03.2016, 12:31 #5
C++
1
2
  for(int i=0, p=1; i<=10; ++i, p<<=1)
    std::cout << i << ' ' << p << '\n';
0
Goga5
7 / 38 / 14
Регистрация: 06.12.2015
Сообщений: 155
11.03.2016, 12:45 #6
Цитата Сообщение от zss Посмотреть сообщение
Можете нарваться на то, что компилятор ругнется на эту функцию.
Нет функции pow(int,int), а есть pow(double,int) и pow(float,int), и компилятор в недоумении,
какую из них выбрать.
В билдере есть функция pow(double, double). Думаю его код нормально будет работать.
Правда есть еще функция pow(long double, long double) - то же самое. Все будет работать нормально.
Кстати, что означает репутация пользователся -10 или -17? Пользователь сильно накосячил?
0
Croessmah
Ушел
Эксперт CЭксперт С++
13565 / 7716 / 873
Регистрация: 27.09.2012
Сообщений: 18,996
Записей в блоге: 3
Завершенные тесты: 1
11.03.2016, 14:01 #7
Цитата Сообщение от Goga5 Посмотреть сообщение
Кстати, что означает репутация пользователся -10 или -17?
http://www.cyberforum.ru/about-forum/thread1009691.html
0
TheCalligrapher
С чаем беда...
Эксперт CЭксперт С++
3976 / 2200 / 553
Регистрация: 18.10.2014
Сообщений: 3,814
11.03.2016, 17:59 #8
Цитата Сообщение от Goga5 Посмотреть сообщение
В билдере есть функция pow(double, double). Думаю его код нормально будет работать.
Даже если "в билдере" и есть такая функция, результат ее, я думаю, имеет тип, весьма и весьма отличный от 'int'. Попытки печатать этот результат через спецификатор формата '%i' в 'printf' ни к каким осмысленным результатам не приведут. Поэтому нормально работать этот код все таки не будет.
0
Goga5
7 / 38 / 14
Регистрация: 06.12.2015
Сообщений: 155
12.03.2016, 19:27 #9
Я и не говорил что int возвращает ясно понятно, что pow(double, double) вернет double.
В случае pow(long double, long double) - вернет long double. Но, если заранее известно, что степени двойки - все целые числа, что мешает просто преобразовать дробное в целое(Риторический вопрос).
0
TheCalligrapher
С чаем беда...
Эксперт CЭксперт С++
3976 / 2200 / 553
Регистрация: 18.10.2014
Сообщений: 3,814
12.03.2016, 19:29 #10
Цитата Сообщение от Goga5 Посмотреть сообщение
что мешает просто преобразовать дробное в целое(Риторический вопрос).
Ничего не мешает. Речь лишь идет о том, что ваше утверждение "код нормально будет работать" - неверно в контексте исходной версии кода. Как ни верти, исправлять ее придется.
0
Goga5
7 / 38 / 14
Регистрация: 06.12.2015
Сообщений: 155
13.03.2016, 13:51 #11
Короче, тут нужно разбираться кто в чем пишет и делать привязку к этой среде. Я в Билдере пишу. А чувак dcshowcousa во втором сообщении наверное в "Visual C++ 6", "Visual Studio 2015" или что-то подобное.
0
TheCalligrapher
С чаем беда...
Эксперт CЭксперт С++
3976 / 2200 / 553
Регистрация: 18.10.2014
Сообщений: 3,814
13.03.2016, 19:48 #12
Цитата Сообщение от Goga5 Посмотреть сообщение
нужно разбираться кто в чем пишет и делать привязку к этой среде.
Во-первых, мне не понятно зачем делать "привязку к среде" в форуме о языке С++. При чем здесь вообще какая-то "среда"?

Во-вторых, код, о котором шла речь, не работает правильно ни в какой "среде".
0
Goga5
7 / 38 / 14
Регистрация: 06.12.2015
Сообщений: 155
14.03.2016, 08:34 #13
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Во-первых, мне не понятно зачем делать "привязку к среде" в форуме о языке С++. При чем здесь вообще какая-то "среда"?
- я думаю есть какие-то специфические операторы, которые либо работают только в этой среде, либо характерно применять только эти операторы. Например для Билдера характерно выведение данных через Label1->Caption и ввод данных через Edit1->Text. А если чувак хочет чтобы ему через std::cin и std::cout вывели, то во-первых это у меня ассоциируется с Досом и консольными приложениями. Что не очень хорошо для меня и наверное для любого нормального прораммиста. А во-вторых, он это должен четко указать в техническом задании.
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Во-вторых, код, о котором шла речь, не работает правильно ни в какой "среде".
- как так? А зачем его тогда писали вообще? Думаю будет работать. Тот кто писал уж наверное не дуб деревянный и знает о чем говорит.
0
TheCalligrapher
С чаем беда...
Эксперт CЭксперт С++
3976 / 2200 / 553
Регистрация: 18.10.2014
Сообщений: 3,814
14.03.2016, 08:43 #14
Цитата Сообщение от Goga5 Посмотреть сообщение
- как так? А зачем его тогда писали вообще? Думаю будет работать. Тот кто писал уж наверное не дуб деревянный и знает о чем говорит.
Тут все очень просто: кто-то написал код "из головы" прямо в форум, не удосужившись предварительно проверить. В результате в код вкралась опечатка. Или в код вкралась ошибка, вызванная заблуждениями его автора. Или еще что-то в этом роде произошло, и код оказался неработоспособным. Такое часто бывает, ничего необычного в этом нет. Я думал, что это саио собой разумеется.
0
Alexandr_1982
177 / 75 / 17
Регистрация: 04.11.2013
Сообщений: 384
Записей в блоге: 4
14.03.2016, 08:48 #15
C++
1
2
3
4
5
6
7
#include <stdio.h>
 
void main()
{
for(int i=1, j = 0; j<=10;j++, i*=2)
printf("%d %d\n", j, i);
}
0
14.03.2016, 08:48
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.03.2016, 08:48
Привет! Вот еще темы с ответами:

Вывести на экран таблицу степеней - C++
Вывести на экран таблицу степеней: k в степени 1/m,где m изменяется от -5 до 5,k-вещественное число.Операцию возведения вещественного числа...

Является ли число суммой степеней двойки? - C++
помогите написать такую функцию, чтоб проверяла число на сумму степеней двойки(без повторений этих степеней) например число 30...

Заполнить массив значениями степеней двойки - C++
Заполнить массив из 16-ти элементов степенями 2-ки: 1,2,4,8,... Используя цикл For онли :)

Разложить число на сумму степеней двойки - C++
помогите написать функцию, раскладывающую число на сумму степеней двойки. т.е. у меня есть 6 прав у пользователей, которые...


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

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

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