Нулевые результаты при вычислении выражения - C (СИ)
Формулировка задачи:
Всем добрый день. Подскажите, пожалуйста, почему прога не считает а выводит нулевые результаты?
Заранeе спасибо.
Листинг программы
- #include <stdio.h>
- #include <stdlib.h>
- struct chisla
- {
- int a;
- int b;
- int c;
- int d;
- }comp;
- int main()
- {
- //--------------------FIRST PAIR--------------------//
- printf("\n\n\tEnter first pair (a+bi).");
- printf("\n\tEnter a: ");
- scanf("%d", &comp.a);
- printf("\n\tEnter b: ");
- scanf("%d", &comp.b);
- //---------------------SECOND PAIR--------------------//
- printf("\n\n\tEnter first pair (c+di).");
- printf("\n\tEnter c: ");
- scanf("%d", &comp.c);
- printf("\n\tEnter d: ");
- scanf("%d", &comp.d);
- //--------------------DIVIDEND----------------------//
- float di[2];
- di[0]=((comp.a*comp.c+comp.b*comp.d) / (comp.c * comp.c + comp.d * comp.d));
- di[1]=((comp.b*comp.c-comp.a*comp.d) / (comp.c * comp.c + comp.d * comp.d));
- if(di[1]>0)
- {
- printf("\n\n\tDividend is: %0.2f+%0.2fi", di[0], di[1]);
- }
- else
- {
- printf("\n\n\tDividend is: %0.2f%0.2fi", di[0], di[1]);
- }
- return 0;
- }
Решение задачи: «Нулевые результаты при вычислении выражения»
textual
Листинг программы
- int di[2];
- di[0]=((comp.a*comp.c+comp.b*comp.d) / (comp.c * comp.c + comp.d * comp.d));
- di[1]=((comp.b*comp.c-comp.a*comp.d) / (comp.c * comp.c + comp.d * comp.d));
Объяснение кода листинга программы
- Объявляется массив
di
размером 2. - Задаются значения переменных
comp.a
,comp.b
,comp.c
,comp.d
. - Вычисляется значение
di[0]
по формуле(comp.a*comp.c+comp.b*comp.d) / (comp.c * comp.c + comp.d * comp.d)
. - Вычисляется значение
di[1]
по формуле(comp.b*comp.c-comp.a*comp.d) / (comp.c * comp.c + comp.d * comp.d)
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д