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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 41, средняя оценка - 4.93
Mary588
0 / 0 / 0
Регистрация: 12.02.2011
Сообщений: 37
#1

Не используя никаких операций, кроме умножения и присваивания, составить программу, вычисляющую a7 за 4 операции умножения - C++

28.09.2011, 19:09. Просмотров 5410. Ответов 22
Метки нет (Все метки)

1.Дано число a. Не используя никаких операций, кроме умножения и присваивания, составить программу, вычисляющую a7 за 4 операции умножения;


2. Выполнить указанные вычисления и распечатать полученные результаты.
signed int MAX - signed int MAX+1
unsigned int MAX - unsigned int MAX+1
signed int MIN - signed int MIN-1
unsigned int MIN - unsigned int MIN-1

3. Для типов данных char, short, int, long с квалификаторами signed, unsigned составить программу, которая выполняет указанные преобразования типов, и вывести полученные результаты.
signed char - signed short int - signed int - signed long
unsigned char - unsigned short int - unsigned int - unsigned long
unsigned long - unsigned int - unsigned short int - unsigned char
signed long - signed int - signed short int - signed char

4. Составить программу, выполняющую вычисление конечной суммы N элементов и сравнения полученного значения с контрольным значением.
Вид суммы Контрольное значение
13+23+33+43+…+N3 N2*(N+1) 2/4


Сегодня, 16:39

Добавлено через 9 минут
4 сам написал;три остальные вроде элементарные,но не получаются(
 Комментарий модератора 
Дубли прекращаем плодить!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.09.2011, 19:09     Не используя никаких операций, кроме умножения и присваивания, составить программу, вычисляющую a7 за 4 операции умножения
Посмотрите здесь:
C++ Цикл: Используя только операции умножения и деления вычислить: A^n (A в степени n) , минимизировав число операций
C++ Написать программу для нахождения A28, используя шесть операций умножения
Не пользуясь никакими другими арифметическими операциями, кроме умножения, получить А в 21 степени, за шесть операций. C++
C++ Не пользуясь никакими арифметическими операциями, кроме умножения, получить: a4, a12 и a28 за шесть операций
Используя рекурсию, перемножить 2 натуральных числа не используя операции умножения и иметь логарифмическую сложность C++
Написать функцию умножения двух,заданных с клавиатуры чисел, используя только операцию умножения и рекурсию C++
Не пользуясь никакими другими арифметическими операциями, кроме умножения, сложения и вычитания, вычислить за минимальное число операций C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
01.10.2011, 21:06     Не используя никаких операций, кроме умножения и присваивания, составить программу, вычисляющую a7 за 4 операции умножения #16
В третьем задании вам нужно использовать приведение типов. Но тут кроется загвоздка. Если написать так
C++
1
2
3
char a = '1';
int aa = static_cast<int>(a);
std::cout << aa;
то мы получим номер символа 1, в данном случае вывод будет 49. Если же мы напишем так
C++
1
2
3
char a = '1';
int aa = atoi(&a);
std::cout << aa;
то получим 1. Хотя, возможно, я слишком сгущаю краски, и вам нужно использовать везде static_cast<T>(variable)
Mary588
0 / 0 / 0
Регистрация: 12.02.2011
Сообщений: 37
01.10.2011, 21:36  [ТС]     Не используя никаких операций, кроме умножения и присваивания, составить программу, вычисляющую a7 за 4 операции умножения #17
пятый раз прочитал конспект лекций.все равно не понимаю(

Добавлено через 11 минут
Для решения первой части задания надо в программе определить переменные указанных типов, присвоить одной из них (первой в цепочке) необходимое значение (максимальное для соответствующего типа), а потом присвоить значение этой переменной переменной следующего типа, потом значение новой переменной – переменной другого типа и т.д. После выполнения всех присваиваний для одной величины нужно распечатать значения всех переменных, а потом повторить описанные выше действия для минимального и произвольного значений.Так???

Добавлено через 9 минут
soon,
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
01.10.2011, 21:42     Не используя никаких операций, кроме умножения и присваивания, составить программу, вычисляющую a7 за 4 операции умножения #18
Для решения первой части задания надо в программе определить переменные указанных типов, присвоить одной из них (первой в цепочке) необходимое значение (максимальное для соответствующего типа), а потом присвоить значение этой переменной переменной следующего типа, потом значение новой переменной – переменной другого типа и т.д. После выполнения всех присваиваний для одной величины нужно распечатать значения всех переменных, а потом повторить описанные выше действия для минимального и произвольного значений.Так???
Ну, по видимому, так. И все же, я настоятельно вам рекомендую почитать про static_cast перед использованием в своей программе.
Liraim
6 / 6 / 0
Регистрация: 28.01.2009
Сообщений: 15
01.10.2011, 22:21     Не используя никаких операций, кроме умножения и присваивания, составить программу, вычисляющую a7 за 4 операции умножения #19
Мне кажется во втором задании, подразумевается:
1) signed int MAX - signed int MAX+1
C++
1
2
3
4
signed int sx = INT_MAX;
signed int sy = INT_MAX + 1;
signed int sz = sx - sy;
printf(sz);
2) unsigned int MAX - unsigned int MAX+1, по аналогии:
C++
1
2
3
4
unsigned int ux = UINT_MAX;
unsigned int uy = UINT_MAX + 1;
unsigned int uz = ux - uy;
printf(uz);
с 3) signed int MIN - signed int MIN-1
и 4) unsigned int MIN - unsigned int MIN-1
абсолютно аналогично, только используя константы INT_MIN и UINT_MIN.
Вот так я понимаю это задание.
Если это тоже что имели ввиду тут, то извиняюсь за дублирование.
Mary588
0 / 0 / 0
Регистрация: 12.02.2011
Сообщений: 37
01.10.2011, 22:28  [ТС]     Не используя никаких операций, кроме умножения и присваивания, составить программу, вычисляющую a7 за 4 операции умножения #20
soon, а ты знаешь,какой будет тело программы?

Добавлено через 35 секунд
Liraim, задание 2 не знаешь?..

Добавлено через 5 минут
Liraim, то есть 3.совсем его не понимаю.как программы тело писать!
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
01.10.2011, 22:36     Не используя никаких операций, кроме умножения и присваивания, составить программу, вычисляющую a7 за 4 операции умножения #21
Мне кажется во втором задании, подразумевается:
1) signed int MAX - signed int MAX+1
А по мне так это обычная задача на переполнения. Хотя... Все может быть. ТС-у могу посоветовать только одно - конспектировать более тщательно.
soon, а ты знаешь,какой будет тело программы?
Знаю. Но мозги тоже надо иногда включать. Я вам практически полностью разжевал про преобразования(в рамках данной задачи). Теперь дело за вами.
Liraim
6 / 6 / 0
Регистрация: 28.01.2009
Сообщений: 15
01.10.2011, 22:42     Не используя никаких операций, кроме умножения и присваивания, составить программу, вычисляющую a7 за 4 операции умножения #22
Я предполагаю, там стоит задача показать что произойдет, если типы большего размера приводить к типам меньшего размера и наоборот.
То есть тебе нужно написать программу, которая получает число первого типа из списка например:
необходимо осуществить преобразования:
signed char - signed short int - signed int - signed long
Ты задаешь какое-либо значение переменной типа, такого как первый тип в цепочке, преобразуешь его ко второму типу в цепочки, выводишь его на экран, потом к третьему типа и снова выводишь на экран и т.д. до конца цепочки.
Думаю принцип понятен.
Как осуществляется преобразование тебе уже написали.
Только функция atoi() тебе не нужна, тут тип char, интерпретируется как целочисленный тип.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.10.2011, 12:57     Не используя никаких операций, кроме умножения и присваивания, составить программу, вычисляющую a7 за 4 операции умножения
Еще ссылки по теме:
C++ Определить значение n^3, не используя операции умножения
C++ Составьте программу, вычисляющую A*B, не пользуясь операцией умножения
C++ Возвести число в 10 степень, используя только четыре операции умножения
C++ Не используя операции умножения и деления, найти количество отрезков, расположенных на отрезке А
C++ Перегрузка операторов умножения и присваивания

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

Или воспользуйтесь поиском по форуму:
Mary588
0 / 0 / 0
Регистрация: 12.02.2011
Сообщений: 37
02.10.2011, 12:57  [ТС]     Не используя никаких операций, кроме умножения и присваивания, составить программу, вычисляющую a7 за 4 операции умножения #23
signed char sc;
signed short int ssi;
signed int si;
signed long sl;

sc = CHAR_MAX;
printf("singned char sc = %d\n", sc);
ssi = (signed short int)sc;
printf("signed short int ssi = %d\n", ssi);
si = (signed int)ssi;
printf("signed short int si = %d\n", si);
sl = (signed long)si;
printf("signed long sl = %d\n\n", sl);
есть ошибки?....для первой цепочки..
Yandex
Объявления
02.10.2011, 12:57     Не используя никаких операций, кроме умножения и присваивания, составить программу, вычисляющую a7 за 4 операции умножения
Ответ Создать тему
Опции темы

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