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

Структур комплексных чисел - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Шифрование чисел http://www.cyberforum.ru/cpp-beginners/thread164516.html
Программа должна шифровать число следующим образом: заменять каждую цифру остатком от деления (цифра+7)/10. Затем написать программу дешифровки для получения исходных чисел. (Задачка взята собственно...
C++ Программа для перевода валют Помогите пожалуйста,с++ не проходили,а уже скоро зачетная неделя будет,и там есть с++ и вот эти 2 задачи. 1)Напишите программу, которая переводит рубли в евро с возможностью изменения курса валюты.... http://www.cyberforum.ru/cpp-beginners/thread164508.html
Разбить программу на потоки C++
Помогите пожалуйста разбить программу на потоки. Всего у нас три суммы в программе, т.е. должно быть три потока, которые в итоге выводят конечный результат. Проще говоря программа должна быть...
C++ Сортировка двунаправленного линейного списка по алгоритму Хоара
ПОМОГИТЕ СРОЧНО!!!! нужно отсортировать двунаправленный линейный список по алгоритму Хоара менять местами можно только указатели!! код алгоритма Хоара : int split(T * a, int n){ ...
C++ Монотонная последовательность http://www.cyberforum.ru/cpp-beginners/thread164493.html
Не могу сообразить как реализовать на С++ эту задачу: Дана последовательность целых чисел и требуется проверить будет ли она монотонно возрастать/убывать? Пожалуйста, подскажите кто может.
C++ массив и матрица Всем привет! Если кто знает как решить то помогите потому что у меня не получается сделать самому(я пробовал) Условие: Дана целочисленная прямоугольная матрица. Определить номер первого из... подробнее

Показать сообщение отдельно
White Luna
32 / 26 / 2
Регистрация: 08.09.2010
Сообщений: 402
17.09.2010, 23:02  [ТС]
Вот еще 2 версии рабочей проги по этому вопросу
1) через оператор switch
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
// laba1.cpp: определяет точку входа для консольного приложения.
//
#include "stdafx.h"
#include "tchar.h"
#include "string.h"
#include "stdio.h"
#include "locale.h"
#include "iostream"
#include "conio.h"
 
using namespace std;
 
struct KOMPLEX
{
        double Re;
        double Im;
};
 
int _tmain()
{
setlocale (LC_ALL, "Russian");
        KOMPLEX a, f, k;
        char w;
        int q=1;
        do 
        {
        printf("Введите действительную чать 1ого числа \n ");
        scanf("%lf", &a.Re);
        printf("Введите мнимую чать 1ого числа \n ");
        scanf("%lf", &a.Im);
 
        printf("Введите действительную чать 2ого числа \n ");
        scanf("%lf", &f.Re);
        printf("Введите мнимую чать 2ого числа \n ");
        scanf("%lf", &f.Im);
 
        printf("Введите знак действи который хотите совершить -, +, *, /  или  s -  что будет означать что вам необходимо найти сопряженное  для 1ого комплексного числа: \n ");
        scanf("%*c%c", &w); // конструкция %*c, "проглатывает" символ '\n', который в потоке после предыдущего ввода остался,
                            // %с - считывает 1 символ и помещает его в переменную w;
 
        switch (w)
        {
                case '-':
                        k.Re = a.Re - f.Re;
                        k.Im = a.Im - f.Im;
                        break;
                case '+':
                        k.Re = a.Re + f.Re;
                        k.Im = a.Im + f.Im;
                        break;
                case '*':
                        k.Re = a.Re * f.Re - a.Im * f.Im;
                        k.Im = a.Re * f.Im + a.Im * f.Re;
                        break;
                case '/':
                        k.Re = (a.Re * f.Re + a.Im * f.Im) / (f.Re * f.Re + f.Im * f.Im);
                        k.Im = (a.Im * f.Re - a.Re * f.Im) / (f.Re * f.Re + f.Im * f.Im);
                        break;
                case 's':
                        k.Re = a.Re;
                        k.Im = - a.Im;
                        break;
        };
        printf (" Ответ \n");
        if (k.Im<0) { printf("%lf  %lfi \n", k.Re, k.Im);}
        else printf("%lf + %lfi \n", k.Re, k.Im);
 
        printf ("Хотите повторить запрос нажмите 1, выйти нажмите 0 \n");
        scanf_s ("%d", &q);
        }
        while (q==1);
        
       system("pause");
       exit(0);
        _getch();
        return 0;
}
2) через тот же оператор + с использованием функций
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
/ hftfh.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include "tchar.h"
#include "string.h"
#include "stdio.h"
#include "locale.h"
#include "iostream"
#include "conio.h"
 
using namespace std;
 
struct KOMPLEX
{
        double Re;
        double Im;
};
 
                    KOMPLEX minus (KOMPLEX &a, KOMPLEX &f){
                    KOMPLEX k; 
                    k.Re = a.Re - f.Re;
                    k.Im = a.Im - f.Im;
                    return k;};                       
                    
                    KOMPLEX plus (KOMPLEX &a, KOMPLEX &f){
                    KOMPLEX k;
                    k.Re = a.Re + f.Re;
                    k.Im = a.Im + f.Im;
                    return k;};
                    
                        KOMPLEX umnog (KOMPLEX &a, KOMPLEX &f){
                        KOMPLEX k;
                        k.Re = a.Re * f.Re - a.Im * f.Im;
                        k.Im = a.Re * f.Im + a.Im * f.Re;
                        return k;};
                     
               
                        KOMPLEX delenie (KOMPLEX &a, KOMPLEX &f){
                        KOMPLEX k; 
                        k.Re = (a.Re * f.Re + a.Im * f.Im) / (f.Re * f.Re + f.Im * f.Im);
                        k.Im = (a.Im * f.Re - a.Re * f.Im) / (f.Re * f.Re + f.Im * f.Im);
                        return k;};
                     
               
                        KOMPLEX sopryg (KOMPLEX &a, KOMPLEX &f){
                        KOMPLEX k;
                        k.Re = a.Re;
                        k.Im = - a.Im;
                        return k;};
 
                        void znak (KOMPLEX &k){
                        if (k.Im<0) { printf("%lf  %lfi \n", k.Re, k.Im);}
                        else printf("%lf + %lfi \n", k.Re, k.Im);};
int _tmain()
{
        setlocale (LC_ALL, "Russian");
        KOMPLEX a, f, k;
        char w;
        int q=1;
        do{
        printf("Введите действительную чать 1ого числа \n ");
        scanf("%lf", &a.Re);
        printf("Введите мнимую чать 1ого числа \n ");
        scanf("%lf", &a.Im);
 
        printf("Введите действительную чать 2ого числа \n ");
        scanf("%lf", &f.Re);
        printf("Введите мнимую чать 2ого числа \n ");
        scanf("%lf", &f.Im);
 
        printf("Введите знак действи который хотите совершить -, +, *, /  или  s -  что будет означать что вам необходимо найти сопряженное  для 1ого комплексного числа: \n ");
        scanf("%s", &w);
printf (" Ответ \n");
 
        switch (w)
        {
                case '-':
                       znak(minus( a,f));
                        break;
                case '+':
                        znak(plus( a,f));
                                                break;
                case '*':
                        znak(umnog( a,f));                      
                        break;
                case '/':
                        znak(delenie( a,f));
                                                break;
                case 's':
                        znak(sopryg( a,f));                     
                        break;
        };
       
        
 
        printf ("Хотите повторить запрос нажмите 1, выйти нажмите 0 \n");
        scanf_s ("%d", &q);
        }
        while (q==1);
       system("pause");
       exit(0);
        _getch();
        return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.