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

Определить индекс и значение элемента массива, ближайшего к числу Х - C++

Восстановить пароль Регистрация
 
Isantel
13 / 13 / 1
Регистрация: 23.11.2010
Сообщений: 254
12.04.2013, 14:53     Определить индекс и значение элемента массива, ближайшего к числу Х #1
"Введите с клавиатуры число Х и определите индекс и значение элемента массива, ближайшего к числу Х."

поправьте где ошибка?

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
43
44
45
46
47
#include "stdafx.h"
void FunctionPrint(int a[],const int b);
 
int main()
{
int const count = 10;
int myArray[count] = {1000,400,1200,4200,800,600,100,8000,400,6200};
int x; // vvodimoe chislo
int z; // raznost` mejdu elementa massiva i vvedenim chislom
int otv; // zdes` hranitsya maximalno blizkii index elementa massiva
int p;
FunctionPrint(myArray,count);
 
printf("Vvedite chislo: ");
scanf_s("%d",&x);
printf("\n");
 
p = x - myArray[0];
if(p<0) p *= -1;
z = p;
 
for(int j=1;j < count;j++)
{
    p = x - myArray[j];
    if(p<0) p *= -1; // berem modul`
    printf("%d \n",p);
    if( z > p)
    {
        z = p;
        otv = j;
    }
}
 
printf("Index = %d \n",otv);
printf("znachenie = %d ", myArray[otv]);
 
return 0;
}
 
void FunctionPrint(int a[],const int b)
{
for(int i=0;i<b;i++)
{
printf("%d ",a[i]);
}
printf("\n");
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.04.2013, 14:53     Определить индекс и значение элемента массива, ближайшего к числу Х
Посмотрите здесь:

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SummerRain
 Аватар для SummerRain
325 / 324 / 17
Регистрация: 16.12.2012
Сообщений: 544
12.04.2013, 15:05     Определить индекс и значение элемента массива, ближайшего к числу Х #2
у меня выходила ошибка только тогда, когда вводил число наиболее близкое к нулевому элементу массива, т.е. к 1000.
Просто в этом случае переменная otv не инициализируется. Добавил 23 строку
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
43
44
45
46
47
48
49
50
#include <stdio.h>
#include <conio.h>
 
void FunctionPrint(int a[],const int b);
 
int main()
{
int const count = 10;
int myArray[count] = {1000,400,1200,4200,800,600,100,8000,400,6200};
int x; // vvodimoe chislo
int z; // raznost` mejdu elementa massiva i vvedenim chislom
int otv; // zdes` hranitsya maximalno blizkii index elementa massiva
int p;
FunctionPrint(myArray,count);
 
printf("Vvedite chislo: ");
scanf_s("%d",&x);
printf("\n");
 
p = x - myArray[0];
if(p<0) p *= -1;
z = p;
otv = 0;  // добавил
 
for(int j=1;j < count;j++)
{
    p = x - myArray[j];
    if(p<0) p *= -1; // berem modul`
    printf("%d \n",p);
    if( z > p)
    {
        z = p;
        otv = j;
    }
}
 
printf("Index = %d \n",otv);
printf("znachenie = %d ", myArray[otv]);
 _getch();
return 0;
}
 
void FunctionPrint(int a[],const int b)
{
    for(int i=0;i<b;i++)
    {
        printf("%d ",a[i]);
    }
    printf("\n");
}
Isantel
13 / 13 / 1
Регистрация: 23.11.2010
Сообщений: 254
12.04.2013, 16:13  [ТС]     Определить индекс и значение элемента массива, ближайшего к числу Х #3
спасибо, как-то задумался и пропустил инициализацию...)
Yandex
Объявления
12.04.2013, 16:13     Определить индекс и значение элемента массива, ближайшего к числу Х
Ответ Создать тему
Опции темы

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