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

Найти элемент массива, значение которого наиболее близко к какому-нибудь целому числу - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
Gennio
1 / 1 / 0
Регистрация: 10.01.2012
Сообщений: 21
06.06.2012, 18:24     Найти элемент массива, значение которого наиболее близко к какому-нибудь целому числу #1
Завтра последний день - зачет!! нужна помощь!
1. Дан вещественный массив X(N). Найти элемент массива, значение которого наиболее близко к какому-нибудь целому числу.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.06.2012, 18:24     Найти элемент массива, значение которого наиболее близко к какому-нибудь целому числу
Посмотрите здесь:

C++ Найти элемент массива наиболее близкий к заданному числу.
C++ В массиве вещественных чисел найти ближайшее к какому-нибудь целому.
C++ Найти номер элемента, значение которого близко к среднему значению массива
Дано 10 вещественных чисел. Найти порядковый номер того из них, которое наиболее близко к целому числу C++
Найти в массиве порядковый номер наиболее близкого элемента к заданному целому числу Х C++
C++ Найти элемент массива, который наиболее близок к данному числу
Определить в последовательности элемент, ближайший к какому-нибудь целому C++
Найти номера элементов массива, равных заданному числу и номер числа расположенного наиболее близко к середине C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Петррр
 Аватар для Петррр
5915 / 3352 / 333
Регистрация: 28.10.2010
Сообщений: 5,926
06.06.2012, 18:42     Найти элемент массива, значение которого наиболее близко к какому-нибудь целому числу #2
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
#include <iostream>
#include <iomanip>
#include <cmath>
#include <ctime>
 
int main()
{
    setlocale(LC_ALL, "");
    const int size = 12;
    const int value = 4;
    double *array = new double[size];
    std::srand(std::time(NULL));
    for(int i = 0; i < size; i++)
        std::cout << std::setprecision(4) << (array[i] = rand() / (double)RAND_MAX) << ' ';
    double num = array[0];
    double dif = std::abs(value - num);
    for(int i = 0; i < size; i++)
        if (std::abs(value - array[i]) < dif)
        {
            num = array[i];
            dif = std::abs(value - num);
        }
    std::cout << std::endl << "Наиболее близкое значение: " << num << std::endl;
    delete [] array;
    system("pause");
    return 0;
}
Catstail
Модератор
 Аватар для Catstail
21440 / 10225 / 1666
Регистрация: 12.02.2012
Сообщений: 17,105
06.06.2012, 20:17     Найти элемент массива, значение которого наиболее близко к какому-нибудь целому числу #3
Вот простенькое решение:

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
#include "iostream.h"
#include "math.h"
 
int main(int argc, char* argv[])
{
 
    double X[]={1.3, 12.374, 6.001, -9.5, 13.1, 77.77};
    int i,l,j;
    double min,p;
 
    min=1;
 
    for (i=0; i < (sizeof(X)/sizeof(double)); i++)
    {
        l=X[i];
 
        p=fabs(X[i]-double(l));
 
                if (p > 0.5) p=1.0-p;
 
        if (p < min)
        {
            min=p;
            j=i;
        }
    }
 
    cout << X[j]<< endl;
 
    return 0;
}
Выдаёт, как и положено, 6.001
Yandex
Объявления
06.06.2012, 20:17     Найти элемент массива, значение которого наиболее близко к какому-нибудь целому числу
Ответ Создать тему
Опции темы

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