Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
AndreyZ01
1 / 1 / 1
Регистрация: 28.10.2010
Сообщений: 112
1

Определить номер элемента массива, который находится ближе всего к данному целому числу

23.11.2010, 17:47. Просмотров 797. Ответов 4
Метки нет (Все метки)

Привет всем.
Дано числа х1, х2, х3, ... , х25. Опредилить номер того, который находится само близко до даного целого числа.
Программа должна быть на С.
Заранее благодарен.
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.11.2010, 17:47
Ответы с готовыми решениями:

Порядковый номер числа массива, который ближе всего к заданному числу
Написать программу, обрабатывающую одномерный массив.Задана последовательность из N вещественных...

Поменять местами последний элемент массива с элементом, который ближе всего находится к среднему значению
1.Дан массив целых чисел, состоящий из N элементов(N=20). Поменять местами последний элемент с...

Найти порядковый номер элемента массива, который наиболее близок к заданному целому
Вводится последовательность из 25 вещественных чисел. Найти порядковый номер того из них, которое...

Указатели: Поменять местами последний элемент с элементом, который ближе всего находится к среднему значению
Помогите пожалуйста. Дан массив целых чисел, состоящий из N элементов(N=20). Поменять местами...

4
BrumbleHorse
121 / 121 / 16
Регистрация: 18.09.2010
Сообщений: 212
23.11.2010, 20:15 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <conio.h>
void main()
{
    int i,num_Array[25],diff_Array[25],number,index,min;
    printf("Please enter any integer:\n");scanf("%d",&number);
    for(i=0;i<25;++i)
    {printf("Please enter %d array element ", i+1);
      scanf("%d", &num_Array[i]);}
    for(i=0;i<25;++i)
    {if(num_Array[i]>=number) diff_Array[i]=num_Array[i]-number;
     else diff_Array[i]=number-num_Array[i];}
    min=diff_Array[0];index=0;
    for(i=0;i<25;++i)
    {if(diff_Array[i]<min){ min=diff_Array[i];index=i;}}
    printf("Array element number %d is the nearest to your integer\n", index+1);
    getch();
}
2
AndreyZ01
1 / 1 / 1
Регистрация: 28.10.2010
Сообщений: 112
23.11.2010, 22:03  [ТС] 3
Большое спасибо, она работает!)

Добавлено через 2 минуты
Только есть единственный вопрос:
num_Array это х1, х2 и т.д., а что такое diff_Array?))
0
BrumbleHorse
121 / 121 / 16
Регистрация: 18.09.2010
Сообщений: 212
24.11.2010, 00:00 4
diff_Array это массив, в котором мы сохраняем модуль разности number и num_Array[i].. Соответственно индекс наименьшего элемента diff_Array и будет соответствовать индексу того элемента num_Array, который расположен ближе всего к number ( то есть чем наш элемент массива ближе к заданнному числу, тем меньше будет модуль разности этого числа и элемента массива, соответственно элемент массива с наименьшим модулем разности и есть самый близкий к заданному числу).
2
AndreyZ01
1 / 1 / 1
Регистрация: 28.10.2010
Сообщений: 112
24.11.2010, 15:37  [ТС] 5
Всё, вьехал, большое спасибо)
0
24.11.2010, 15:37
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.11.2010, 15:37

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

В двумерном массиве целых чисел найти элемент, который ближе всего находится к среднему значению его положительных чисел
надо в двумерном массиве целых чисел найти элемент, который ближе всего находится к среднему...

Найти все трехзначные числа, сумма цифр которых равна данному целому числу
Найти все трехзначные числа, сумма цифр которых равна данному целому числу. Помогите , пожалуйста,...

Определить количество элементов массива, которые кратны заданному целому числу m
Задан одномерный массив с n целых элементов Определить количество элементов этого массива, которые...

Найти два элемента массива, сумма которых наименее близка к данному числу
Дано вещественное число R и массив размера N. Найти два элемента массива, сумма которых наименее...


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

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

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