Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 02.05.2013
Сообщений: 38
1

Отнесение значение

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

Author24 — интернет-сервис помощи студентам
Здравствуйте у меня проблемка с задачкой, суть моей задачи заключается чтобы введенное любое значение "х" сравнивалось со значениями которые находятся в массиве, и если же допустим 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");
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.03.2014, 13:27
Ответы с готовыми решениями:

Присвоить логической переменной T значение true, если значение d-цифра, и значение false в противном случае
Имеется символьная переменная d, присвоить логической переменной T значение true, если значение...

Описать процедуру ShiftLeft3(A, B, C), выполняющую левый циклический сдвиг: значение A переходит в C, значение C — в B, значение В-в А
Описать функцию ShiftLeft3(A, B, C), выполняющую левый циклический сдвиг: значение A переходит в C,...

Найти значение 3-го по величине элемента и значение всех элементов массива, которые его превышают, заменить на найденное значение
Работа с массивами:

В одномерном массиве определить среднее значение всех элементов,значение которых превышает среднее значение
в произвольно заданном одномерном массиве определить среднее значение всех элементов,значение...

17
Котовчанин
942 / 482 / 200
Регистрация: 16.02.2010
Сообщений: 3,338
Записей в блоге: 37
28.03.2014, 13:35 2
C++
1
printf("vvedite zna4enie");
Это очень мило, но где запись значения в переменную?
0
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");
0
654 / 575 / 164
Регистрация: 13.12.2012
Сообщений: 2,124
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]);
0
0 / 0 / 0
Регистрация: 02.05.2013
Сообщений: 38
28.03.2014, 13:40  [ТС] 5
aLarman, "&n" и "n" в чем разница?!
0
654 / 575 / 164
Регистрация: 13.12.2012
Сообщений: 2,124
28.03.2014, 13:40 6
в том что scanf принимает адрес переменной куда надо вести запись, n переменная, &n ее адрес
0
0 / 0 / 0
Регистрация: 02.05.2013
Сообщений: 38
28.03.2014, 13:42  [ТС] 7
aLarman, ясно, но я правильно написал условие??
0
654 / 575 / 164
Регистрация: 13.12.2012
Сообщений: 2,124
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
0
0 / 0 / 0
Регистрация: 02.05.2013
Сообщений: 38
28.03.2014, 13:44  [ТС] 9
aLarman, а как это возможно сделать?!
0
Котовчанин
942 / 482 / 200
Регистрация: 16.02.2010
Сообщений: 3,338
Записей в блоге: 37
28.03.2014, 13:47 10
Цитата Сообщение от aLarman Посмотреть сообщение
не тут ли?
При чем здесь это? Я о переменной х, которую далее сравнивают, но в ней нет значения. Мусор.
0
0 / 0 / 0
Регистрация: 02.05.2013
Сообщений: 38
28.03.2014, 13:50  [ТС] 11
Тамика, извините а "scanf("%d,&x");" разве я значение не задаю "х"??
0
654 / 575 / 164
Регистрация: 13.12.2012
Сообщений: 2,124
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");
}
может быть так
0
Почетный модератор
Эксперт С++
5850 / 2861 / 392
Регистрация: 01.11.2011
Сообщений: 6,907
28.03.2014, 13:52 13
Цитата Сообщение от Abdull2401 Посмотреть сообщение
извините а "scanf("%d,&x");" разве я значение не задаю "х"?
А разве она о вашем коде говорила?
1
Котовчанин
942 / 482 / 200
Регистрация: 16.02.2010
Сообщений: 3,338
Записей в блоге: 37
28.03.2014, 13:54 14
Цитата Сообщение от Abdull2401 Посмотреть сообщение
Тамика, извините а "scanf("%d,&x");" разве я значение не задаю "х"??
В первичном коде - нет. А aLarman говорил о первичном коде. Якобы магичным чудом записав значение в переменную n оно занесется в переменную х. Вот я и написала, что речь шла о х.
0
0 / 0 / 0
Регистрация: 02.05.2013
Сообщений: 38
28.03.2014, 13:59  [ТС] 15
SatanaXIII, ааа точно))) че то подумал она о моем коде)))
0
0 / 0 / 0
Регистрация: 02.05.2013
Сообщений: 38
29.03.2014, 08:53  [ТС] 16
aLarman, задача работает но преподаватель сказал не совсем так надо было сделать,
она мне объяснила так:
на рисунке показано имеется значение "Х" и "О" если ввести переменную "квадратик ХД" то к какому он значению ближе к тому и должен принадлежать... а в который показывал задаче не совсем так выполняется там разница маленькая...
Миниатюры
Отнесение значение  
0
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))???
0
Модератор
Эксперт С++
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,712
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");
0
29.03.2014, 11:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.03.2014, 11:29
Помогаю со студенческими работами здесь

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

Вычислить минимальное по абсолютной величине значение функции и соответствующее значение аргумента
Составить программу табулирования и исследования функции f(x) на заданном диапазоне изменения...

Найти максимальное и минимальное значение значение функции и соответствующие значения аргументов
Составить программу табулирования функции Y(X) на заданном отрезке с шагом h. Для вычисления...

Вычислить среднее значение элементов массива. Вывести на дисплей полученное значение
Вычислить среднее значение элементов массива. Вывести на дисплей полученное значение. После этого...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru