Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
13 / 4 / 5
Регистрация: 12.12.2010
Сообщений: 19

Максимум и минимум матрицы поменять местами

12.10.2011, 23:35. Показов 2292. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
не могу понять почему неправильно меняет или вообще не меняет
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
procedure TForm1.Button1Click(Sender: TObject);
var i,n,k:integer; s:real;
     Y:array of real;
begin
if edit1.Text ='' then
begin
showmessage('нет данных.Введите');
exit;
end;
n:=stringgrid1.ColCount;
 
setlength(y,n);
s:=0;k:=0;
 
for i:=0 to n-1 do
begin
y[i]:=strtofloat(stringgrid1.Cells[i,0]);
if (y[i]<min) then
begin
min:=y[i];imin:=i;
end;
if y[i]>max then
begin
max:=y[i];imax:=i;
end;
   pmax:=max;  pmin:=min;
   y[imax]:=pmin;
   y[imin]:=pmax;
              end;
for i:=0 to n do
   StringGrid2.Cells[i,0]:=floatToStr(y[i]);
  end;
Вложения
Тип файла: zip Новая папка.zip (242.6 Кб, 16 просмотров)
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.10.2011, 23:35
Ответы с готовыми решениями:

Матрицы: поменять местами строки, содержащие минимум и максимум
В данной вещественной матрице размером nxm поменяйте местами строку, содержащую элемент с наибольшим значением, со строкой, содержащей...

Поменять местами максимум ниже главной диагонали с минимумом ниже побочной диагонали матрицы
В матрице, поменять максимальный элемент среди элементов лежащий ниже главной диагонали, местами с минимальным элементом лежащего ниже...

Поменять местами строки матрицы, в которых расположены максимум и минимум
Дан двумерный массив. Поменять местами строки, в которых расположены максимум и минимум.Если максимум и минимум расположены в одной строке...

3
 Аватар для Mawrat
13116 / 5897 / 1708
Регистрация: 19.09.2009
Сообщений: 8,809
12.10.2011, 23:53
gerardino, перед циклом поиска минимума и максимума, надо инициализировать переменные min, imin, max, imax:
Delphi
1
2
3
4
5
6
7
8
9
10
...
setlength(y,n);
s:=0;k:=0;
 
imin := 0;
min := y[imin];
imax := 0;
max := y[imax];
for i:=0 + 1 to n-1 do
...
0
13 / 4 / 5
Регистрация: 12.12.2010
Сообщений: 19
13.10.2011, 00:41  [ТС]
все равно неправильно.ошибка где то в поиске минимума и максимума. изменил:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
imin := 0;
min := y[imin];
imax := 0;
max := y[imax];
for i:=0 + 1 to n-1 do
begin
y[i]:=strtofloat(stringgrid1.Cells[i,0]);
if (y[i]<min) then
begin
min:=y[i];imin:=i;
end;
if y[i]>max then
begin
max:=y[i];imax:=i;
end;       end;                     \\end перед присвоением поставил
 
   pmax:=max;  pmin:=min;
   y[imax]:=pmin;
   y[imin]:=pmax;
 
for i:=0 to n do...
иногда правильно выводит
0
 Аватар для Mawrat
13116 / 5897 / 1708
Регистрация: 19.09.2009
Сообщений: 8,809
13.10.2011, 00:51
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Да, там требуются дополнительные исправления. Вот так надо написать:
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  stringgrid1.Show; stringgrid2.Show;
end;
 
procedure TForm1.Edit1Change(Sender: TObject);
begin
  stringgrid1.ColCount:=strtoint(edit1.Text);
  stringgrid2.ColCount:=strtoint(edit1.Text);
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var
  imax, imin, i, n : integer;
  tmp, max, min : Extended;
  Y : array of Extended;
begin
  n:=stringgrid1.ColCount;
  setlength(y,n);
 
  for i:=0 to n-1 do
  begin
    y[i]:=strtofloat(stringgrid1.Cells[i,0]);
    if i = 0 then begin
      imin := i;
      min := y[i];
      imax := i;
      max := y[i];
    end;
    if (y[i]<min) then
    begin
      min:=y[i];imin:=i;
    end;
    if y[i]>max then
    begin
      max:=y[i];imax:=i;
    end;
  end;
  Tmp := y[imax];
  y[imax] := y[imin];
  y[imin]:=Tmp;
 
  for i:=0 to n - 1 do
    StringGrid2.Cells[i,0]:=floatToStr(y[i]);
end;
 
end.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.10.2011, 00:51
Помогаю со студенческими работами здесь

Если максимум и минимум матрицы чётные, то разделить их на два, иначе поменять местами первый и предпоследний столбец
Ввести целочисленный двумерный массив A(NxM), вывести его. Если максимум и минимум массива одновременно являются чётными, то разделить их...

Минимум и максимум поменять местами
Привет всем. Есть программа, которая по сути работает, но не знаю почему зацикливается и выдает странный результат, в ассемблере я все еще...

Поменять местами максимум и минимум
Не самая сложная задачка, но блин не в силах. путаюсь =)) Ввести двухмерный массив 3х3. Поменять местами максимум и минимум. Хелп.

Поменять местами максимум и минимум в матрице
Доброго вечера, подскажите пожалуйста, столкнулся вот с такой проблемой. Есть задача: Дана квадратная матрица,в которой надо проверить,...

Найти максимум и минимум в столбце, и поменять их местами
добрый день) Помогите пожалуйста закончить программу. Суть задачи создать массив из 10 элементов вывести его , найти мах. мин. поменять...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru