Форум программистов
 
Расширенный поиск
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Web > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Excel VBA, CAD, Софт, ОС, Windows, Ubuntu, Android, VPS
Win Api, Assembler, C++, Java, Pascal, Lazarus, Delphi, OpenGL, DirectX
C#, Qt, .NET, ASP.NET, Windows Forms, ADO.NET, Framework, WPF, UWP, WinRT, XAML
HTML, CSS, JavaScript, Ajax, PHP, Perl, Python, Ruby, SQL, WordPress, API, XML, JSON, ActionScript, Flash

Ответ
 
Опции темы
Старый 16.12.2016, 21:47   #1
Chips186
Новичок
 
Регистрация: 16.12.2016
Сообщений: 2
Репутация: 10
По умолчанию Создать таблицу и закрасить её ячейки так, как это показано на приложенном рисунке

Буду вам очень благодарен если вы поможете мне написать скрипт на это задание. Нужно создать таблицу 10 на 10. Высота и ширина ячейки 50 пикселей и закрасить таблицу так как показана на рисунке ниже:

Последний раз редактировалось Вадим Мошев; 16.12.2016 в 22:31.
Chips186 вне форума   Ответить с цитированием
Старый 16.12.2016, 22:55   #2
Вадим Мошев
гигаМодератор :)
Заслуженный модератор
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Адрес: Адрес: Адрес: Адрес: Адрес: Адрес: Адрес: Адрес: Адрес:
Сообщений: 7,088
Репутация: 3559
По умолчанию

Напишите функцию, которая из входного массива будет формировать строку <tr> с элементами <td>. Создаётся элемент с помощью document.createElement(‘имя тега’), подцепляется в конец с помощью имяСозданногоЭлемента.appendChild(п одцепляемыйЭлемент).

Если текущий элемент массива равен 0, то красьте ячейку в розовый, иначе (если, например, 1) – в зелёный. После создания элемента подцепляйте его к созданной строке и возвращайте её через return.

В основной программе объявите массив и задайте ему начальное значение как
Код:

0 0 0 1 0 0 0 1 0 0

Далее в цикле, который надо выполнить 10 раз, делайте вот что:
1. Циклически сдвигайте массив на одну позицию влево (используйте методы shift и push)
2. Вызывайте написанную ранее функцию, которой будете передавать такой массив, чтобы получить нужную строку
3. Подцепляйте полученную строку заранее созданной таблице.

Всё.
Вадим Мошев вне форума   Ответить с цитированием
Старый 17.12.2016, 14:50   #3
Naive
Раздолбайских Дел
Профессионал
 
Аватар для Naive
 
Регистрация: 22.05.2009
Адрес: Екатеринбург
Сообщений: 3,499
Репутация: 1785
По умолчанию

https://jsfiddle.net/naiveMan/hr7n9s9t/

Вадим Мошев, неправильно ты, дядя Федор, бутерброд ешь...
Неужели не проходил стандартные задачи на диагонали матриц? Или сраные шахматы никогда не писал? Ход слона/ферзя?))

пс. У меня там очепятка в массиве с условиями, думаю ТС сам разберется.
ппс. Через деление на модуль можно отказаться от исходного массива вовсе — получится решение еще изящней
upd: https://jsfiddle.net/naiveMan/hr7n9s9t/1/ — вот, нормальное, взрослое решение.
__________________
ridero.ru — создайте настоящую книгу
Жду ваши искренние спасибы на яндекс-кошелек: 410011068154587

Последний раз редактировалось Naive; 17.12.2016 в 15:02.
Naive вне форума   Ответить с цитированием
Старый 19.12.2016, 22:37   #4
Вадим Мошев
гигаМодератор :)
Заслуженный модератор
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Адрес: Адрес: Адрес: Адрес: Адрес: Адрес: Адрес: Адрес: Адрес:
Сообщений: 7,088
Репутация: 3559
По умолчанию

Первый твой код не курил - курил второй код. Впрочем, курить там надо всего лишь одну строку, а именно:
Код:

    if ( !( (i + j-start)%distance ) ) {

Всё остальное понятно по умолчанию. Да, твой код выглядит изящнее.


Цитата:
Сообщение от Naive Посмотреть сообщение
Неужели не проходил стандартные задачи на диагонали матриц?
Нет. Как-то не было необходимости.


Цитата:
Сообщение от Naive Посмотреть сообщение
Или шахматы никогда не писал?
Шахматы, как таковые, тоже не писал, лишь только рисовал шахматное поле. В общем-то, благодаря такому опыту, мне удалось понять твою строку. Я бы мог разбить её на несколько частей:
1. i+j -> адресация ячеек (кстати, если у словии лишь проверять эту сумму на чётность, то мы как раз и получим шахматное поле)
2. От этого вычитаем start -> позиция, начиная с которой мы будет вести отсчёт в первой (точнее, нулевой) строке таблицы.
3. Получение остатка от деления на расстояние между "полосами" -> это для получения периодичности, повтора полос.

Скажи, у меня всё верно?
Вадим Мошев вне форума   Ответить с цитированием
Старый 20.12.2016, 01:09   #5
Naive
Раздолбайских Дел
Профессионал
 
Аватар для Naive
 
Регистрация: 22.05.2009
Адрес: Екатеринбург
Сообщений: 3,499
Репутация: 1785
По умолчанию

Цитата:
Сообщение от Вадим Мошев Посмотреть сообщение
1. i+j -> адресация ячеек (кстати, если у словии лишь проверять эту сумму на чётность, то мы как раз и получим шахматное поле)
2. От этого вычитаем start -> позиция, начиная с которой мы будет вести отсчёт в первой (точнее, нулевой) строке таблицы.
3. Получение остатка от деления на расстояние между "полосами" -> это для получения периодичности, повтора полос.

Скажи, у меня всё верно?
Да, все так.
__________________
ridero.ru — создайте настоящую книгу
Жду ваши искренние спасибы на яндекс-кошелек: 410011068154587
Naive вне форума   Ответить с цитированием
Ответ



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
javaScript помогите пожалуйста написать код dahnik JavaScript, Ajax 1 28.06.2016 23:25
Написать программы JavaScript hardprogramm JavaScript, Ajax 10 04.03.2016 21:28
JavaScript написать скрипт Ann2807 JavaScript, Ajax 2 29.05.2013 11:24
Нужно написать программу на JavaScript LesO Фриланс 3 25.12.2012 16:22
Видеоплеер написать javascript Ёжик в тумане JavaScript, Ajax 3 03.07.2012 09:00




17:46.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

Покупайте на сайте www.skinon.ru уникальные чехлы и наклейки для телефонов.
купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru