Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.10.2019, 10:41   #1
merseyside
Новичок
Джуниор
 
Регистрация: 25.10.2019
Сообщений: 2
По умолчанию Задача на нахождение доли C#

Добрый день, столкнулся с проблемой.
Задача:
Монитор имеет разрешение экрана W1xH1 точек. На экране отображается окно шириной W2 и высотой H2 очек. Определить долю экрана, не занятого окном.

Собственно вот мой код:
Код:
private void Resultbutton_Click(object sender, EventArgs e)
        {
            int screenheight = Convert.ToInt32(heightscreen.Text);
            int screenweight = Convert.ToInt32(weightscreen.Text);
            int windowheight = Convert.ToInt32(heightwindow.Text);
            int windowweight = Convert.ToInt32(weightwindow.Text);
            double dolya1 = (windowheight * windowweight) / (screenheight * screenweight);
            result.Text = dolya1.ToString();
        }
Никак не выходит ответ. Что я делаю не так?
Изображения
Тип файла: png Untitled.png (6.9 Кб, 23 просмотров)
merseyside вне форума Ответить с цитированием
Старый 25.10.2019, 12:12   #2
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

Всегда в любом случае результатом деления целое на целое в С# является целое, поэтому можно одному из делимых дать тип float или double, и тогда будет выводится double с дробной частью
Изображения
Тип файла: jpg Безымянный.jpg (66.2 Кб, 34 просмотров)
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 25.10.2019, 13:14   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Алексей_2012 Посмотреть сообщение
Всегда в любом случае результатом деления целое на целое в С# является целое
Не знаю, как в данном случае, но обычно помогает банальное умножение на вещественную единицу.
например,
Код:
double dolya1 = (1.0d * windowheight * windowweight) / (screenheight * screenweight);
либо прямое указание на преобразование типа
Код:
double dolya1 = ((double)(windowheight * windowweight)) / (screenheight * screenweight);
Про деление целого на целое я сразу заметил, но меня смутило, что

Цитата:
Сообщение от merseyside Посмотреть сообщение
Никак не выходит ответ.
Это может говорить и о том, что ответ не соответствует ожидаемому, так и о том, что при нажатии на кнопку вообще ничего не выводится в результирующее поле.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подсчет доли группировкой waz123 SQL, базы данных 5 23.11.2017 17:54
Нахождение доли одного столбца от другого supreme Помощь студентам 4 26.01.2014 21:26
Задача на нахождение индуктивности с UserForm (VBA) GANstrel Помощь студентам 0 15.01.2014 20:55
Доли в сводной таблице redbull4ik Microsoft Office Excel 2 26.05.2012 00:01
Задача на нахождение буквы Putin-mode Паскаль, Turbo Pascal, PascalABC.NET 1 19.05.2011 08:55