Невнятно как-то сформулировано - то индексы найти, то массива нету... Пишу, как понял.
ОТДЕЛ Задание+; ИСПОЛЬЗУЕТ Вывод ИЗ "...\Отделы\Обмен\";
ПЕР массив: РЯД 15 ИЗ ВЕЩ; сч, найдено: ЦЕЛ; найденное, индексы: ДОСТУП К РЯД ИЗ ВЕЩ;
УКАЗ найдено := 0; СОЗДАТЬ(индексы, РАЗМЕР(массив) - 1); ОТ сч := 1 ДО РАЗМЕР(массив) - 1 ВЫП ЕСЛИ массив[сч] = массив[0] ТО найденное[найдено] := сч; УВЕЛИЧИТЬ(найдено) КОН КОН; ЕСЛИ найдено = 0 ТО Вывод.Цепь("Не найдено.") ИНАЧЕ СОЗДАТЬ(индексы, найдено); ОТ сч := 0 ДО найдено - 1 ВЫП индексы[сч] := найденное[сч] КОН; найденное := ПУСТО КОН
Const m=5; var a:array[1..m,1..m] of integer; i,j:integer; begin Randomize; writeln('Исходный массив:'); for i:=1 to m do begin for j:=1 to m do begin a[i,j]:=random(100); write(a[i,j]:4); end; writeln; end; for i:=2 to m do for j:=1 to i-1 do a[i,j]:=0; writeln('Полученный массив:'); for i:=1 to m do begin for j:=1 to m do write(a[i,j]:4); writeln; end; end.
ОТДЕЛ Задание+;
ИСПОЛЬЗУЕТ Вывод ИЗ "...\Отделы\Обмен\";
ПЕР
массив: РЯД 15 ИЗ ВЕЩ;
сч, найдено: ЦЕЛ;
найденное, индексы: ДОСТУП К РЯД ИЗ ВЕЩ;
УКАЗ
найдено := 0;
СОЗДАТЬ(индексы, РАЗМЕР(массив) - 1);
ОТ сч := 1 ДО РАЗМЕР(массив) - 1 ВЫП
ЕСЛИ массив[сч] = массив[0] ТО
найденное[найдено] := сч;
УВЕЛИЧИТЬ(найдено)
КОН
КОН;
ЕСЛИ найдено = 0 ТО Вывод.Цепь("Не найдено.")
ИНАЧЕ
СОЗДАТЬ(индексы, найдено);
ОТ сч := 0 ДО найдено - 1 ВЫП
индексы[сч] := найденное[сч]
КОН;
найденное := ПУСТО
КОН
КОН Задание.
var
a:array[1..m,1..m] of integer;
i,j:integer;
begin
Randomize;
writeln('Исходный массив:');
for i:=1 to m do
begin
for j:=1 to m do
begin
a[i,j]:=random(100);
write(a[i,j]:4);
end;
writeln;
end;
for i:=2 to m do
for j:=1 to i-1 do
a[i,j]:=0;
writeln('Полученный массив:');
for i:=1 to m do
begin
for j:=1 to m do write(a[i,j]:4);
writeln;
end;
end.
Пример:
Исходный массив:
12 76 20 65 71
27 52 36 45 52
9 69 8 69 46
89 69 52 76 31
71 25 7 62 89
Полученный массив:
12 76 20 65 71
0 52 36 45 52
0 0 8 69 46
0 0 0 76 31
0 0 0 0 89