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

Найти элемент массива наиболее близкий к заданному числу. - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.95
grafenix
0 / 0 / 0
Регистрация: 29.10.2009
Сообщений: 4
29.10.2009, 21:57     Найти элемент массива наиболее близкий к заданному числу. #1
Дано вещественное число R и массив вещественных чисел. Найти элемент массива, который наиболее близок к данному числу.Могу написать только ввод-выво массива.Помогити плиз(( срочно нада
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.10.2009, 21:57     Найти элемент массива наиболее близкий к заданному числу.
Посмотрите здесь:

Найти элемент массива, равный заданному числу Х и отпечатать его индексы (I,J) C++
C++ Найти наиболее близкий элемент к целому
C++ Найти элемент массива, значение которого наиболее близко к какому-нибудь целому числу
Найти элемент массива, наиболее близкий к среднему значению всех элементов массива C++
Найти и вывести элемент,наиболее близкий к среднему арифметическому всех элементов массива C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
System.exe
 Аватар для System.exe
90 / 86 / 12
Регистрация: 14.05.2009
Сообщений: 202
29.10.2009, 22:37     Найти элемент массива наиболее близкий к заданному числу. #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
#include <iostream.h>
#include <iomanip.h>
#include <stdlib.h>
main()
{
double A[100],R,m,t;
int i;
for (i=1;i<100;i++)
A[i]=rand()%100+1;
for (i=1;i<100;i++)
cout<<setw(10)<<A[i];
cout<<"\n";
cout<<"enter R\n";
cin>>R;
m=A[0]-R;
for (i=2;i<100;i++)
{
t=A[i]-R;
if (t>m) 
t=A[0];
else t=A[i];
}
cout<<"samyi blizkyi element k R:"<<t<<"\n";
return 0;
}
Неумейка
 Аватар для Неумейка
12 / 11 / 2
Регистрация: 14.02.2009
Сообщений: 89
30.10.2009, 00:20     Найти элемент массива наиболее близкий к заданному числу. #3
Вверху написан полный бред!
Вот как правильно:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
double diff,R;
double mass[15]={-45.4,-5,-123.3434,234.4,4.3,12,45.5,-167,456.8,12.56,4.2,67.34545,56.9,22,140.4555};
double Temp_diff=1.7E+308;
int numRes;
cin>>R;
for(int i=0;i<15;i++)
{
    diff=mass[i]-R;
    if(diff<0)
        diff*=-1;
    if(diff<Temp_diff)
    {
        Temp_diff=diff;
        numRes=i;
    }
}
cout<<mass[numRes];
getchar();
getchar();
JamesBlack
 Аватар для JamesBlack
36 / 36 / 3
Регистрация: 28.07.2009
Сообщений: 144
30.10.2009, 00:49     Найти элемент массива наиболее близкий к заданному числу. #4
единственное хорошо бы оргнизовать ввод массива. И к тому же я сомневаюсь, что ее задали делать на C++, скорее всего просто на C, потому наверное надо не чере cout/cin а через scanf/printf делать
nikolazzzed
1 / 1 / 0
Регистрация: 04.10.2013
Сообщений: 32
17.10.2013, 23:05     Найти элемент массива наиболее близкий к заданному числу. #5
Цитата Сообщение от Неумейка Посмотреть сообщение
Вверху написан полный бред!
Вот как правильно:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
double diff,R;
double mass[15]={-45.4,-5,-123.3434,234.4,4.3,12,45.5,-167,456.8,12.56,4.2,67.34545,56.9,22,140.4555};
double Temp_diff=1.7E+308;
int numRes;
cin>>R;
for(int i=0;i<15;i++)
{
    diff=mass[i]-R;
    if(diff<0)
        diff*=-1;
    if(diff<Temp_diff)
    {
        Temp_diff=diff;
        numRes=i;
    }
}
cout<<mass[numRes];
getchar();
getchar();
у тебя тоже бред, нифига он не работает
Sibmax1988
3 / 3 / 0
Регистрация: 22.09.2015
Сообщений: 121
29.09.2015, 10:09     Найти элемент массива наиболее близкий к заданному числу. #6
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
int main () 
{
    setlocale (LC_ALL, "RUS");
    int sum=0;
    float t,s=0,sr=0,value;
    int a [10] = {10,25,16,11,152,89,250,110,106};
    for (int i=0; i<10;i++)
        sum+=a[i];
    sr=(float)sum/10;   
    cout <<setw(4)<<sr<<setprecision(2)<<endl;
    s=(float)a[0]-sr;
    s*=-1;
    
      for (int i=0; i<10;i++)
      {
          t=a[i]-sr;
      if (t<0) t*=-1;
      if (t<s) {value=a[i];s=t;}
      }
     
      cout <<setw(4)<<value<<setprecision(2)<<endl;
    
    getch();
    return 0;
Вот все работает
Yandex
Объявления
29.09.2015, 10:09     Найти элемент массива наиболее близкий к заданному числу.
Ответ Создать тему
Опции темы

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