Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Циклы, сумма и среднее арифметическое (https://javascript.ru/forum/misc/69673-cikly-summa-i-srednee-arifmeticheskoe.html)

j0hnik 12.07.2017 01:37

Рони,
если скучно вот вам задачка!
Дана таблица с цифрами. По нажатию на кнопку в последний ряд таблицы в каждую ячейку запишите сумму чисел в столбце таблицы, расположенном над определенной ячейкой.

Tanya51 12.07.2017 09:31

спасибо)

рони 12.07.2017 10:14

Цитата:

Сообщение от j0hnik
По нажатию на кнопку

усложним задачу, без нажатия :)
сумма в каждом столбце динамической таблицы

рони 12.07.2017 10:38

шахматное чередование строк
 
:lol:
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  body{
     font-weight: 600;
  }

  </style>

</head>

<body>

<script>
function fn(a, d) {
    var e = [".","#"],c = "", b = 0;
    d *= a;
    for (; b < d; b++) c += e[b % 2], (b + 1) % a || (c += "<br>",!(a % 2) && e.reverse());
    return c
};
for (var i=8; i<13; i++)  {
document.write("<h4>"+[i,i-7]+"</h4><br>"+fn(i,i-7)+"<br>")
}
  </script>
</body>
</html>

j0hnik 12.07.2017 15:03

Цитата:

Сообщение от рони (Сообщение 458275)
усложним задачу, без нажатия :)
сумма в каждом столбце динамической таблицы

не то, рони таблица из tr-ок, тут подумать надо, если добавить в таблицу строк или столбцов все должно работать!

рони 12.07.2017 16:12

Цитата:

Сообщение от j0hnik
тут подумать надо,

если убрать инпуты, то предложенный алгоритм никак не изменится.

j0hnik 12.07.2017 16:57

Цитата:

Сообщение от рони (Сообщение 458304)
если убрать инпуты, то предложенный алгоритм никак не изменится.

<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

  <script>
$(function() {
    $(document).on("input", ".mat_count input", function() {
        var count = $('[id^="count"]').val(0),
            len = count.length;
        $(".mat_count input").each(function(i, el) {
            i %= len;
            count[i].value -= -(+el.value || 0)
        })
    })
});
  </script>
</head>

<body>

<table>
   <tr>
<td class="mat_count">50</td>
<td class="mat_count">50</td>
<td class="mat_count">50</td>
</tr>
<tr>
<td class="mat_count">50</td>
<td class="mat_count">50</td>
<td class="mat_count">50</td>
 </tr>
... Строк может быть любое количество...

<tr>
<td>Сумма 1 столбца</td>
<td>Сумма 2 столбца</td>
<td>Сумма 3 столбца</td>
</tr>
</table>
</body>
</html>

:no:
Рони, без адишников!
так чтобы строк и столбцов можно было добавлять любое количество и не лезть при этом в скрипт

рони 12.07.2017 17:09

j0hnik,
:-? кликнуть по слову сумма
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

  <script>
$(function() {
    $(document).on("click", "tr:last", function() {
        var count = $('td',this).text(0),
            len = count.length;
        $("td.mat_count").each(function(i, el) {
            i %= len;
            count[i].textContent -= -(+el.textContent || 0)
        })
    })
});
  </script>
</head>

<body>

<table>
   <tr>
<td class="mat_count">50</td>
<td class="mat_count">50</td>
<td class="mat_count">50</td>
</tr>
<tr>
<td class="mat_count">50</td>
<td class="mat_count">50</td>
<td class="mat_count">50</td>
 </tr>
... Строк может быть любое количество...

<tr>
<td>Сумма 1 столбца</td>
<td>Сумма 2 столбца</td>
<td>Сумма 3 столбца</td>
</tr>
</table>
</body>
</html>

j0hnik 12.07.2017 17:23

рони,
:victory:

Dilettante_Pro 12.07.2017 17:29

шахматное чередование строк

Внесу свою лепту
var e = [".","#"], rows = 5, cols = 12, str = "";
for(var i = 0; i < rows; i++) {
   for(var j = 0; j < cols; j++) {
     str += e[(i+j)%2];
   };
   str += "\n";
};
alert(str);


Часовой пояс GMT +3, время: 13:58.