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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Abdull2401
0 / 0 / 0
Регистрация: 02.05.2013
Сообщений: 38
#1

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

28.03.2014, 13:27. Просмотров 325. Ответов 17
Метки нет (Все метки)

Здравствуйте у меня проблемка с задачкой, суть моей задачи заключается чтобы введенное любое значение "х" сравнивалось со значениями которые находятся в массиве, и если же допустим 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++
C++ Определить, является ли введенное значение года високосным, если введено корректное значение
C++ Вывести начальные индексы всех елементов массива, значение которых превышает заданое значение А.
Дано значение угла alfa в радианах (0 < alfa < 2*pi). Определить значение этого же угла в градусах C++
Копировать значение поля m_moo в значение поля m_moo класса foo C++
C++ программа, которая бы вычисляла среднее значение, максимальный и минимальный элемент второй колонки Excel и выводила это значение на экран
Необходимо создать массив на 1 елемент, и записать туда значение. Пользователь может добавить значение или удалить. И выйти C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Тамика
Котовчанин
869 / 449 / 141
Регистрация: 16.02.2010
Сообщений: 2,835
Записей в блоге: 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
641 / 562 / 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
641 / 562 / 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
641 / 562 / 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, а как это возможно сделать?!
Тамика
Котовчанин
869 / 449 / 141
Регистрация: 16.02.2010
Сообщений: 2,835
Записей в блоге: 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
641 / 562 / 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
Супер-модератор
Эксперт С++
5589 / 2623 / 239
Регистрация: 01.11.2011
Сообщений: 6,448
Завершенные тесты: 1
28.03.2014, 13:52     Отнесение значение #13
Цитата Сообщение от Abdull2401 Посмотреть сообщение
извините а "scanf("%d,&x");" разве я значение не задаю "х"?
А разве она о вашем коде говорила?
Тамика
Котовчанин
869 / 449 / 141
Регистрация: 16.02.2010
Сообщений: 2,835
Записей в блоге: 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++ Заданы два массива А(5) и И(4). Первым на печать вывести массив, содержащий наибольшее значение. Напечатать также это значение и его порядковый номер
Подскажите как добавить вычесленное среднее значение из подпрограммы 1, в подпрограмму 2, а то в подпрограмме 2 берет среднее значение = 0 C++
C++ Функция формирующая целое значение по строке из нулей и единиц, кодирующей это целое значение в двоичной форме
C++ По заданной формуле реализовать функцию, возвращающую значение, и функцию, не возвращающую значение
C++ Вычислите значение выражения. Значение х вводится с клавиатуры

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

Или воспользуйтесь поиском по форуму:
zss
Модератор
Эксперт С++
6248 / 5851 / 1891
Регистрация: 18.12.2011
Сообщений: 14,993
Завершенные тесты: 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     Отнесение значение
Ответ Создать тему
Опции темы

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