Нулевые результаты при вычислении выражения - 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)
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д