Сумма минимальных элементов

Tasia17
Дата: 05.10.2017 22:07:55
Люди, можете пожалуйста проверить код???
Надо найти сумму минимальных элементов прямоугольного массива 6*10(построчно), при условии, что в каждой строке несколько минимальных элементов.

program qwert;
const m=6;
      n=10;
var T: array [1..m,1..n] of integer;
var min, sum, i, j, k: integer;
begin

sum:=0;
k:=0;
for i:=1 to m do
for j:=1 to n do
begin
min:=T[i,1];
if T[i,j]<=min then
min:=t[i,j];
end;
if T[i,j]=min then
k:=k+1;
sum:=sum+min*k;
writeln(sum)
end.

Модератор: Для оформления кода надо использовать тэг [ SRC ]
д0кХ
Дата: 05.10.2017 23:11:48
Tasia17
Люди, можете пожалуйста проверить код???
Надо найти сумму минимальных элементов прямоугольного массива 6*10(построчно), при условии, что в каждой строке несколько минимальных элементов.

program qwert;
const m=6;
n=10;
var T: array [1..m,1..n] of integer;
var min, sum, i, j, k: integer;
begin

sum:=0;
k:=0;
for i:=1 to m do
for j:=1 to n do
begin
min:=T[i,1];
if T[i,j]<=min then
min:=t[i,j];
end;
if T[i,j]=min then
k:=k+1;
sum:=sum+min*k;
writeln(sum)
end.


Мне кажется что либо вы не правильно поняли условие,
либо у постановщика задачи поехала крыша.

Если крыша не поехала , то вам сюда
д0кХ
Дата: 05.10.2017 23:21:10
из строки

1 2 3 4 5 6 7 8 999

В несколько минимальных попадают почти все.
exp98
Дата: 06.10.2017 10:09:19
Нет, неправильно. Хотя бы потому, что такую фигню
if T[i,j]=min then
k:=k+1;
sum:=sum+min*k;
делаете во внешнем цикле.
Как вариант пройтись по каждой строке в 2 прохода. Сначала найти Мин, потом сосчитать сколько же его в строке.
Akina
Дата: 06.10.2017 10:51:13
exp98
Как вариант пройтись по каждой строке в 2 прохода. Сначала найти Мин, потом сосчитать сколько же его в строке.
Зачем? это можно делать в одном проходе:
sum:=0;
for i
  begin
    min:=maxNumber;
    for j
      begin
        if T[i,j]=min then
          cnt:=cnt+1;
        if T[i,j]<min then
          begin
            min:=T[i,j];
            cnt:=1;
          end;
      end;
    sum:=sum+min*cnt;
  end;
m7m
Дата: 06.10.2017 10:52:38
Tasia17
Люди, можете пожалуйста проверить код???
Надо найти сумму минимальных элементов прямоугольного массива 6*10(построчно), при условии, что в каждой строке несколько минимальных элементов.


+ Ну как-то так если ничего не попутал
Массив Т
..................
..................
..................
Цикл по строкам (I=1,2,....)
  М=T(I,1)
  S=M;
  Цикл по элементам строки начиная со второго  (J=2,3,....)
     Если T(I,J) < M To
         М=T(I,J)
         S=M
     Иначе если Если T(I,J) = M To
         S=S+M
   Конец Цикла   (J)     
   
   Здесь S = Сумме минимальных элементов строки
   ..................
   ..................
Конец Цикла   (I)     
..................
..................
..................

а код уже сама
exp98
Дата: 06.10.2017 12:22:08
Akina
min:=maxNumber;
Зачем этим пуГать начинающих? привязыватся к разрядности integer, к реализации компилятора ?.. когда выше здравое предложение -- цикл со второго элем- та, ежели такой имеется.

ТСу: и счётчик аккуратно инициализировать , либо как выше же (Залукокоаже) -- суммировать.