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

Массив: Определить координаты первого минимального элемента побочной диагонали квадратного массива.

21.06.2013, 17:14. Показов 2231. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите в чем ошибка в этой программе?
Задание:Определить координаты первого минимального элемента побочной диагонали квадратного массива.
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
55
56
57
58
59
60
61
62
63
var
  Form6: TForm6;
    massiv,massiv1: array of array of integer;
  k, n,i,j:integer;
 
implementation
 
{$R *.dfm}
 
procedure TForm6.Button1Click(Sender: TObject);
begin
 k:=strtoInt(InputBox('Размер массива', 'Введите число строк в массиве','0'));
 n:=strtoInt(InputBox('Размер массива', 'Введите число столбцов в массиве','0'));
  SetLength(massiv,n,k);
  SetLength(massiv1,n,k);
  //установка размера массива
 
end;
 
procedure TForm6.Button2Click(Sender: TObject);
 var  
  i,j:integer;
begin
 for i:=0 to n-1 do
 for j:=0 to k-1 do
   massiv[i,j]:=strtoint(InputBox('Элементы массива', 'Введите'+inttostr(i)+inttostr(j)+' элемент массива','0'));
//Ввод элементов массива
 
end;
 
procedure TForm6.Button3Click(Sender: TObject);
 var   s:string;
 min:integer;
 begin
 min:=1;
 for i:=1 to n-1 do
 begin
 if massiv[i,n-i+1]<massiv[min,n-min+1] then
 min:=i;
 end;
 begin
 for i:=1 to n do
 for j:=1 to n do
 if (i=min) and (j=n-min+1) then begin
 edit1.text:= inttostr(min);
 edit2.text:= inttostr(j);
 
 
  for i:=0 to n-1 do // Вывод элементов массива в виде матрицы
begin
s:='';
for j:=0 to k-1 do
begin
s:=s+inttostr(massiv[i,j])+' ';
end;
ListBox1.Items.Add(s);
end;
 
 end;
 
 end;
 
 end;
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.06.2013, 17:14
Ответы с готовыми решениями:

Определить координаты первого минимального элемента побочной диагонали массива.
Определить координаты первого минимального элемента побочной диагонали массива. Принять, что диагонали просматриваются сверху вниз.

Определить координаты последнего максимального элемента побочной диагонали квадратного массива
определить координаты последнего максимального элемента побочной диагонали квадратного массива.ПАСКАЛЬ. (В задачи принять,что...

Определить координаты последнего максимального элемента побочной диагонали массива
2. Определить координаты последнего максимального элемента побоч¬ной диагонали массива. Принять, что диагональ просматривается сверху вниз.

7
Я не экстрасенс
 Аватар для barbudo59
382 / 339 / 34
Регистрация: 22.01.2013
Сообщений: 1,126
21.06.2013, 17:41
1) Массив квадратный, k и massiv1 не нужны.
SetLength(massiv,n,n); и т.д.
2)
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
procedure TForm6.Button3Click(Sender: TObject);
var s:string;
 min,j:integer;
begin
 j:=1;
 min:=massiv[1,n-1];
 for i:=1 to n-1 do
  if massiv[i,n-1-i]<min then
   begin
    min:=massiv[i,n-1-i];
    j:=i;
   end;
 edit1.text:= inttostr(min);
 edit2.text:= inttostr(j);
.......
1
0 / 0 / 0
Регистрация: 08.06.2013
Сообщений: 8
22.06.2013, 15:14  [ТС]
теперь ответы разные но не правильные))

Добавлено через 12 минут
barbudo59 посмотрите пожалуйста эту задачку((запускается ответ не выдаёт, масивы не выводит..
Задача:Поменять местами второй столбец и столбец, в котором находится последний элемент, больший 100 . Принять, что элементы ,большие 100, в массиве есть и что массив просматривается слева направо и сверху вниз.
Код:
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
55
56
57
58
59
60
61
62
var
  Form6: TForm6;
  massiv,massiv1,massiv2: array of array of integer;
  k, n:integer;
 
implementation
 
{$R *.dfm}
 
procedure TForm6.Button1Click(Sender: TObject);
begin
 k:=strtoInt(InputBox('Размер массива', 'Введите число строк в массиве','0'));
 n:=strtoInt(InputBox('Размер массива', 'Введите число столбцов в массиве','0'));
  SetLength(massiv,n,k);
  SetLength(massiv1,n,k);
    SetLength(massiv2,n,k);
  //установка размера массива
 
end;
 
procedure TForm6.Button2Click(Sender: TObject);
  var
  i,j:integer;
begin
 for i:=0 to n-1 do
 for j:=0 to k-1 do
   massiv[i,j]:=strtoint(InputBox('Элементы массива', 'Введите'+inttostr(i)+inttostr(j)+' элемент массива','0'));
//Ввод элементов массива
 
end;
 
procedure TForm6.Button3Click(Sender: TObject);
var     s:string;
x,y,t,i2,j2,i,j:integer;
 begin
for i:=0 to n-1 do
for j:=0 to k-1 do
if massiv[i,j]>100 then begin i2:=x ; j2:=y;
end;
 begin
for i:=0 to n-1 do begin
for j:=0 to k-1 do
if j=y then  massiv2[i,j]:=massiv[i,2] else massiv2[i,j]:=massiv[i,j];
end;
for x:=0 to n-1 do  begin
for y:=0 to k-1 do
 t:=massiv[x,y];
 massiv[x,y]:=massiv[i,j];
 massiv[i,j]:=t;
edit1.text:=inttostr(t);
 for i:=0 to n-1 do // Вывод элементов массива в виде матрицы
 begin
 s:='';
for j:=0 to k-1 do
begin
s:=s+inttostr(massiv[i,j])+' ';
 
end;
end;
end;
end;
end;
0
Я не экстрасенс
 Аватар для barbudo59
382 / 339 / 34
Регистрация: 22.01.2013
Сообщений: 1,126
23.06.2013, 13:28
Цитата Сообщение от Flora123 Посмотреть сообщение
if massiv[i,j]>100 then begin i2:=x ; j2:=y;
что такое x и y? чему они равны?
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
procedure TForm6.Button3Click(Sender: TObject);
var     s:string;
x,y,t,i2,j2,i,j:integer;
 begin
  for i:=0 to n-1 do
   for j:=0 to k-1 do
    if massiv[i,j]>100 then 
      j2:=j;                     //запомнится для последнего элемента >100
  for i:=0 to k-1 do 
   begin
    t:= massiv[i,2];
    massiv[i,2]:=massiv[i,j2];
    massiv[i,j2]:=t;
   end;
.............. // Вывод элементов массива в виде матрицы
end;
1
0 / 0 / 0
Регистрация: 08.06.2013
Сообщений: 8
23.06.2013, 20:04  [ТС]
x и y - это переменные, которым присваиваются значения >100, x - cтрока,y - столбец

Добавлено через 47 минут
barbudo59
Можно ещё вас спросить про эту задачу?.. Тут у меня постоянно выводит не магический квадрат..
Задача: Дан двумерный массив размером n x n, заполненный целыми числами. Выяснить, является ли массив магическим квадратом. В магическом квадрате суммы элементов по всем строкам, столбцам и двум диагоналям равны. Значение, которому должны быть равны суммы, определить самостоятельно.

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
var a:array of array integer;//матрица, которую проверяем на  "магичность"
 magic, //  магический квадрат или нет (=0 - нет, =1 - да)
 i,j // счётчик циклов
 sum, sum_base:integer; // сумма элементов строки матрицы
begin
 //Проверяем заполненную матрицу на «магичность»
 magic:=1; // предполагаем, что матрица магический  квадрат
 
 sum_base:=0; // пока сумма элементов строки матрицы = 0
 //подсчитываем сумму
 for i:=1 to n do
  sum_base:=sum_base+a[1,i];
 
 //проверяем все строки, кроме первой (сумму ее элементов мы приняли в качестве базовой).
 for i:=2 to n do
  begin
   sum:=0;
   for j:=1 to n do
    sum:=sum+a[i,j];
   if sum<>sum_base then magic:=0;
  end;
 
//проверяем все столбцы
  for j:=1 to n do
  begin
   sum:=0;
   for i:=1 to n do
    sum:=sum+a[i,j];
   if sum<>sum_base then magic:=0;
  end;
 
//проверяем диагонали
  sum:=0;
  for i:=1 to n do
   sum:=sum+a[i,i];
  if sum<>sum_base then magic:=0;
 
  sum:=0;
  for i:=1 to n do
   sum:=sum+a[i,10-i+1];
  if sum<>sum_base then magic:=0;
 
// ВЫВОДИМ РЕЗУЛЬТАТ
 if (magic=1) then
   edit1.text:='Матрица является Магическим квадратом'
 else
edit1.text:='Матрица не является Магическим квадратом';
end;

Заранее спасибо!
0
Я не экстрасенс
 Аватар для barbudo59
382 / 339 / 34
Регистрация: 22.01.2013
Сообщений: 1,126
23.06.2013, 22:51
Во-первых, попробуйте заполнить магический квадрат вручную
https://www.cyberforum.ru/sear... id=6262452
(сумма должна быть равна 15)
Во-вторых, проверку нецелесообразно проводить полностью, достаточно до 1-го несовпадения.
0
0 / 0 / 0
Регистрация: 08.06.2013
Сообщений: 8
24.06.2013, 14:05  [ТС]
Я маг.квадрат сама заполняю...
ссылка неоткрывается..
0
Я не экстрасенс
 Аватар для barbudo59
382 / 339 / 34
Регистрация: 22.01.2013
Сообщений: 1,126
24.06.2013, 14:37

Не по теме:

В ссылке были результаты поиска по форуму. Можете повторить самостоятельно
Поиск - Расширенный поиск - (Ввести "Магический квадрат") - Пуск



Добавлено через 15 минут
Теперь по программе.
Первое. В программе пропущено задание размера массива а.
Второе. Нет проверки условия "магичности", т.е. если только по второй диагонали получим совпадение сумм, результат выдаст 'Матрица является Магическим квадратом'. Поэтому повставлять строчки:
Delphi
1
2
3
   for i:=1 to n do
    if magic:=1 then
    sum:=sum+a[...
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.06.2013, 14:37
Помогаю со студенческими работами здесь

Найти значение минимального элемента массива/минимального значения ниже побочной диагонали
Составьте программу которая запрашивает размеры двумерного массива, значение его элементов и выводит на очищенный экран получившийся...

Дан двухмерный массив. Определить: координаты минимального элемента массива.
Дан двухмерный массив. Определить: координаты минимального элемента массива. Если элементов с минимальным значением несколько, то должны...

Определить максимальный элемент побочной диагонали квадратного массива
Вот условие задачи: 1.Определить максимальный элемент побочной диагонали квадратного массива. 2.В квадратном массиве выделим четыре...

Составить программу, которая меняет местами 2 любых элемента побочной диагонали квадратного массива.
Составить программу, которая меняет местами 2 любых элемента побочной диагонали квадратного массива.

Определить координаты последнего максимального элемента побочной диагонали матрицы
Ребят, спасайте, навалили 110 задач по практике в Паскале делать, с двумерными завал( 1)Определить координаты последнего максимального...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru