Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме 15-35 тыс рублей в месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.05.2017, 17:37   #1
Ruslan Rutkovsky
Новичок
Джуниор
 
Регистрация: 08.05.2017
Сообщений: 2
По умолчанию Помогите пожалуйста решить две задачки - поиск минимального значения в векторе и поиск/перестановка положительных элементов в матрице

Нужно решить две задачки:
1. Найти минимальные значения элементов двух векторов X и Y произвольной размерности. Поменять их местами.
2. Расположить первые 4 положительные элемента матрицы А размерности mXn по углам этой матрицы.

Заранее благодарен!
Ruslan Rutkovsky вне форума Ответить с цитированием
Старый 08.05.2017, 17:53   #2
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,571
По умолчанию

Что у вас не получается? Показывайте, как пытались решить задачи
Вадим Мошев вне форума Ответить с цитированием
Старый 11.05.2017, 21:42   #3
Ruslan Rutkovsky
Новичок
Джуниор
 
Регистрация: 08.05.2017
Сообщений: 2
По умолчанию

Первая задачка поддалась:

Код:
uses
  SysUtils;
const n=5;
var
A:array [1..n] of integer;
B:array [1..n] of integer;
Amin,Bmin:integer;
i,Ax,Bx: integer;
begin
randomize;
writeln('Massiv A:');
     for i:=1 to n do
      Begin
      A[i]:=random(50);
      writeln('A[',i,'] = ',A[i]);
      End;
writeln('Massiv B:');
     for i:=1 to n do
      Begin
      B[i]:=random(50);
      writeln('B[',i,'] = ',B[i]);
      End;
Amin:=A[1];
Bmin:=B[1];
 For i:=2 to n Do
  Begin
  If  Amin>A[i] Then
   Begin
   Amin:=A[i]; Ax:=i;
   End;
  If  Bmin>B[i] Then
  Begin
   Bmin:=B[i]; Bx:=i;
   End;
End;
  write('MIN A[',Ax,'] = ',A[Ax],'; ');
  writeln('MIN B[',Bx,'] = ',B[Bx]);
  A[Ax]:=Bmin;
  B[Bx]:=Amin;
  
  writeln('New Massiv A:');
for i:=1 to n do
 writeln('A[',i,'] = ',A[i]);
 writeln('New Massiv B:');
for i:=1 to n do
 writeln('B[',i,'] = ',B[i]);
 readln;
End.

Последний раз редактировалось Вадим Мошев; 11.05.2017 в 23:21.
Ruslan Rutkovsky вне форума Ответить с цитированием
Старый 12.05.2017, 08:50   #4
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,211
По умолчанию

Ну дык какая же это произвольная размерность, если n=5 ? Динамический массив нужен.
digitalis на форуме Ответить с цитированием
Старый 12.05.2017, 09:38   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,245
По умолчанию

Цитата:
Сообщение от digitalis Посмотреть сообщение
Динамический массив нужен.
точно. а ещё не реализована вторая часть задания:
Цитата:
Сообщение от Ruslan Rutkovsky Посмотреть сообщение
Поменять их местами.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 12.05.2017, 11:03   #6
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Цитата:
Сообщение от Ruslan Rutkovsky Посмотреть сообщение
Расположить первые 4 положительные элемента матрицы А размерности mXn по углам этой матрицы.
Код:
Program pr;
uses crt;
const n = 4; nn= 5;
var a:array [1..n,1..nn] of integer;
    mins:array[1..4]of integer;
    i,j:byte;
begin
randomize;
clrscr;
  mins[1]:=-1;mins[2]:=-1;mins[3]:=-1;mins[4]:=-1;
  for i:=1 to n do
   begin
    for j:=1 to nn do
     begin
       a[i,j]:=20;a[i,j]:=a[i,j]-random(50);
       write(a[i,j]:4);
       if a[i,j]>0 then
        begin
          if mins[1]=-1 then mins[1]:=a[i,j] else
          if mins[2]=-1 then mins[2]:=a[i,j] else
          if mins[3]=-1 then mins[3]:=a[i,j] else
          if mins[4]=-1 then mins[4]:=a[i,j];
        end;
     end;
    writeln;
   end;
  writeln;
  for i:=1 to 4 do write(mins[i]:4);
  writeln;
  a[1,1]:=mins[1];a[1,nn]:=mins[2];a[n,1]:=mins[3];a[n,nn]:=mins[4];
  writeln;
  for i:=1 to n do
  begin
   for j:=1 to nn do
    write(a[i,j]:4);
   writeln;
  end;
readln;
END.
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 12.05.2017, 23:43   #7
Plague
Забанен
Форумчанин Подтвердите свой е-майл
 
Аватар для Plague
 
Регистрация: 01.11.2006
Сообщений: 420
По умолчанию

2.
Код:
const n=4;
      m=5;
var a:array [1..n,1..m] of integer;
    b:array [0..3] of integer;
    i,j,t:integer;
begin
for i:=1 to n do
  begin
    for j:=1 to m do
      begin
        a[i,j]:=random(100)-50;
        write(a[i,j]:4);
        if (a[i,j]>0)and(t<4) then 
          begin
            b[t]:=a[i,j];
            t:=t+1;
          end;
      end;
    writeln;
  end;
writeln;

  if t=4 then
    for i:=0 to 3 do
      a[1+(n-1)*(i div 2) , 1+(m-1)*(i mod 2)] :=b[i]
  else writeln('Нет 4х положительных');

for i:=1 to n do
  begin
    for j:=1 to m do write(a[i,j]:4);
    writeln;
  end;
end.
Если ничто другое не помогает, прочтите, наконец, инструкцию! Аксиома Кана
Plague вне форума Ответить с цитированием
Ответ
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск минимального значения (C++ и Ассемблер) sham63 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 23 29.03.2017 01:05
Вычислить в матрице суммы положительных элементов и поместить значения на главную диагональ (Pascal) Caimans Помощь студентам 5 16.12.2014 00:11
Поиск минимального значения и замена Artem_85 Microsoft Office Excel 15 09.01.2013 16:54
Поиск одномерного вектора из 40 элементов в векторе 424 элемента kds006 Помощь студентам 2 01.06.2011 17:18
Поиск минимального элемента в матрице F1eCSo Помощь студентам 0 04.02.2010 17:20