Правильно koks надо через массив.
Хакамада! ВЫ не помните, что означает МНОЖЕСТВО?
Давайте вспомним.
Множество - это группа элементов, которая ассоциируется с ее именем и с которой можно сравнивать другие величины, чтобы определить, принадлежат ли они этому множеству. Один и тот же элемент не может входить в множество более одного раза. Как частный случай, множество может быть пустым.
Множества определяется перечислением его элементов, заключенным в прямоугольные скобки. Такая форма определения называется конструктором множества.
Ну, еще - Под множеством также понимается совокупность объектов, которая может состоять, например, из одного, двух и т.д. элементов.
Множества чаще всего обозначаются прописными буквами латинского алфавита
A,B,...,X, а их элементы - малыми буквами: a,b,...,x.
Пустое множество обозначается специальным символом круг с наклонным пересечением.
Если множество A состоит из n элементов a1,a2,...,an, то пишут
A={a1;a2;...;an}
Указывают: <<элемент a принадлежит множеству A>> - и записывают:
a (- A или A -) a (A содержит a); запись a # A или A # a означает, что элемент a не принадлежит множеству A (A не содержит a).
Я не буду писать об операциях над множествами. Все это можно найти в учебниках по математике или в справочниках по математике.
В вашем примере необходимо доказать - входит ли введенное вами число или элемент (как ВАМ удобно) в множество.
Пусть в нашем случае множество - A имеет следующие элементы -5,-4,-3,-1,0,1,4,6
или A={-5,-4,-3,-1,0,1,4,6}
Можно еще и Матрицу подвести под множество. Лишь бы не было одинаковых элементов. Мы можем ее приставить как Массив. Тогда просто делаем поиск в массиве.
Есть просто ПОИСК, а есть ДВОИЧНЫЙ ПОИСК. Есть просто ПОИСК в неотсортированном массиве, а есть просто ПОИСК в отсортированном массиве.
Двоичный поиск возможен только в отсортированном массиве. Вся задача сводится к поиску введенного числа в массиве.
Привожу пример на C++(самый легкий) - поиск в отсортированном массиве.
Mnoj.cpp
===============================================
# include <stdio.h>
# include <conio.h>
# include <stdlib.h>
# include <string.h>
# include <iostream.h>
# include <time.h>
main(void)
{
const n=8; //Кол. элементов множества A
const li=1; // Элемент который мы хотим найти в массиве - т.е. узнать входит ли он в множество A
// Это число можно менять
int m,j,p; //Cчетчики
int min; //Переменная обмена
int k1[n]={-3,4,-5,1,6,0,-4,-1}; // Элементы множества
int k[n]; //Массив k[n]
int priz; // Признак вхождения элемента в множество A
clrscr();
cout <<"Всего элементов множества A=";cout <<n ;
puts("\n");
//priz=0;
cout <<"Узнать входит ли число ";cout <<li <<" в множество A";
puts("");
puts("Даны элементы множества A");
for(m=0;m< sizeof(k1)/sizeof(k1[0]); m++)
{
printf("%d ",k1[m],' ');
k[m]=k1[m];
}
//================ Сортируем элементы множества A в возрастающем порядке
for(m=1;m<=n-1;m++)
{
for(j=1;j<=n-1;j++)
{
if (k[j+1]<=k[j]) {
min=k[j];
k[j]=k[j+1];
k[j+1]=min;
}
}
}
//==== Отсортированный порядок элементов множества A ==== }
puts("");
puts("Отсортированная порядок");
for(m=1;m<=n;m++)
{
printf("%d ",k[m],' ');
}
puts("\n");
//================== Ищем Элемент в множестве ========= }
for(m=1;m<=n;m++)
{
if(li==k[m])
{
priz=0;
break;
}
}
if(priz==0) puts("Входит"); else puts("Нет");
//==================================================== }
puts("Продолжение - ENTER(ВВОД)");
getche();
return 0;
}
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
А теперь программу написанную на С++ переводим в java программу.
Вот, только не помню, есть ли JAVA операции с sizeof. Все остальное присутсвует.
Если нет sizeof, то просто вместо -> for(m=0;m< sizeof(k1)/sizeof(k1[0]); m++)
поставьте for(m=0;m<=n;m++)
Программа на Java
Mnoj.java
================================================
package com.basics // должно быть доменное имя
//Создайте директорию MJAVA, a в нем КАТАЛОГ СОМ, а в нем каталог BASICS
public class mnoj
{
public static void main(String[] args)
{
const n=8; //Кол.элементов множества A
const li=1;
int m,j,p; //Cчетчики
int min; //Переменная обмена
int k1[n]={-3,4,-5,1,6,0,-4,-1}; // Элементы множества A
int k[n]; //Массив k[n]
int priz; // Признак вхождения элемента в множество A
System.out.println("Всего элементов множества A="+n);
System.out.println("Узнать входит ли число "+li+" в множество A");
System.out.println("Даны элементы множества A");
for(m=0;m< sizeof(k1)/sizeof(k1[0]); m++)
{
System.out.print(k1[m],' ');
k[m]=k1[m];
}
//================ Сортируем элементы множества A в возрастающем порядке
for(m=1;m<=n-1;m++)
{
for(j=1;j<=n-1;j++)
{
if (k[j+1]<=k[j]) {
min=k[j];
k[j]=k[j+1];
k[j+1]=min;
}
}
}
//==== Отсортированный порядок элементов множества A ==== }
System.out.println("Отсортированная порядок");
for(m=1;m<=n;m++)
{
System.out.print(k[m]+' ');
}
System.out.println("");
//================== Ищем Элемент в множестве ========= }
for(m=1;m<=n;m++)
{
if(li==k[m])
{
priz=0;
break;
}
}
if(priz==0) System.out.println("Входит"); else System.out.println("Нет");
//==================================================== }
}
}
Ну вот и все.
В свое время я пользовался книгой
Девид Фленаган "JAVA в примерах" Справочник,Учебное пособие к книге "Java. Справочник"
Программа на C++ работает, а вот программу на Java я не запускал на исполнение.
Если ВЫ уже сделали 2 программы, то запустите и эту. Все ВАМ придется проверить самой.
Удачи. Я уверен что у ВАС все получится.
С уважением LEND