0 / 0 / 0
Регистрация: 01.03.2016
Сообщений: 14
1

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

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

Студворк — интернет-сервис помощи студентам
Написать программу, которая выводит таблицу степеней двойки от нулевой до десятой. Ниже приведен рекомендуемый вид экрана во время работы программы.
Таблица степеней двойки
0 1
1 2
2 4
3 8
4 16
5 32
6 64
7 128
8 256
9 512
10 1024
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.03.2016, 20:43
Ответы с готовыми решениями:

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

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

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

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

15
28 / 20 / 97
Регистрация: 22.10.2015
Сообщений: 304
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
Вездепух
Эксперт CЭксперт С++
11087 / 6054 / 1652
Регистрация: 18.10.2014
Сообщений: 15,197
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
Модератор
Эксперт С++
13411 / 10521 / 6285
Регистрация: 18.12.2011
Сообщений: 28,095
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
693 / 303 / 99
Регистрация: 04.07.2014
Сообщений: 843
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
61 / 39 / 20
Регистрация: 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
Неэпический
17848 / 10616 / 2049
Регистрация: 27.09.2012
Сообщений: 26,686
Записей в блоге: 1
11.03.2016, 14:01 7
Цитата Сообщение от Goga5 Посмотреть сообщение
Кстати, что означает репутация пользователся -10 или -17?
https://www.cyberforum.ru/abou... 09691.html
0
Вездепух
Эксперт CЭксперт С++
11087 / 6054 / 1652
Регистрация: 18.10.2014
Сообщений: 15,197
11.03.2016, 17:59 8
Цитата Сообщение от Goga5 Посмотреть сообщение
В билдере есть функция pow(double, double). Думаю его код нормально будет работать.
Даже если "в билдере" и есть такая функция, результат ее, я думаю, имеет тип, весьма и весьма отличный от 'int'. Попытки печатать этот результат через спецификатор формата '%i' в 'printf' ни к каким осмысленным результатам не приведут. Поэтому нормально работать этот код все таки не будет.
0
61 / 39 / 20
Регистрация: 06.12.2015
Сообщений: 155
12.03.2016, 19:27 9
Я и не говорил что int возвращает ясно понятно, что pow(double, double) вернет double.
В случае pow(long double, long double) - вернет long double. Но, если заранее известно, что степени двойки - все целые числа, что мешает просто преобразовать дробное в целое(Риторический вопрос).
0
Вездепух
Эксперт CЭксперт С++
11087 / 6054 / 1652
Регистрация: 18.10.2014
Сообщений: 15,197
12.03.2016, 19:29 10
Цитата Сообщение от Goga5 Посмотреть сообщение
что мешает просто преобразовать дробное в целое(Риторический вопрос).
Ничего не мешает. Речь лишь идет о том, что ваше утверждение "код нормально будет работать" - неверно в контексте исходной версии кода. Как ни верти, исправлять ее придется.
0
61 / 39 / 20
Регистрация: 06.12.2015
Сообщений: 155
13.03.2016, 13:51 11
Короче, тут нужно разбираться кто в чем пишет и делать привязку к этой среде. Я в Билдере пишу. А чувак dcshowcousa во втором сообщении наверное в "Visual C++ 6", "Visual Studio 2015" или что-то подобное.
0
Вездепух
Эксперт CЭксперт С++
11087 / 6054 / 1652
Регистрация: 18.10.2014
Сообщений: 15,197
13.03.2016, 19:48 12
Цитата Сообщение от Goga5 Посмотреть сообщение
нужно разбираться кто в чем пишет и делать привязку к этой среде.
Во-первых, мне не понятно зачем делать "привязку к среде" в форуме о языке С++. При чем здесь вообще какая-то "среда"?

Во-вторых, код, о котором шла речь, не работает правильно ни в какой "среде".
0
61 / 39 / 20
Регистрация: 06.12.2015
Сообщений: 155
14.03.2016, 08:34 13
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Во-первых, мне не понятно зачем делать "привязку к среде" в форуме о языке С++. При чем здесь вообще какая-то "среда"?
- я думаю есть какие-то специфические операторы, которые либо работают только в этой среде, либо характерно применять только эти операторы. Например для Билдера характерно выведение данных через Label1->Caption и ввод данных через Edit1->Text. А если чувак хочет чтобы ему через std::cin и std::cout вывели, то во-первых это у меня ассоциируется с Досом и консольными приложениями. Что не очень хорошо для меня и наверное для любого нормального прораммиста. А во-вторых, он это должен четко указать в техническом задании.
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Во-вторых, код, о котором шла речь, не работает правильно ни в какой "среде".
- как так? А зачем его тогда писали вообще? Думаю будет работать. Тот кто писал уж наверное не дуб деревянный и знает о чем говорит.
0
Вездепух
Эксперт CЭксперт С++
11087 / 6054 / 1652
Регистрация: 18.10.2014
Сообщений: 15,197
14.03.2016, 08:43 14
Цитата Сообщение от Goga5 Посмотреть сообщение
- как так? А зачем его тогда писали вообще? Думаю будет работать. Тот кто писал уж наверное не дуб деревянный и знает о чем говорит.
Тут все очень просто: кто-то написал код "из головы" прямо в форум, не удосужившись предварительно проверить. В результате в код вкралась опечатка. Или в код вкралась ошибка, вызванная заблуждениями его автора. Или еще что-то в этом роде произошло, и код оказался неработоспособным. Такое часто бывает, ничего необычного в этом нет. Я думал, что это саио собой разумеется.
0
191 / 90 / 33
Регистрация: 04.11.2013
Сообщений: 474
Записей в блоге: 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
61 / 39 / 20
Регистрация: 06.12.2015
Сообщений: 155
16.03.2016, 17:20 16
Слушай, TheCalligrapher, и правда не работает вот этот код:
C++
1
2
for(int i=0;i<=10;i++)
    printf("%i %i\n",i,pow(2,i));
Но смысл не в том, что нет функции pow(double, double), а в том, что степень нужно заранее посчитать. Вот этот код работает:
C++
1
2
3
4
5
int s, perem;
for(int i = 0; i <= 10; i++){
    s = pow(2,i);
    printf("%d %d\n",i,s);}
std::cin >> perem;
Для того чтобы этот код работал нужно подключить библиотеку math.h. Код Alexandr1982 также работает.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.03.2016, 17:20
Помогаю со студенческими работами здесь

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

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

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

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

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

Написать программу, которая выводит таблицу степеней двойки, от нулевой до десятой
К теме прикреплено png , как это должно выглядеть.. С++ Не нужно тупо прописывать 11 строк printf...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru