Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
7 / 0 / 1
Регистрация: 14.09.2013
Сообщений: 19

Заполнение массива. После проверки последней цифры числа должно выводиться соответствующее сообщение

26.01.2014, 20:35. Показов 1588. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Совсем недавно начал изучать js и дошёл до массивов. И встал вопрос о заполнении массива. Я реализовал заполнение с помощью функции:
Кликните здесь для просмотра всего текста
JavaScript
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
function OnMass(x) // Функция заполняющая массив.
    {
        var n = parseInt(prompt('Введите колличество элементов массива'));
        
        for (var i = 0; i < n; i++)
        {
            if ((i + 1) % 10 == 0 || (i + 1) % 10 == 1 || (i + 1) % 10 == 4 || (i + 1) % 10 == 5 || (i + 1) % 10 == 9 || (((i + 1) % 100 > 9) && ((i + 1) % 100 < 20))) 
                x[i] = parseInt(prompt('Введите ' + (i + 1) + 'ый элемент массива'));
            else
                if ((i + 1) % 10 == 3)
                    x[i] = parseInt(prompt('Введите ' + (i + 1) + 'ий элемент массива'));
                else
                    x[i] = parseInt(prompt('Введите ' + (i + 1)+ 'ой элемент массива'));
            while (isNaN(x[i]))
            {
                if ((i + 1) % 10 == 0 || (i + 1) % 10 == 1 || (i + 1) % 10 == 4 || (i + 1) % 10 == 5 || (i + 1) % 10 == 9 || (((i + 1) % 100 > 9) && ((i + 1) % 100 < 20)))
                x[i] = parseInt(prompt('Введите ' + (i + 1) + 'ый элемент массива'));
            else
                if ((i + 1) % 10 == 3)
                    x[i] = parseInt(prompt('Введите ' + (i + 1) + 'ий элемент массива'));
                else
                    x[i] = parseInt(prompt('Введите ' + (i + 1)+ 'ой элемент массива'));         
            }
        }
    }

Смысл в том, что после проверки последней цифры числа должно выводиться соответствующее сообщение. Например: 1 ый элемент, 2 ой элемент и т.д. Вопрос в том, как это сделать лучше? Может каждое условие сделать в виде отдельной функции? Или написать одну функцию проверки условия? Заранее спасибо!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.01.2014, 20:35
Ответы с готовыми решениями:

Вывести все целые числа от А до В включительно; при этом число A должно выводиться 1 раз, число A + 1 должно выводиться 2 раза и т.д.
Даны целые числа A и B (A&lt; B). Вывести все целые числа от А до В включительно; при этом число A должно выводиться 1 раз, число A + 1 должно...

Заполнение массива ArrayList после проверки, если он пустой
Здравствуйте, форумчане! Проблема в следующем: Загружаю массив ArrayList из файла final FileInputStream fileIn_da = new...

После нажатия кнопки button должно выводиться текстовое поле
После нажатия кнопки button должно выводиться текстовое поле. Не знаю как. И вообще я новичок в яваскрипт, напишите пожалуйста.(

12
Эксперт JSЭксперт HTML/CSS
2436 / 1115 / 312
Регистрация: 23.06.2011
Сообщений: 3,531
26.01.2014, 21:32
не понял смысла в этом деле, но в глаза бросилось это
JavaScript
1
(i+1)%10
встречается немерено раз, так почему не заменить на переменную
JavaScript
1
var y=(i+1)%10;
и не лень же было по клавишам стучать
1
7 / 0 / 1
Регистрация: 14.09.2013
Сообщений: 19
26.01.2014, 21:57  [ТС]
Согласен. Так было бы легче. Спасибо)
Смысл по большей части в интересе. Пользователь видит окно, в котором всё грамотно и красиво. Т.е. в зависимости от номера элемента ставиться соответствующее окончание -ый -ой -ий и т.д. Ну и интересно, возможно ли как-то оптимизировать и упростить данную проверку и не писать столько кода)
0
Эксперт JSЭксперт HTML/CSS
2436 / 1115 / 312
Регистрация: 23.06.2011
Сообщений: 3,531
27.01.2014, 06:45
Цитата Сообщение от Affteron Посмотреть сообщение
в зависимости от номера элемента ставиться соответствующее окончание -ый -ой -ий и т.д.
Так вот оно что нужно, посмотри тут.

P.S.
Всегда и везде используй фигурные скобки.
Не используй prompt(), лучше поле.
1
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
27.01.2014, 07:33
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
function fin (N)
{
var S = N.toString ().split (''), Z = 'ы', SL1 = S [S.length - 1],
SL2 = (S.length > 1) ? (S [S.length - 2] + SL1) : SL1;
 
     if (SL2 > 8 && SL2 < 22)                                    Z = 'ы';
else if (SL1 == 2 || SL1 == 6 || SL1 == 7 || SL1 == 8 || N == 0) Z = 'о';
else if (SL1 == 3)                                               Z = 'и';
return N + '-' + Z + 'й';
}
 
alert (fin (22));
1
7 / 0 / 1
Регистрация: 14.09.2013
Сообщений: 19
27.01.2014, 10:42  [ТС]
Цитата Сообщение от kalabuni Посмотреть сообщение
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
function fin (N)
{
var S = N.toString ().split (''), Z = 'ы', SL1 = S [S.length - 1],
SL2 = (S.length > 1) ? (S [S.length - 2] + SL1) : SL1;
 
     if (SL2 > 8 && SL2 < 22)                                    Z = 'ы';
else if (SL1 == 2 || SL1 == 6 || SL1 == 7 || SL1 == 8 || N == 0) Z = 'о';
else if (SL1 == 3)                                               Z = 'и';
return N + '-' + Z + 'й';
}
 
alert (fin (22));
Цитата Сообщение от newJS Посмотреть сообщение
Так вот оно что нужно, посмотри тут.
Огромное спасибо)

Цитата Сообщение от newJS Посмотреть сообщение
P.S.
Всегда и везде используй фигурные скобки.
Не используй prompt(), лучше поле.
Не совсем понял про фигурные скобки)
0
Эксперт JSЭксперт HTML/CSS
2436 / 1115 / 312
Регистрация: 23.06.2011
Сообщений: 3,531
27.01.2014, 21:18
Цитата Сообщение от Affteron Посмотреть сообщение
Не совсем понял про фигурные скобки)
Есть такая неразумная фигня, когда говорят что скобки нужны, но вот тут, тут, и тут необязательны, забей на необязательность и используй везде, тоже самое точка с запятой и прочие "необязательно", все всегда и везде обязательно, меньше проблем.
И открывающую скобку не рекомендуется писать на новой строке, парсер может фигню сморозить, так он устроен.
1
7 / 0 / 1
Регистрация: 14.09.2013
Сообщений: 19
27.01.2014, 21:36  [ТС]
Цитата Сообщение от newJS Посмотреть сообщение
Есть такая неразумная фигня, когда говорят что скобки нужны, но вот тут, тут, и тут необязательны, забей на необязательность и используй везде, тоже самое точка с запятой и прочие "необязательно", все всегда и везде обязательно, меньше проблем.
И открывающую скобку не рекомендуется писать на новой строке, парсер может фигню сморозить, так он устроен.
Огромное спасибо за советы! Буду придерживаться)
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
27.01.2014, 23:46
Цитата Сообщение от newJS Посмотреть сообщение
открывающую скобку не рекомендуется писать на новой строке, парсер может фигню сморозить, так он устроен
пример можно?

никогда не слышал о таком и никогда не сталкивался
0
Эксперт JSЭксперт HTML/CSS
2436 / 1115 / 312
Регистрация: 23.06.2011
Сообщений: 3,531
28.01.2014, 06:01
мне пару раз попадались на разных сайтах статьи как не надо писать, и в книге Крокфорд - JavaScript. Сильные стороны.pdf
JavaScript
1
2
3
4
return
{
status:true
};
сей товарищ много всяких пакостей раскрывает, в частности почему не нужно использовать with
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
28.01.2014, 13:21
Цитата Сообщение от newJS Посмотреть сообщение
сей товарищ много всяких пакостей раскрывает, в частности почему не нужно использовать with
просмотрел бегло
"раскрывает" - сильно сказано
правильнее будет сказать - "абсолютно голословно утверждает"
------------

любое утверждение в javascript'e легко проверяется
в разделе "Плохие вещи" (сс.134-140) куча утверждений и ни одного примера для их подтверждения

например, что именно "раскрывает" авторская фраза "результаты иногда(!) могут быть(!) непредсказуемы, поэтому её использования [инструкции with] следует избегать" ?
имхо, ничего она не раскрывает
а напоминает совковый ментовский гимн "если кто-то кое-где у нас порой..."
если реально иногда может быть - так дай примерчик!
но - не даёт...
а потому не даёт, что примеров таких у него нет, непредсказуемой эта инструкция не бывает нигде и никогда!

или его фраза "не нужна запятая и после последнего элемента литерала массива... поскольку некоторые браузеры могут неверно её истолковать" - это же кошмар уровня детского садика!!!
все без исключения браузеры конечную запятую абсолютно верно истолкуют как разделитель между предпоследним элементом массива и последним пустым элементом

в общем, первое впечатление - уровень автора значительно ниже плинтуса, к сожалению
0
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
28.01.2014, 15:29
Цитата Сообщение от kalabuni Посмотреть сообщение
все без исключения браузеры конечную запятую абсолютно верно истолкуют как разделитель между предпоследним элементом массива и последним пустым элементом
IE7 говорил, что [42,].length === 2, а не 1. http://pointedears.de/scripts/... #feature21

Если не ошибаюсь, IE6 категорически не переваривал запятую перед } в литерале объекта. http://pointedears.de/scripts/... #feature26 (там же, но с другим якорем).
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
07.01.2016, 02:08
----------------------
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.01.2016, 02:08
Помогаю со студенческими работами здесь

Вывод последней цифры числа и числа без последней цифры
. Разработать приложение, которое для введенного целого числа выполняет:  вывод последней цифры числа;  вывод исходного числа...

При вводе числа должно выводиться, сколько в нем сотень, единиц...
Очень нужна помощь в написании программы, которая при вводе какого-либо числа в Эдит (!) без нажимания кнопок и т.д. автоматически выдавала...

Выведите все натуральные числа от 1 до n, причем число i должно выводиться i раз
Создание блок схемы Дано натуральное число n. Выведите все натуральные числа от 1 до n, причем число i должно выводиться i раз. пример:...

При отправки формы должно выводиться сообщение на той же странице под формой
Доброго времени суток, уважаемые форумчане. Есть форма, которую я отправляю на e-mail. Она отправляется, все нормально. Только после...

При выборе элемента из ListBox должно выводиться сообщение о том какой элемент выбран
При выборе элемента из ListBox должно выводиться сообщение о том какой элемент выбран. Такой вариант выводит индексы, а мне нужно именно то...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru