Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
Alukard_696
0 / 0 / 0
Регистрация: 16.05.2010
Сообщений: 22
1

Программа выдает некорректный результат вычислений

26.06.2010, 15:45. Просмотров 630. Ответов 7
Метки нет (Все метки)

Товарищи программисты, срочно нужна Ваша помощь. Это переоформленный кусочек большой программы, не стал её всю выкладывать, нет смысла. Вопрос вот в чём: в результате печатает 3.000000, хотя по идее должен же 3.500000? Пожалуйста, объясните, в чём косяк.

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
#include <conio.h>
int main()
{
    float w;
    int k=0;
    int q;
    k=2;
    q=7;
    w=q/k;
    printf("%f",w);
    getch();
    return 0;
}
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.06.2010, 15:45
Ответы с готовыми решениями:

Программа не выдает результат
не понимаю, почему нет результата? задание: Y= 3(А-х), если А-нечетное, А больше х =А/х, если...

Программа не выдает результат
Результат не выдает. #include &quot;stdafx.h&quot; int _tmain(int argc, _TCHAR* argv) {

Программа выдает не правильный результат
Задание: Задана прямоугольная матрица размером N x M вещественных 8-ми байтовых чисел и вектор B(M)...

Программа выдает результат 0,00000
Граждане, всем доброго времени суток! не пойму, где я не так делаю, почему результат 0,00000???...

Программа выдает неправильный результат
#include &lt;stdio.h&gt; int main(void){ char mas; scanf(&quot;%s&quot;, mas); for(int i = 0; i &lt; 10;...

7
IchMors
97 / 93 / 16
Регистрация: 16.05.2010
Сообщений: 310
26.06.2010, 15:47 2
Измени q и k на float
1
easybudda
Модератор
Эксперт CЭксперт С++
10246 / 6137 / 1543
Регистрация: 25.07.2009
Сообщений: 11,682
26.06.2010, 15:47 3
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Цитата Сообщение от Alukard_696 Посмотреть сообщение
w=q/k;
C
1
w=(float)q/(float)k;
1
Alukard_696
0 / 0 / 0
Регистрация: 16.05.2010
Сообщений: 22
26.06.2010, 15:48  [ТС] 4
Огромнейшее спасибо!
0
ISergey
Maniac
Эксперт С++
1420 / 929 / 150
Регистрация: 02.01.2009
Сообщений: 2,763
Записей в блоге: 1
26.06.2010, 15:48 5
Цитата Сообщение от Alukard_696 Посмотреть сообщение
Пожалуйста, объясните, в чём косяк.
Потеря точности...
так делай.
C
1
w=(float)q/k;

Не по теме:

о.. не успел..

0
ForEveR
В астрале
Эксперт С++
8003 / 4761 / 653
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
26.06.2010, 15:49 6
Поставь double мб...

#include <stdio.h>
#include <conio.h>
C++
1
2
3
4
5
6
7
8
9
10
11
12
int main()
{
    double w;
    double k=0;
    double q;
    k=2;
    q=7;
    w=q/k;
    printf("%f",w);
    getch();
    return 0;
}
0
Alukard_696
0 / 0 / 0
Регистрация: 16.05.2010
Сообщений: 22
26.06.2010, 15:50  [ТС] 7
С double не проходит, пробовал. Может, компил глючит, не знаю. Точность не сильно важна. Всем спасибо за помощь.
0
nikkka
Мат в 32 хода
236 / 171 / 18
Регистрация: 10.09.2009
Сообщений: 1,096
26.06.2010, 17:45 8
результат деления int-a на int-a всегда целое число - по этому компилятор урезает 3,5 до 3,0.
попробуй изменить тип int на float.
0
26.06.2010, 17:45
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.06.2010, 17:45

Программа выдает неправильный результат
#include &lt;stdio.h&gt; #define a 20 #define n 20 int main () { int i,k; int arr,m; i=0;...

Программа выдает неверный результат
Имеем вот такую программу: #include &lt;conio.h&gt; #include &lt;stdio.h&gt; float x={10.0, 20.0, 30.0, 40.0,...

Программа выдает неправильный результат
# include &lt;string.h&gt; # include &lt;stdio.h&gt; # include&lt;conio.h&gt; char a1=&quot;asddfghjk&quot;;char a2;int...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru