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

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

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 цифры нужно проверять.

Поделиться сообщением


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

Revolution

такая графическая оболочка

Поделиться сообщением


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

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

в школе информатика - 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

Поделиться сообщением


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

Проверь, где то ты for пропустил один

Поделиться сообщением


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

нет нет, всё строго по твоей программе

 

нет нет, всё строго по твоей программе

Поделиться сообщением


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

в qbasic желательно выставлять цифры в начале каждой строки

1 ...

2 ...

3 ...

 

....

 

n ...

Поделиться сообщением


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