Перейти к содержанию

Работа с массивами


VG2

Рекомендуемые сообщения

Имеется массив уникальных чисел в заданном интервале в случайном порядке.

m[0]

m[1]

...

m[100]

 

Мне нужно каким-то образом проверить наличие в этом массиве одновременно каких-то трех или четырех чисел заданных переменными (например, $one, $two, $three, $four) и если все четыре цифры есть, то сделать переменную $chk4 = true, если три из них есть, то $chk3 = true, если две, то $chk2 = true.

 

Заранее спасибо.

Ссылка на комментарий
Поделиться на другие сайты

Можно передавать в проверяющую функцию массив чисел на проверку n (если на С пишете, то еще и его длину), в цикле проходить массив m, при нахождении элемента массива n (скажем с индексом j), можно отмечать j-й бит в переменной, которую потом и будет возвращать функция. Количество ненулевых битов = количество найденных элементов массива n. Ну или еще как-нибудь решить. Способов - куча.

Ссылка на комментарий
Поделиться на другие сайты

Да даже можно тупо счетчик наращивать при нахождении совпадения, его и возвращать...

Пишет VG2, насколько я понял, на PHP

Ссылка на комментарий
Поделиться на другие сайты

Можно передавать в проверяющую функцию массив чисел на проверку n (если на С пишете, то еще и его длину), в цикле проходить массив m, при нахождении элемента массива n (скажем с индексом j), можно отмечать j-й бит в переменной, которую потом и будет возвращать функция. Количество ненулевых битов = количество найденных элементов массива n. Ну или еще как-нибудь решить. Способов - куча.

Сложновато для меня. Видимо проще организовать цикл, как рекомендует Ksanatos, но я в синтаксисе путаюсь.

 

насколько я понял, на PHP

Пишу это громко сказано:) Иногда ковыряю чужой код в PHP, но в данном случае JS.

Ссылка на комментарий
Поделиться на другие сайты

Что значит путаешься?

Ну я не настоящий программист:)

Я тебе могу псевдокод тут накидать, а ты уже на JS перепишешь.

Вот это могу. Жду.

 

xct спасибо огромное, попозже проверю его на JS, отпишусь.

 

 

Реально просто. И чего я грузился:) Спасибо!

Ссылка на комментарий
Поделиться на другие сайты

здесь берешь функцию in_array (эквивалент php функции): http://kevin.vanzonneveld.net/techblog/art..._phps_in_array/

- качаешь файлик php.js там эта функция

строишь цикл

var count;
if(in_array(one,your_array)){count++;}
if(in_array(two,your_array)){count++;}
if(in_array(three,your_array)){count++;}
if(in_array(four,your_array)){count++;}

ну а дальше в зависимости от значения count

 

а лучше проверяемые переменные запихнуть в массив и проверять его в цикле

Ссылка на комментарий
Поделиться на другие сайты

качаешь файлик php.js там эта функция

Полезный файлик.

Жаль только мой фреймвок не поддерживает in_array, но ничего, сделал if конструкциями, там всего 4 цифры нужно проверять.

Ссылка на комментарий
Поделиться на другие сайты

  • 3 months later...

нужна ваша помощь!

в школе информатика - qbasic, ща тема массивы

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

помогите пожалуйста

Ссылка на комментарий
Поделиться на другие сайты

- Дядь! Дай десять копеек!

- А может, тебе еще и ключ от квартиры, где деньги лежат?

- Дядь, Ну, дай десять копеек!

- От мертвого осла уши!

Ссылка на комментарий
Поделиться на другие сайты

dim a(1 to 100, 1 to 100)

input n

input m

for i=1 to n

for j=1 to m

input a(i,j)

if a(i,j)=0 then a(i,j)=1

next j

next i

for i=1 to n

for j=1 to m

print a(i,j)

next j

next i

 

Не отвечаю за синтаксис, набери и запусти. И учись уже, школьник, блин...

Ссылка на комментарий
Поделиться на другие сайты

Огромное спасибо

Если что - обращайся

НО! Пишет в конце программы "Next без For"

Вот тут:

dim a(1 to 100, 1 to 100)

input n

input m

for i=1 to n

for j=1 to m

input a(i,j)

if a(i,j)=0 then a(i,j)=1

next j

next i

for i=1 to n

for j=1 to m

print a(i,j)

next j

next i

Ссылка на комментарий
Поделиться на другие сайты

  • 1 month later...

Заархивировано

Эта тема находится в архиве и закрыта для дальнейших ответов.

×
×
  • Создать...