Here’s an array:
var array = new Array();
array[0] = "sound1.mp3"
array[1] = "sound2.mp3"
array[2] = "sound3.mp3"
In a function that I’ve written, I need to get the string’s order number.
Here’s what I’ve got so far:
function registerSound(array, i) {
var arrno = ???;
var arrurl = array[i];
soundManager.createSound({ id: 'sound' + arrno, url: arrurl });
}
function processArray(array) {;
for(i=1; i<array.length; i++) {
registerSound(array, i);
}
}
The arrno
variable should have the order number of "sound2.mp3"
(in this case 1
). It needs to be set up so that, when the for
statement turns to the next string in the array, the arrno
variable will contain the order number of "sound3.mp3"
(2).
Thanks very much in advance!
asked Jul 24, 2012 at 15:20
5
function registerSound(array, i) {
var arrurl = array[i];
soundManager.createSound({
id: 'sound' + i,
url: arrurl
});
}
Also, declare your variables and start your loop from 0
:
function processArray(array) {;
for (var i = 0; i < array.length; i++) {
registerSound(array, i);
}
}
answered Jul 24, 2012 at 15:32
EsailijaEsailija
138k23 gold badges271 silver badges326 bronze badges
2
#include <iostream>
using namespace std;
int main()
{
const int rows = 92;
const int cols = 8;
int m;
int i;
int j;
int sbd;
int **arr = new int* [rows];
for (int i = 0; i < rows; i ++)
{
arr[i] = new int [cols];
}
for (int i = 0; i < rows; i ++)
{
for (int j = 0; j < cols; j ++)
{
cin >> arr [i][j];
}
}
for (int a = 0; a < 1; a ++)
{
for (int b = cols - 1; b >= 0; b --)
{
sbd = arr [a][b];
for (int j = 0; j < cols; j ++)
{
for (int i = 0; i < rows; i ++)
{
if (arr [i][j] == sbd)
{
m = i + 1;
}
}
}
}
cout << m << " ";
}
cout << endl;
for (int i = 0; i < rows; i++)
{
delete[]arr[i];
}
delete[]arr;
return 0;
}
Вводимый массив:
1 5 8 6 3 7 2 4
1 6 8 3 7 4 2 5
1 7 4 6 8 2 5 3
1 7 5 8 2 4 6 3
2 4 6 8 3 1 7 5
2 5 7 1 3 8 6 4
2 5 7 4 1 8 6 3
2 6 1 7 4 8 3 5
2 6 8 3 1 4 7 5
2 7 3 6 8 5 1 4
2 7 5 8 1 4 6 3
2 8 6 1 3 5 7 4
3 1 7 5 8 2 4 6
3 5 2 8 1 7 4 6
3 5 2 8 6 4 7 1
3 5 7 1 4 2 8 6
3 5 8 4 1 7 2 6
3 6 2 5 8 1 7 4
3 6 2 7 1 4 8 5
3 6 2 7 5 1 8 4
3 6 4 1 8 5 7 2
3 6 4 2 8 5 7 1
3 6 8 1 4 7 5 2
3 6 8 1 5 7 2 4
3 6 8 2 4 1 7 5
3 7 2 8 5 1 4 6
3 7 2 8 6 4 1 5
3 8 4 7 1 6 2 5
4 1 5 8 2 7 3 6
4 1 5 8 6 3 7 2
4 2 5 8 6 1 3 7
4 2 7 3 6 8 1 5
4 2 7 3 6 8 5 1
4 2 7 5 1 8 6 3
4 2 8 5 7 1 3 6
4 2 8 6 1 3 5 7
4 6 1 5 2 8 3 7
4 6 8 2 7 1 3 5
4 6 8 3 1 7 5 2
4 7 1 8 5 2 6 3
4 7 3 8 2 5 1 6
4 7 5 2 6 1 3 8
4 7 5 3 1 6 8 2
4 8 1 3 6 2 7 5
4 8 1 5 7 2 6 3
4 8 5 3 1 7 2 6
5 1 4 6 8 2 7 3
5 1 8 4 2 7 3 6
5 1 8 6 3 7 2 4
5 2 4 6 8 3 1 7
5 2 4 7 3 8 6 1
5 2 6 1 7 4 8 3
5 2 8 1 4 7 3 6
5 3 1 6 8 2 4 7
5 3 1 7 2 8 6 4
5 3 8 4 7 1 6 2
5 7 1 3 8 6 4 2
5 7 1 4 2 8 6 3
5 7 2 4 8 1 3 6
5 7 2 6 3 1 4 8
5 7 2 6 3 1 8 4
5 7 4 1 3 8 6 2
5 8 4 1 3 6 2 7
5 8 4 1 7 2 6 3
6 1 5 2 8 3 7 4
6 2 7 1 3 5 8 4
6 2 7 1 4 8 5 3
6 3 1 7 5 8 2 4
6 3 1 8 4 2 7 5
6 3 1 8 5 2 4 7
6 3 5 7 1 4 2 8
6 3 5 8 1 4 2 7
6 3 7 2 4 8 1 5
6 3 7 2 8 5 1 4
6 3 7 4 1 8 2 5
6 4 1 5 8 2 7 3
6 4 2 8 5 7 1 3
6 4 7 1 3 5 2 8
6 4 7 1 8 2 5 3
6 8 2 4 1 7 5 3
7 1 3 8 6 4 2 5
7 2 4 1 8 5 3 6
7 2 6 3 1 4 8 5
7 3 1 6 8 5 2 4
7 3 8 2 5 1 6 4
7 4 2 5 8 1 3 6
7 4 2 8 6 1 3 5
7 5 3 1 6 8 2 4
8 2 4 1 7 5 3 6
8 2 5 3 1 7 4 6
8 3 1 6 2 5 7 4
8 4 1 3 6 2 7 5
Найти строку и вывести № которая содержит числа в определенном порядке 4 2 7 3 6 8 5 1, т.е. №33. в программе выше перед удалением массива код с ошибкой, программа выводит № 51. Помогите исправить ошибку.
задан 16 авг 2018 в 8:54
2
У вас проблема в логике цикла:
for (int a = 0; a < 1; a++) {
for (int b = cols - 1; b >= 0; b--) {
sbd = arr[a][b];//я так понимаю вы сдесь берете элементы первой строки с конца
for (int j = 0; j < cols; j++) {
for (int i = 0; i < rows; i++) {//и зачем-то сравниваете с каждым элементом
if (arr[i][j] == sbd) {
m = i + 1;//а это типо сохранение результата чтоли?
}
}
}
}
cout << m << " ";
}
cout << endl;
Естественно это не работает так как вы хотели. Почему бы не взять значения, которые вы выбрали для сравнения в массив и сравнивать их построчно?
int temp[cols]{};
for (int i = cols - 1, count = 0; i >= 0; --i, ++count) {
temp[count] = arr[0][i];
}
std::cout << std::endl;
for (int i = 0; i < cols; ++i) {
std::cout << temp[i];
}
std::cout << std::endl;
bool solution{true};
for (int i = 0; i < rows; i++) {
solution = true;
for (int j = 0; j < cols; ++j) {
if (temp[j] != arr[i][j]) {
solution = false;
break;
}
}
if (solution == true) {
cout << i << " ";
}
}
cout << endl;
ответ дан 16 авг 2018 в 9:44
Andrej LevkovitchAndrej Levkovitch
7,9892 золотых знака16 серебряных знаков42 бронзовых знака
2
#include <iostream>
using namespace std;
int main()
{
const int rows = 92;
const int cols = 8;
int m;
int i;
int j;
int sbd;
int **arr = new int* [rows];
for (int i = 0; i < rows; i ++)
{
arr[i] = new int [cols];
}
for (int i = 0; i < rows; i ++)
{
for (int j = 0; j < cols; j ++)
{
cin >> arr [i][j];
}
}
int m;
int sbd;
for (int j = 0; j < cols; )
{
int t = 0;
for(int a = 0; a < 1; a ++)
{
for (int b = cols - 1; b >=0; )
{
sbd = arr [a][b];
for (int i = t; i < rows; )
{
if (arr [i][j] != sbd)
{
i ++;
}
else if (arr [i][j] == sbd)
{
t = i;
j ++;
b --;
if (b == 0)
{
m = i;
}
break;
}
}
}
}
}
cout << m + 1;
cout << endl;
for (int i = 0; i < rows; i++)
{
delete[]arr[i];
}
delete[]arr;
return 0;
}
Ошибка исправлена)))
ответ дан 17 авг 2018 в 17:35
ufaclub 0 / 0 / 0 Регистрация: 16.02.2013 Сообщений: 48 |
||||||||
1 |
||||||||
Определить номер строки имея массив по значению12.09.2015, 21:43. Показов 3273. Ответов 8 Метки нет (Все метки)
скрипт выводит 10 строк.
получаем
мне нужно как то по переменной $number в которой содержит номер квартиры вывести ее порядковый номер (тот что через дефис) использую тот массив что создает выше скрипт помогите пожалуйста составить скрипт. определения порядкового номера. например в переменную $kv
0 |
Programming Эксперт 94731 / 64177 / 26122 Регистрация: 12.04.2006 Сообщений: 116,782 |
12.09.2015, 21:43 |
8 |
4845 / 3857 / 1599 Регистрация: 24.04.2014 Сообщений: 11,316 |
|
12.09.2015, 21:58 |
2 |
Сообщение было отмечено ufaclub как решение Решение
мне нужно как то по переменной $number в которой содержит номер квартиры вывести ее порядковый номер (тот что через дефис) А разве он уже не выводится? После —
33-1 34-2 35-3 36-4 37-5 38-6 39-7 40-8 177-9 178-10
помогите пожалуйста составить скрипт. определения порядкового номера. например в переменную $kv Если ты выводишь этот номер, то в чем сложность поместить его в переменную?
0 |
0 / 0 / 0 Регистрация: 16.02.2013 Сообщений: 48 |
|
12.09.2015, 22:09 [ТС] |
3 |
я вывожу его с помощью ++$i в базе его нет. вот в чем проблема
0 |
4845 / 3857 / 1599 Регистрация: 24.04.2014 Сообщений: 11,316 |
|
12.09.2015, 22:09 |
4 |
вот в чем проблема и в чем же?
0 |
ufaclub 0 / 0 / 0 Регистрация: 16.02.2013 Сообщений: 48 |
||||||||
13.09.2015, 16:13 [ТС] |
5 |
|||||||
вот результат
т.е массив $array содержит правильную информацию. т.е 17 квартира имеет номер планировки 1 [17] => 1 единственное что не могу доделать дописать скрипт чтобы он использовал переменную $number в которой и есть номер квартиры (тот что в []) и в результате выводит то значение что после => ну и значение в переменную $kvplan записывалось
0 |
3827 / 3178 / 1334 Регистрация: 01.08.2012 Сообщений: 10,768 |
|
13.09.2015, 16:17 |
6 |
ufaclub, ничего не понятно. Что за $number (она нигде не объявлена), что там должно быть и где выводиться? И аналогично с $kvplan.
0 |
ufaclub 0 / 0 / 0 Регистрация: 16.02.2013 Сообщений: 48 |
||||
13.09.2015, 16:27 [ТС] |
7 |
|||
$number содержит номер квартиры . она уже известна. например в примере можно использовать $number=17 т.е подставляем переменную $number=17 а скрипт из массива который создает
Array ( [17] => 1 [18] => 2 [19] => 3 [20] => 4 [21] => 5 [22] => 6 [23] => 7 [24] => 8 [169] => 9 [170] => 10 [171] => 11 [172] => 12 [254] => 13 [255] => 14 [256] => 15 [257] => 16 [258] => 17 [259] => 18 [260] => 19 [424] => 20 [425] => 21 [426] => 22 [427] => 23 [428] => 24 [429] => 25 [430] => 26 [431] => 27 ) вытаскивает номер планировки и записывает ее в $kvplan. т.е если $number=17 то $kvplan=1
0 |
Jodah 3827 / 3178 / 1334 Регистрация: 01.08.2012 Сообщений: 10,768 |
||||
13.09.2015, 16:43 |
8 |
|||
Сообщение было отмечено ufaclub как решение Решение
Так?
1 |
0 / 0 / 0 Регистрация: 16.02.2013 Сообщений: 48 |
|
13.09.2015, 18:44 [ТС] |
9 |
бинго. Сработало! Jodah спасибо!
0 |
uses crt; var a:array[1..100,1..100] of integer; b:array[1..100] of real; i,j,n,m,tempi:integer; min:real; begin ClrScr; Randomize; repeat Write('n='); Readln(n); Write('m='); Readln(m); until (n>1) and (m>1); for i:=1 to n do begin for j:=1 to m do begin a[i,j]:=-10+random(20); Write(a[i,j]:4); end; Writeln; end; b[i]:=0; for i:=1 to n do for j:=1 to m do b[i]:=b[i]+a[i,j]; min:=1; for i:=1 to n do begin Write(b[i]/m:6:1); if (b[i]/m)<min then begin min:=(b[i]/m); tempi:=i; end; end; Writeln; Writeln('Минимальный ',min:3:1); Writeln('Строка ',tempi); Readln; end.
Лонгон Ис Пользователь Сообщений: 3 |
Всем здравствуйте, подскажите, пожалуйста, как узнать номер строки определенного значения и есть ли оно в массиве. Прикрепленные файлы
Изменено: Лонгон Ис — 09.01.2023 13:05:26 |
Jack Famous Пользователь Сообщений: 11027 OS: Win 8.1 Корп. x64 | Excel 2016 x64: | Browser: Chrome |
#2 09.01.2023 13:13:54 Лонгон Ис, здравствуйте
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄ |
|
DemonAMT Пользователь Сообщений: 423 |
Добрый День! Прикрепленные файлы
|
Лонгон Ис Пользователь Сообщений: 3 |
Jack Famous
, в этом и сложность, для начала нужно сцепить ячейки столбцов A и B и только потом найти нужное значение. Мне нужно найти номер строки, значение ячейки в столбце которой равно «b3», но чтобы в соседней ячейке было значение «5», если искать только по A, то значений «b3» — 2 штуки. |
Jack Famous Пользователь Сообщений: 11027 OS: Win 8.1 Корп. x64 | Excel 2016 x64: | Browser: Chrome |
#5 09.01.2023 13:21:45
и как это можно «понять», если в примере этого нет? Будет нормальный пример — будет и решение. Или ждите местных гадателей… Изменено: Jack Famous — 09.01.2023 13:22:04 Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄ |
||
bigorq Пользователь Сообщений: 795 |
Формулой |
Jack Famous Пользователь Сообщений: 11027 OS: Win 8.1 Корп. x64 | Excel 2016 x64: | Browser: Chrome |
#7 09.01.2023 13:29:26
пардоньте, в описании у вас что-то такое есть, но для меня пример первичен всё-таки Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄ |
||
artemkau88 Пользователь Сообщений: 553 |
#8 09.01.2023 17:32:51 Лонгон Ис
, можно использовать функцию линейного поиска:
Прикрепленные файлы
Изменено: artemkau88 — 09.01.2023 17:33:41 |
||
Григорий Калюга Пользователь Сообщений: 156 |
#9 09.01.2023 18:38:13 Доброго дня!
если Вы уже взяли в массив столбцы, то почему бы не взять туда же и адреса или номера строк? А дальше не нужно никакого сцепить — работаем просто с массивом и условиями … |
||
Лонгон Ис Пользователь Сообщений: 3 |
Спасибо большое всем за ответы. Григорий Калюга , к сожалению не знаю как взять в массив адреса и строки, но я понял, поищу — найду как это делается. |
_Boroda_ Пользователь Сообщений: 1496 Контакты см. в профиле |
#11 10.01.2023 13:02:23 Если Вы делаете массив и потом несколько раз по нему ищете, то лучше использовать словарь
Скажи мне, кудесник, любимец ба’гов… |
||
Григорий Калюга Пользователь Сообщений: 156 |
#12 10.01.2023 19:44:21 Доброго времени суток!
ну, например так: на скрепке прикрепил вариант. Делал через массивы, так что не пинайте сильно Прикрепленные файлы
|
||
Anchoret Пользователь Сообщений: 1065 Anchoret |
#13 11.01.2023 00:59:16
|
||