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

Отнесение значение - C++

Восстановить пароль Регистрация
 
Abdull2401
0 / 0 / 0
Регистрация: 02.05.2013
Сообщений: 38
28.03.2014, 13:27     Отнесение значение #1
Здравствуйте у меня проблемка с задачкой, суть моей задачи заключается чтобы введенное любое значение "х" сравнивалось со значениями которые находятся в массиве, и если же допустим a[i]={1,2,3,4,5}
b[i]={6,7,8,9,10} введенное значение "х=4" то тогда по идее он относится к массиву a[i] так как значение ближе к a[i] элементам...
получается мне надо чтобы введенное значение было отнесено либо к a[i] либо b[i]...

C++
1
2
3
4
5
6
7
8
9
10
11
int a[10], b[10],i,x,n;
printf("vvebidte dinnuie");
scanf("%d",n);
for(i=1;i<n;i++)
 scanf("%d",a[i]);
for(i=1;i<n;i++)
 scanf("%d",b[i]);\
printf("vvedite zna4enie");
for(i=1;i<n;i++)
 if (a[i]<=x) printf("prinadlejit massivu A");
 else (b[i]<=x) printf("prinadlejit massivu A");
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.03.2014, 13:27     Отнесение значение
Посмотрите здесь:

C++ Для данного вещественного х найти значение следущей функции f, принимающей значение целого типа:
В квадратной матрицы поменять местами столбик, содержащий наибольшее значение со столбиком, который содержит наименьшее значение C++
Найти значение 3-го по величине элемента и значение всех элементов массива, которые его превышают, заменить на найденное значение C++
C++ Вывести начальные индексы всех елементов массива, значение которых превышает заданое значение А.
C++ Написать программу, которая вычисляет значение выражения, и определить ее значение для введенных пользователем значений фактических параметров.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,538
Записей в блоге: 27
28.03.2014, 13:35     Отнесение значение #2
C++
1
printf("vvedite zna4enie");
Это очень мило, но где запись значения в переменную?
Abdull2401
0 / 0 / 0
Регистрация: 02.05.2013
Сообщений: 38
28.03.2014, 13:37  [ТС]     Отнесение значение #3
Тамика, аа вот ща
C++
1
2
3
4
5
6
7
8
9
10
11
12
int a[10], b[10],i,x,n;
printf("vvebidte dinnuie");
scanf("%d",n);
for(i=1;i<n;i++)
 scanf("%d",a[i]);
for(i=1;i<n;i++)
 scanf("%d",b[i]);\
printf("vvedite zna4enie");
scanf("%d",x);
for(i=1;i<n;i++)
 if (a[i]<=x) printf("prinadlejit massivu A");
 else (b[i]<=x) printf("prinadlejit massivu A");
aLarman
636 / 557 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
28.03.2014, 13:39     Отнесение значение #4
Тамика,
Цитата Сообщение от Abdull2401 Посмотреть сообщение
C++
1
scanf("%d",n);
не тут ли?
только надо
C++
1
scanf("%d",&n);
Добавлено через 1 минуту
Abdull2401,
Цитата Сообщение от Abdull2401 Посмотреть сообщение
C++
1
scanf("%d",n);
Цитата Сообщение от Abdull2401 Посмотреть сообщение
C++
1
scanf("%d",a[i]);
Цитата Сообщение от Abdull2401 Посмотреть сообщение
C++
1
scanf("%d",b[i]);
C++
1
2
3
scanf("%d",&n);
scanf("%d",&a[i]);
scanf("%d",&b[i]);
Abdull2401
0 / 0 / 0
Регистрация: 02.05.2013
Сообщений: 38
28.03.2014, 13:40  [ТС]     Отнесение значение #5
aLarman, "&n" и "n" в чем разница?!
aLarman
636 / 557 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
28.03.2014, 13:40     Отнесение значение #6
в том что scanf принимает адрес переменной куда надо вести запись, n переменная, &n ее адрес
Abdull2401
0 / 0 / 0
Регистрация: 02.05.2013
Сообщений: 38
28.03.2014, 13:42  [ТС]     Отнесение значение #7
aLarman, ясно, но я правильно написал условие??
aLarman
636 / 557 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
28.03.2014, 13:42     Отнесение значение #8
Цитата Сообщение от Abdull2401 Посмотреть сообщение
for(i=1;i<n;i++) if (a[i]<=x) printf("prinadlejit massivu A"); else (b[i]<=x) printf("prinadlejit massivu A");
думаю это не так должно выглядеть
Цитата Сообщение от Abdull2401 Посмотреть сообщение
так как значение ближе к a[i] элементам...
скорее Вам надо сравнивать разницу введенного числа и элементов массива, и искать где эта разница минимальна, в массиве а или b
Abdull2401
0 / 0 / 0
Регистрация: 02.05.2013
Сообщений: 38
28.03.2014, 13:44  [ТС]     Отнесение значение #9
aLarman, а как это возможно сделать?!
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,538
Записей в блоге: 27
28.03.2014, 13:47     Отнесение значение #10
Цитата Сообщение от aLarman Посмотреть сообщение
не тут ли?
При чем здесь это? Я о переменной х, которую далее сравнивают, но в ней нет значения. Мусор.
Abdull2401
0 / 0 / 0
Регистрация: 02.05.2013
Сообщений: 38
28.03.2014, 13:50  [ТС]     Отнесение значение #11
Тамика, извините а "scanf("%d,&x");" разве я значение не задаю "х"??
aLarman
636 / 557 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
28.03.2014, 13:51     Отнесение значение #12
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
int a[10], b[10],i,x,n;
printf("vvebidte dlinu");//не лучший вариант заполнять массив n значениями учитывая что максимальный размер массива 10 ну ладно пусть так
scanf("%d",&n);
for(i=0;i<n;i++)
 scanf("%d",&a[i]);
for(i=0;i<n;i++)
 scanf("%d",&b[i]);
printf("vvedite zna4enie");
scanf("%d",&x);
int delta = std::numeric_limit<int>::max();
bool isArrayA = true;
for(i=0;i<n;i++)
{
if(abs(a[i]-x)<delta)
{
delta = abs(a[i]-x);
isArrayA = true;
}
 
if(abs(b[i]-x)<delta)
{
delta = abs(b[i]-x);
isArrayA = false;
}
}
if(isArrayA)
{
printf("prinadlejit massivu A");
}
else
{
printf("prinadlejit massivu B");
}
может быть так
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5549 / 2563 / 233
Регистрация: 01.11.2011
Сообщений: 6,334
Завершенные тесты: 1
28.03.2014, 13:52     Отнесение значение #13
Цитата Сообщение от Abdull2401 Посмотреть сообщение
извините а "scanf("%d,&x");" разве я значение не задаю "х"?
А разве она о вашем коде говорила?
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,538
Записей в блоге: 27
28.03.2014, 13:54     Отнесение значение #14
Цитата Сообщение от Abdull2401 Посмотреть сообщение
Тамика, извините а "scanf("%d,&x");" разве я значение не задаю "х"??
В первичном коде - нет. А aLarman говорил о первичном коде. Якобы магичным чудом записав значение в переменную n оно занесется в переменную х. Вот я и написала, что речь шла о х.
Abdull2401
0 / 0 / 0
Регистрация: 02.05.2013
Сообщений: 38
28.03.2014, 13:59  [ТС]     Отнесение значение #15
SatanaXIII, ааа точно))) че то подумал она о моем коде)))
Abdull2401
0 / 0 / 0
Регистрация: 02.05.2013
Сообщений: 38
29.03.2014, 08:53  [ТС]     Отнесение значение #16
aLarman, задача работает но преподаватель сказал не совсем так надо было сделать,
она мне объяснила так:
на рисунке показано имеется значение "Х" и "О" если ввести переменную "квадратик ХД" то к какому он значению ближе к тому и должен принадлежать... а в который показывал задаче не совсем так выполняется там разница маленькая...
Миниатюры
Отнесение значение  
Abdull2401
0 / 0 / 0
Регистрация: 02.05.2013
Сообщений: 38
29.03.2014, 08:56  [ТС]     Отнесение значение #17
aLarman, я как понял нужно сравнивать по такой формуле
C++
1
sqrt(pow(x-x1,2)+pow(x-x2,2))???
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.03.2014, 11:29     Отнесение значение
Еще ссылки по теме:

C++ В квадратной действительной матрице порядка N поменять местами строку, содержащую наибольшее значение, со строкой, содержащей наименьшее значение
C++ циклы. Требуется найти максимальное значение функции на отрезке [a,b] и значение x C++
Найти столбик, в котором среднее арифметическое значение из положительных элементов имеет минимальное значение C++

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

Или воспользуйтесь поиском по форуму:
zss
Модератор
Эксперт С++
 Аватар для zss
5949 / 5554 / 1785
Регистрация: 18.12.2011
Сообщений: 14,193
Завершенные тесты: 1
29.03.2014, 11:29     Отнесение значение #18
Нужно сначала определить центры множеств.
C++
1
2
3
4
5
6
7
8
double ca=0;
for(i=1;i<n;i++)
    ca+=a[i];
ca/=n;
double cb=0;
for(i=1;i<m;i++)
 cb+=b[i];
cb/=m;
А теперь сравниваем
C++
1
2
3
4
if(fabs(x-ca)<fabs(x-cb))
    printf("prinadlejit massivu A");
else
    printf("prinadlejit massivu B");
Yandex
Объявления
29.03.2014, 11:29     Отнесение значение
Ответ Создать тему
Опции темы

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