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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
poiuytrew
0 / 0 / 0
Регистрация: 23.03.2011
Сообщений: 27
#1

Задать два числа как два массива и потом выполнить сложение, умножение и деление - C++

29.09.2011, 05:44. Просмотров 1324. Ответов 16
Метки нет (Все метки)

Здравствуйте! Суть задачи в следующем: Нужно задать два числа как два массива и потом выполнить сложение, умножение и деление с помощью объекта и с помощью функции. Помогите пожалуйста кто знает. Если не сложно, то напишите плз каждую операцию в отдельной программе. (В интернете и на форуме искал, похожего не нашел, сам в C/C++ не шарю, нужно в качестве примеров для ООП и ФП).
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.09.2011, 05:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Задать два числа как два массива и потом выполнить сложение, умножение и деление (C++):

Написать программу, которая вводит с клавиатуры два натуральных числа и выполняет логическое умножение и сложение этих чисел - C++
1. Написать программу, которая вводит с клавиатуры два натуральных числа и выполняет логическое умножение и сложение этих чисел. На экран...

Нужны советы как реализовать сложение, вычитание, умножение полиномов/многочленов и деление на число - C++
Всем здравствуйте! надеюсь написать с вашей помощью программку для сложения, вычитания и умножения полиномов, а также деления на число....

Умножить два целых числа используя сложение - C++
Привет всем, помогите решить, если можно с комментариями что и как, буду очень благодарен, а то у нас курс как-то слишком быстро вперед...

Нестандартное сложение, вычитание, умножение и деление - C++
Что-то на форуме скучно, давайте устроим небольшой интерактивчик, придумываем самые нестандартные способы сложения, вычитания, умножения и...

Сложение и вычитание, умножение и деление, сравнение сумм - C++
Уважаемые форумчане! помогите, пожалуйста, нужно написать программу для работы с устаревшей денежной системой Великобритании. В ней...

Сделать сложение, вычитание, умножение и деление длинных чисел - C++
В общем, задача такая, что надо сделать сложение, вычитание, умножение и деление длинных чисел. Сумму сделал, с вычитанием какая-то засада....

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Nameless One
Эксперт С++
5773 / 3424 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
29.09.2011, 13:02 #2
Цитата Сообщение от poiuytrew Посмотреть сообщение
Нужно задать два числа как два массива
Какое число? Целое? Натуральное? Массив - это массив цифр?

Цитата Сообщение от poiuytrew Посмотреть сообщение
нужно в качестве примеров для ООП и ФП
Цитата Сообщение от poiuytrew Посмотреть сообщение
и с помощью функции
и это тоже надо на С++?
0
poiuytrew
0 / 0 / 0
Регистрация: 23.03.2011
Сообщений: 27
29.09.2011, 13:59  [ТС] #3
в массиве по одному числу, комплексные числа, эти программы и есть примеры ООП и ФП.
Все эти операции нужно сделать вначале с объектами, а потом эти же опирации через функции
0
Nameless One
Эксперт С++
5773 / 3424 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
29.09.2011, 14:06 #4
poiuytrew, т.е. имеем одномерный массив размером в два элемента, в котором первый элемент - это действительная часть, а второй - мнимая?

Добавлено через 1 минуту

Не по теме:

Цитата Сообщение от poiuytrew Посмотреть сообщение
а потом эти же опирации через функции
примеры на функциональное программирование, выполненные на языке С++ - это круто, не спорю...

0
Deviaphan
29.09.2011, 14:15
  #5

Не по теме:

Цитата Сообщение от Nameless One Посмотреть сообщение
то круто, не спорю...
Ещё круче демонстрация возможностей ООП путём создания комплексного числа в виде массива из двух элементов.

1
Nameless One
Эксперт С++
5773 / 3424 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
29.09.2011, 14:47 #6
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ

Не по теме:

Цитата Сообщение от Deviaphan Посмотреть сообщение
Ещё круче демонстрация возможностей ООП путём создания комплексного числа в виде массива из двух элементов.
ну, я думаю, здесь имелось в виду, что этот массив должен быть полем соответствующего класса



Вот пример в "функциональном" (обоже) стиле:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#include <stdio.h>
#include <stdlib.h>
 
typedef double (COMPLEX)[2];
 
#define RE(C) (C)[0]
#define IM(C) (C)[1]
 
/* Макрос "протекающий", так что в реальном приложении
 * его лучше не использовать
 */
#define PRINT(EXP, RES)             \
(EXP);                      \
printf(#EXP ": %.2f + i * (%.2f)\n", RE(RES), IM(RES))
    
void c_add(const COMPLEX, const COMPLEX, COMPLEX);
void c_sub(const COMPLEX, const COMPLEX, COMPLEX);
void c_mul(const COMPLEX, const COMPLEX, COMPLEX);
void c_div(const COMPLEX, const COMPLEX, COMPLEX);
 
int main()
{
    COMPLEX c1 = {1, 2}, c2 = {1, -1}, result;
    PRINT(c1, c1);
    PRINT(c2, c2);
    PRINT(c_add(c1, c2, result), result);
    PRINT(c_sub(c1, c2, result), result);
    PRINT(c_mul(c1, c2, result), result);
    PRINT(c_div(c1, c2, result), result);
    exit(0);
}
 
void c_add(const COMPLEX op1, const COMPLEX op2, COMPLEX result)
{
    RE(result) = RE(op1) + RE(op2);
    IM(result) = IM(op1) + IM(op2);
}
 
void c_sub(const COMPLEX op1, const COMPLEX op2, COMPLEX result)
{
    RE(result) = RE(op1) - RE(op2);
    IM(result) = IM(op1) - IM(op2);
}
 
void c_mul(const COMPLEX op1, const COMPLEX op2, COMPLEX result)
{
    RE(result) = RE(op1) * RE(op2) - IM(op1) * IM(op2);
    IM(result) = RE(op1) * IM(op2) + IM(op1) * RE(op2);
}
 
/* Проверки деления на ноль нет, извините */
void c_div(const COMPLEX op1, const COMPLEX op2, COMPLEX result)
{
    double denom = RE(op2) * RE(op2) + IM(op2) * IM(op2);
    RE(result) = (RE(op1) * RE(op2) + IM(op1) * IM(op2)) / denom;
    IM(result) = (IM(op1) * RE(op2) - RE(op1) * IM(op2)) / denom;
}
1
poiuytrew
0 / 0 / 0
Регистрация: 23.03.2011
Сообщений: 27
29.09.2011, 15:43  [ТС] #7
проще с целым числом тогда. типо [1]+[2]=[3]

Вот пример в "функциональном" (обоже) стиле:
спасиб, это и правда сильно, зато видны недостатки.
0
Nameless One
Эксперт С++
5773 / 3424 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
29.09.2011, 15:48 #8
Цитата Сообщение от poiuytrew Посмотреть сообщение
проще с целым числом
я не понимаю, что ты пишешь.
Сформулируй-ка еще раз задание. Только внятно и полностью
0
poiuytrew
0 / 0 / 0
Регистрация: 23.03.2011
Сообщений: 27
29.09.2011, 15:52  [ТС] #9
все правильно поняли и сделали сложение в "функциональном стиле". Надо еще сложение через объект сделать (для примера ООП). и умножение, деление.
0
Nameless One
Эксперт С++
5773 / 3424 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
29.09.2011, 16:03 #10
poiuytrew, берешь любую реализацию отсюда и переделываешь под свои нужды. А то в очередной раз писать класс комплексных чисел лень. Пойду лучше TCP-сервер на MFC напишу. И почтовик заодно.
1
poiuytrew
0 / 0 / 0
Регистрация: 23.03.2011
Сообщений: 27
30.09.2011, 05:28  [ТС] #11
извините, но ничего не открывается. а можете написать без комплексных чисел, а с целыми?
0
Nameless One
Эксперт С++
5773 / 3424 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
30.09.2011, 06:00 #12
Возьми за основу: Простенький класс работы с комплексными числами.

Цитата Сообщение от poiuytrew Посмотреть сообщение
а можете написать без комплексных чисел, а с целыми?
ЧТО написать?
0
poiuytrew
0 / 0 / 0
Регистрация: 23.03.2011
Сообщений: 27
30.09.2011, 07:08  [ТС] #13
сложение объектом (как пример ООП)
0
Nameless One
Эксперт С++
5773 / 3424 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
30.09.2011, 07:18 #14
Цитата Сообщение от poiuytrew Посмотреть сообщение
сложение объектом
Что должен содержать объект? По каким правилам мы должны совершать сложение?
0
silent_1991
Эксперт С++
4964 / 3040 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
30.09.2011, 12:32 #15
У меня есть очень сильное подозрение, что произошла путаница функционального и процедурного стилей. На си вообще невозможно написать что-либо в функциональном стиле, поскольку в функциональной парадигме отсутствует понятие "переменная", а в императивной это понятие ключевое.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.09.2011, 12:32
Привет! Вот еще темы с ответами:

Задать и вывести два массива - C++
1. Описать и задать 2 массивы типа int и float размерностью 7 Вывести на экран значения всех элементов обоих массивов с использованием...

Ввести два числа и выполнить указанную операцию - C++
2. Цифры 1, 2, 3 и 4 обозначают операции сложение, умножение, вычитание и деление. Предложить пользователю ввести два числа и выбрать...

Как сложить два случайных числа из массива? - C++
Как сложить два случайных числа из массива с++

создать библиотеку из 5 функций: сложение, вычетание, деление, умножение и выделение корня - C++
Нужно срочно сделать курсовую работу, а код написать не могу , как бы ни старался :( задача: создать библиотеку из 5 функций: сложение,...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
30.09.2011, 12:32
Ответ Создать тему
Опции темы

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