0 / 0 / 0
Регистрация: 13.04.2011
Сообщений: 73
1

В матрице целых чисел размером 5x5 определить сумму минимальных элементов столбцов.

17.10.2011, 00:36. Показов 3170. Ответов 15
Метки нет (Все метки)

Задание:В матрице целых чисел размером 5x5 определить сумму минимальных элементов столбцов.
Ввод и вывод матрицы надо организовать через стринггрид
Не могу разобраться в чем ошибка подскажите пожалуйста?
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
procedure TForm1.Button1Click(Sender: TObject);
const n=5;
var arr:array[1..n,1..n] of integer;
    i,j,mn,s:integer;
begin
for i:=1 to n do
  for j:=1 to n do
  arr[i,j]:=StrToInt(StringGrid1.Cells[j-1, i-1]);
   begin
s:=0;
for j:=1 to n do
 begin
  mn:=arr[1,j];
  for i:=2 to n do
  if arr[i,j]<mn then mn:=arr[i,j];
  s:=s+mn;
 end;
 
  for i := 1 to n do
  for j := 1 to n do begin
    StringGrid2.Cells[j - 1, i - 1] := IntToStr(Arr[i, j]);
    end;
     end;
end.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.10.2011, 00:36
Ответы с готовыми решениями:

В матрице определить сумму минимальных элементов столбцов
Разработать программу для решения задачи. Протестировать разработанную программу методом...

Определить наибольший среди отрицательных элементов четных столбцов матрицы целых чисел размером 4x6.
Помогите написать программу: Определить наибольший среди отрицательных элементов четных столбцов...

Дана матрица целых чисел размером 4x4. Определите произведение минимальных элементов каждой строки матрицы. Результат вывести на экран монитор
Дана матрица целых чисел размером 4x4. Определите произведение минимальных элементов каждой...

В матрице действительных чисел размером 7x3 определить номер строки с наименьшей суммой элементов.
Условие: В матрице действительных чисел размером 7x3 определить номер строки с наименьшей суммой...

15
Заблокирован
17.10.2011, 10:02 2
Задание непонятно. Какую матрицу выводить? В результате выполнения получим число, а не матрицу...
0
0 / 0 / 0
Регистрация: 13.04.2011
Сообщений: 73
17.10.2011, 20:59  [ТС] 3
Ну или это число вывести в лейбел.
Я помоему как то не правильно задал ввод матрицы или что?
0
Заблокирован
17.10.2011, 22:20 4
Delphi
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
26
27
28
29
30
31
32
33
procedure TForm1.Button1Click(Sender: TObject);
const 
  n = 5;
var 
  arr: array[1..n, 1..n] of integer;
  i,j, vMin, vSummStolb, vSumm: integer;
begin
   //Создание массива из стринггрида
  for i:=1 to n do
    for j:=1 to n do
      arr[i,j] := StrToInt(StringGrid1.Cells[j-1, i-1]);
 
  vSummStolb := 0;  //сумма минимальных элементов в столбце - элементов может быть несколько 
  vSumm := 0; //Сумма всех минимальных элементов
  for j:=1 to n do //Цикл по столбцам
  begin
    vMin := arr[1, j];  //Примем за минимум 1 элемент столбца
    vSummStolb := vMin;
    for i := 2 to n do  //цикл по строкам
    begin
      if arr[i,j] < vMin then 
      begin
        vMin := arr[i, j];
        vSummStolb := vMin;
      end
      else
        if arr[i, j] = vMin then
          vSummStolb := vSummStolb + arr[i, j];
    end;
    vSumm := vSumm + vSummStolb;
  end;
  ShowMessage('Сумма минимальных элементов массива: ' + IntToStr(vSumm));
end.
1
0 / 0 / 0
Регистрация: 13.04.2011
Сообщений: 73
17.10.2011, 23:51  [ТС] 5
Благодарю

Добавлено через 52 минуты
Немного неправильно была написана программа
Delphi
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
procedure TForm1.Button1Click(Sender: TObject);
const
  n = 5;
var
  arr: array[1..n, 1..n] of integer;
  i,j, vMin, vSumm: integer;
begin
   //Создание массива из стринггрида
  for i:=1 to n do
    for j:=1 to n do
      arr[i,j] := StrToInt(StringGrid1.Cells[j-1, i-1]);
 begin
  Vsumm:=0;  //сумма минимальных элементов в столбце - элементов может быть несколько
  //Сумма всех минимальных элементов
  for j:=1 to n do //Цикл по столбцам
  begin
    vMin := arr[1, j];  //Примем за минимум 1 элемент столбца
    for i := 2 to n do  //цикл по строкам
      if arr[i,j] < vMin then  vMin:=arr[i,j];
      Vsumm:=Vsumm+vMin;
      end;
  ShowMessage('Сумма минимальных элементов массива: ' + IntToStr(vSumm));
  end;
  end;
  end.
0
Заблокирован
18.10.2011, 00:44 6
Хм... Ну Вам виднее Только ответьте на вопрос: зачем в 12 строке Вашего листинга begin стоит? В чем тайный смысл? А то может я за 20 лет так и не понял, как надо программить?

Добавлено через 3 минуты
И еще. Мой код считает сумму ВСЕХ минимальных элементов ВСЕХ столбцов... Ваш код считает для каждого столбца отдельно... И то, с ошибкой, значение суммы не обнуляется для следующего столбца...
Но Вам наверное виднее... Хотя могли и +1 нажать...
1
0 / 0 / 0
Регистрация: 13.04.2011
Сообщений: 73
18.10.2011, 00:51  [ТС] 7
Ну просто мне надо что бы из каждого столбца взять минимальный элемент и суммировать с каждым последующим так.
Помогите пожалуйста с таким заданием....
В квадратной матрице заменить последние элементы четных стобцов значениями сумм положительных элементов нечетных строк
немогу понять как выполнять.
0
Заблокирован
18.10.2011, 00:53 8
И еще... Обратите внимание на строки 19-20 Вашего кода... Что суммируется? Хех... Прогоните под отладчиком и поймете, что код в корне не верен!
0
0 / 0 / 0
Регистрация: 13.04.2011
Сообщений: 73
18.10.2011, 00:55  [ТС] 9
ну так когда я программу проверяю то она правильно работает
0
Заблокирован
18.10.2011, 00:56 10
По этому заданию. Ответьте на вопрос: что делать, если в столбце ДВА минимальных элемента?
А другое задание будем разбирать в другой теме

Добавлено через 1 минуту
Цитата Сообщение от raavaa Посмотреть сообщение
ну так когда я программу проверяю то она правильно работает
Попробуйте в столбце сделать два одинаковых минимальных элемента
0
0 / 0 / 0
Регистрация: 13.04.2011
Сообщений: 73
18.10.2011, 01:02  [ТС] 11
Оно его попросту не считает...
0
Заблокирован
18.10.2011, 01:06 12
Цитата Сообщение от raavaa Посмотреть сообщение
Оно его попросту не считает...
Ну судя по условию задачи это неправильно, да?
0
0 / 0 / 0
Регистрация: 13.04.2011
Сообщений: 73
18.10.2011, 01:11  [ТС] 13
В общем то в задании насчет этого ж ничего не сказано так что я думаю это не так важно...
Если возможно помогите со следующим заданием,спасибо за помощь в этом задании.
0
0 / 0 / 0
Регистрация: 12.02.2016
Сообщений: 49
23.05.2016, 19:14 14
raavaa, Здравствуйте , можете написать это на С++. Сам пробовал переводит но что-то не то выходит.
procedure TForm1.Button1Click(Sender: TObject);
const
n = 5;
var
arr: array[1..n, 1..n] of integer;
i,j, vMin, vSumm: integer;
begin
//Создание массива из стринггрида
for i:=1 to n do
for j:=1 to n do
arr[i,j] := StrToInt(StringGrid1.Cells[j-1, i-1]);
begin
Vsumm:=0; //сумма минимальных элементов в столбце - элементов может быть несколько
//Сумма всех минимальных элементов
for j:=1 to n do //Цикл по столбцам
begin
vMin := arr[1, j]; //Примем за минимум 1 элемент столбца
for i := 2 to n do //цикл по строкам
if arr[i,j] < vMin then vMin:=arr[i,j];
Vsumm:=Vsumm+vMin;
end;
ShowMessage('Сумма минимальных элементов массива: ' + IntToStr(vSumm));
end;
end;
end.
0
30 / 31 / 20
Регистрация: 30.12.2015
Сообщений: 340
23.05.2016, 19:25 15
Aeorien, пожалуйста, заключите код в теги. читать невозможно
0
0 / 0 / 0
Регистрация: 12.02.2016
Сообщений: 49
23.05.2016, 19:41 16
Qwetyui,
Delphi
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
procedure TForm1.Button1Click(Sender: TObject);
const
  n = 5;
var
  arr: array[1..n, 1..n] of integer;
  i,j, vMin, vSumm: integer;
begin
   //Создание массива из стринггрида
  for i:=1 to n do
    for j:=1 to n do
      arr[i,j] := StrToInt(StringGrid1.Cells[j-1, i-1]);
 begin
  Vsumm:=0;  //сумма минимальных элементов в столбце - элементов может быть несколько
  //Сумма всех минимальных элементов
  for j:=1 to n do //Цикл по столбцам
  begin
    vMin := arr[1, j];  //Примем за минимум 1 элемент столбца
    for i := 2 to n do  //цикл по строкам
      if arr[i,j] < vMin then  vMin:=arr[i,j];
      Vsumm:=Vsumm+vMin;
      end;
  ShowMessage('Сумма минимальных элементов массива: ' + IntToStr(vSumm));
  end;
  end;
  end.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.05.2016, 19:41
Помогаю со студенческими работами здесь

В матрице действительных чисел размером 7х3 определить номер строки с наименьшей суммой элементов
В матрице действительных чисел размером 7х3 определить номер строки с наименьшей суммой элементов....

Дана матрица Размером m*n . Найти сумму минимальных элементов каждого столбца матрицы
помогите пж Добавлено через 1 минуту delphi

В матрице размером N строк и M столбцов упорядочить строки по возрастанию их первых элементов
Дана матрица размером N строк и M столбцов. Упорядочить ее строки по возрастанию их первых...

Дан двумерный массив целых чисел. Определить сумму элементов массива, больших 30
Дан двумерный массив целых чисел. Определить сумму элементов массива больших 30.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru