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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Шифрование чисел http://www.cyberforum.ru/cpp-beginners/thread164516.html
Программа должна шифровать число следующим образом: заменять каждую цифру остатком от деления (цифра+7)/10. Затем написать программу дешифровки для получения исходных чисел. (Задачка взята собственно из книги Дейтела.) Первая часть затруднений не вызывает, а вот с дешифровкой не могу сообразить. Как из остатка можно получить исходное делимое? Диапазон чисел тут небольшой (получается от 7 до 16),...
C++ Программа для перевода валют Помогите пожалуйста,с++ не проходили,а уже скоро зачетная неделя будет,и там есть с++ и вот эти 2 задачи. 1)Напишите программу, которая переводит рубли в евро с возможностью изменения курса валюты. 2)В одномерном массиве,состоящем из n целых чисел элементов,вычислить: 1-номер максимального элемента 2-сумму элементов,расположенных после максимального элемента. буду всем очень... http://www.cyberforum.ru/cpp-beginners/thread164508.html
Разбить программу на потоки C++
Помогите пожалуйста разбить программу на потоки. Всего у нас три суммы в программе, т.е. должно быть три потока, которые в итоге выводят конечный результат. Проще говоря программа должна быть параллельной и иметь три потока. Вот я начал пробовать, но что-то не выходит. #include <iostream> #include <windows.h> #include <pthread> void * func_MyThread(void * args) { int S=0; // int i; int...
C++ Сортировка двунаправленного линейного списка по алгоритму Хоара
ПОМОГИТЕ СРОЧНО!!!! нужно отсортировать двунаправленный линейный список по алгоритму Хоара менять местами можно только указатели!! код алгоритма Хоара : int split(T * a, int n){ int i = 0, j = n - 1; if (a > a){ T x = a; a - a; a = x } int max = i , min = j ; while...
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;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru