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

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

26.01.2014, 20:35. Показов 1569. Ответов 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,529
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,529
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,529
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,529
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
Ответ Создать тему
Новые блоги и статьи
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru