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

Одномерные массивы - C++

Восстановить пароль Регистрация
 
tibeg
0 / 0 / 0
Регистрация: 01.08.2013
Сообщений: 97
15.03.2014, 15:52     Одномерные массивы #1
Привет можете посмотреть мой код и сказать что подправить.(не уверен правильно ли считает числа отличающиеся от заданнго на 0.5)
Задание:
Кликните здесь для просмотра всего текста
Произвести следующую обработку 15 вещественных чисел: подсчитать количество чисел, отличающихся от заданного не более чем на 0.5, и сумму положительных чисел.

Код:
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
#include <iostream>
#include <string>
 
using namespace std;
 
int main()
{
double a[15];
int m,i,sum=0;
double kol=0;
 
cout << "Zadaute chislo: ";
cin >> m;
 
for(i=0;i<15;i++)
{
    cout << "[" << i+1 << "]" << " ";
    cin >> a[i];
}
 
for(i=0;i<15;i++)
{
    
    if (a[i]>0)
    sum=sum+a[i];
    
    
    if (m-a[i]<=0.5)
    kol=kol+1;
}
 
 
cout <<"\n[VASH MASSIV]";
for(i=0;i<15;i++)
{
cout << "\n" << a[i] ;
}
 
cout <<"\nSumma poloshitelnix chisel = " << " " << sum;
cout <<"\nChisla otlicha ot" << m << " " << "na 0,5 = " << kol;
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.03.2014, 15:52     Одномерные массивы
Посмотрите здесь:

Одномерные массивы. C++
C++ Одномерные массивы
C++ Одномерные массивы.
C++. Одномерные массивы. C++
Одномерные массивы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
mymedia
190 / 190 / 48
Регистрация: 27.05.2011
Сообщений: 543
15.03.2014, 15:57     Одномерные массивы #2
Вроде правильно. Должно работать…
tibeg
0 / 0 / 0
Регистрация: 01.08.2013
Сообщений: 97
15.03.2014, 15:59  [ТС]     Одномерные массивы #3
Она работает) Только вот хочу узнать, можно как нибудь еще сделать проверку на принадлежность к заданному числу или нет.
zss
Модератор
Эксперт С++
 Аватар для zss
5944 / 5549 / 1783
Регистрация: 18.12.2011
Сообщений: 14,175
Завершенные тесты: 1
15.03.2014, 16:06     Одномерные массивы #4
Цитата Сообщение от tibeg Посмотреть сообщение
на принадлежность к заданному числу
Принадлежать можно множеству.
А что значит принадлежать числу?
Быть равным? Для действительных чисел точное сравнение некорректно,
надо именно то, что у Вас:
отличающихся от заданного не более чем на
только это число надо взять достаточно малым, например 1e-15.
C++
1
 if (fabs(m-a[i])<=1e-15)
mymedia
190 / 190 / 48
Регистрация: 27.05.2011
Сообщений: 543
15.03.2014, 16:11     Одномерные массивы #5
Неправильно считает сумму дробных чисел - измени тип переменной sum на double.
Так же направильно указан диапазон для проверки числа на принадлежность окрестности заданной точки, т.е. у тебя не правильно указан диапазон в 28 строчке. Нужно так: if(m-a[i]<=0.5 and m-a[i]>=-0.5)
tibeg
0 / 0 / 0
Регистрация: 01.08.2013
Сообщений: 97
15.03.2014, 16:18  [ТС]     Одномерные массивы #6
спасибо)
Yandex
Объявления
15.03.2014, 16:18     Одномерные массивы
Ответ Создать тему
Опции темы

Текущее время: 16:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru