Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.06.2016, 13:11   #1
pdesyatnyk
Пользователь
 
Регистрация: 26.12.2011
Сообщений: 22
По умолчанию матрицы jquery

Имеется задача заполнить матрицу 9х9 рандомными числами, на главной диагонали разместить суммы элементов что лежат в той же строке и том же столбце,
у меня вышло только заполнить, за любую помощь буду признателен!
код html
Код:
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Matrix</title>
  <meta name="author" content="Pavlo Desiatnyk" />
  <script type="text/javascript" src="jquery-1.12.4.min.js"></script>
  <script type="text/javascript" src="matrix.js"></script>
  <link rel="stylesheet" href="matrix.css">
</head>
<body>
  <div class="matrix">
    <div class="row">
      <div class="cell diag">1</div>
      <div class="cell">1</div>
      <div class="cell">1</div>
      <div class="cell">1</div>
      <div class="cell">1</div>
      <div class="cell">1</div>
      <div class="cell">1</div>
      <div class="cell">1</div>
      <div class="cell">1</div>
    </div>
    <div class="row">
      <div class="cell">1</div>
      <div class="cell diag">1</div>
      <div class="cell">1</div>
      <div class="cell">1</div>
      <div class="cell">1</div>
      <div class="cell">1</div>
      <div class="cell">1</div>
      <div class="cell">1</div>
      <div class="cell">1</div>
    </div>
    <div class="row">
      <div class="cell">1</div>
      <div class="cell">1</div>
      <div class="cell diag">1</div>
      <div class="cell">1</div>
      <div class="cell">1</div>
      <div class="cell">1</div>
      <div class="cell">1</div>
      <div class="cell">1</div>
      <div class="cell">1</div>
    </div>
    <div class="row">
      <div class="cell">1</div>
      <div class="cell">1</div>
      <div class="cell">1</div>
      <div class="cell diag">1</div>
      <div class="cell">1</div>
      <div class="cell">1</div>
      <div class="cell">1</div>
      <div class="cell">1</div>
      <div class="cell">1</div>
    </div>
    <div class="row">
      <div class="cell">1</div>
      <div class="cell">1</div>
      <div class="cell">1</div>
      <div class="cell">1</div>
      <div class="cell diag">1</div>
      <div class="cell">1</div>
      <div class="cell">1</div>
      <div class="cell">1</div>
      <div class="cell">1</div>
    </div>
    <div class="row">
      <div class="cell">1</div>
      <div class="cell">1</div>
      <div class="cell">1</div>
      <div class="cell">1</div>
      <div class="cell">1</div>
      <div class="cell diag">1</div>
      <div class="cell">1</div>
      <div class="cell">1</div>
      <div class="cell">1</div>
    </div>
    <div class="row">
      <div class="cell">1</div>
      <div class="cell">1</div>
      <div class="cell">1</div>
      <div class="cell">1</div>
      <div class="cell">1</div>
      <div class="cell">1</div>
      <div class="cell diag">1</div>
      <div class="cell">1</div>
      <div class="cell">1</div>
    </div>
    <div class="row">
      <div class="cell">1</div>
      <div class="cell">1</div>
      <div class="cell">1</div>
      <div class="cell">1</div>
      <div class="cell">1</div>
      <div class="cell">1</div>
      <div class="cell">1</div>
      <div class="cell diag">1</div>
      <div class="cell">1</div>
    </div>
    <div class="row">
      <div class="cell">1</div>
      <div class="cell">1</div>
      <div class="cell">1</div>
      <div class="cell">1</div>
      <div class="cell">1</div>
      <div class="cell">1</div>
      <div class="cell">1</div>
      <div class="cell">1</div>
      <div class="cell diag">1</div>
    </div>
  </div>

</body>
</html>
код jquery
Код:
$(document).ready(function(){
var value;
var sum=0;


$(".cell").each(function(){

  value=Math.floor(Math.random() * (99 - 0+1)) + 0;
  sum=sum+value;
$(this).html(value);

});
$(".diag").html(0);

});
pdesyatnyk вне форума Ответить с цитированием
Старый 09.06.2016, 13:33   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
на главной диагонали разместить суммы элементов что лежат в той же строке и том же столбце
Но, не включая в сумму элементы главной диагонали?
или в матрице присутствуют отрицательные числа?


и для удобства тестирования приложите, пожалуйста, файлик matrix.css
иначе форматирования в виде таблицы нет.

Последний раз редактировалось Serge_Bliznykov; 09.06.2016 в 13:39.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 09.06.2016, 13:42   #3
pdesyatnyk
Пользователь
 
Регистрация: 26.12.2011
Сообщений: 22
По умолчанию

числа от 0 до 99, элемент на диагонали не включать
вот css
Код:
.matrix
{
  display: table;
}
.row
{
  display: table-row;
}
.cell
{
  display: table-cell;
  width: 20px;
  height: 20px;
  border: 1px solid black;
  text-align: center;
}
.diag
{
  background: rgb(130, 255, 19);
}
если можете это сделать то большое спасибо заранее
pdesyatnyk вне форума Ответить с цитированием
Старый 09.06.2016, 15:11   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

если устроит решение с матрицей, тогда держите:

Код:
<script>
$(document).ready(function(){
var matrix=[];

// заполнили матрицу и таблицу на экране
$(".row").each(function(indxRow, element){
  var r=[];
  $(element).find('.cell').each(function(indx, cell){
    var value=Math.floor(Math.random() * (5 - 0+1)) + 0;
    $(cell).html(value);
    //var value=+$(cell).html();
    r.push(value);
  });
  matrix.push(r);
});

// подсчитаем сумму элементов на главной диагонали
$(".row").each(function(indxRow, element){
  var sum=0;
  for (var i = 0; i < matrix[indxRow].length; i++) {
    if(i!=indxRow) {
      sum+=matrix[indxRow][i]+matrix[i][indxRow];
    }
  }
  $(this).find('.diag').html(sum);
});


});
</script>

забыл предупредить, я в JS/jQuery дилетант и самоучка (и продолжаю изучать) - поэтому по поводу качества кода претензии не принимаются!

Последний раз редактировалось Serge_Bliznykov; 09.06.2016 в 15:16.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 09.06.2016, 15:19   #5
pdesyatnyk
Пользователь
 
Регистрация: 26.12.2011
Сообщений: 22
По умолчанию

спасибо большое, конечно подойдет!
Цитата:
забыл предупредить, я в JS/jQuery дилетант и самоучка (и продолжаю изучать) - поэтому по поводу качества кода претензии не принимаются!
по этому поводу можете не беспокоится)
pdesyatnyk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++ и Pascal. Матрицы. Дана матрица размером n х m. Инвертировать каждую строку матрицы. Summerlight Помощь студентам 0 24.12.2013 00:19
Перекодировать консолевкий код под оконное приложение в Билдер 6. Решаю матрицы Матрицы g.e.s Общие вопросы C/C++ 0 18.11.2012 20:21
В каждой строке матрицы А(n*n) найти наибольший и наименьший элементы матрицы и поменять их местами saha1994 Паскаль, Turbo Pascal, PascalABC.NET 2 15.05.2012 20:38
Первый элемент - размерность матрицы, остальные образуют строки этой матрицы Anastasiya_Pot Помощь студентам 2 10.04.2012 09:46
На главную диагональ матрицы поместить наибольшие элементы этой матрицы mivel Помощь студентам 2 23.12.2009 21:19