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

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

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.12.2011, 16:31   #1
lexa_7up
Пользователь
 
Регистрация: 15.12.2011
Сообщений: 13
По умолчанию подкорректировать программу

поменять местами второй и минимальный элемент массива


program ex1;
const n=10;
type myarray=array [1..n] of integer;
var a:myarray;

procedure init1(var m:myarray);
var i:integer;
BEGIN

for i:=1 to n do
m[i]:=random(100)-50;

end;
procedure print(m:myarray);
var i:integer;
begin
for i:=1 to n do
write(m[i]:3);
writeln;
end;
Function Minimym(m: myarray): Integer;
Var i, min, mini : Integer;
Begin
min:=-32768;
For i:=1 To n Do
if (m[i]>min) then
Begin
min:=m[i];
mini:=i;
End;
minimym:=mini;
end;
procedure swap(var l1,l2:integer; x:myarray);
var t:integer;
begin
t:=x[l1];
x[l1]:=x[l2];
x[l2]:=t;
end;
begin
init1(a);
print(a);

swap(a,x);
writeln('otvet');
readln;
end.
lexa_7up вне форума Ответить с цитированием
Старый 23.12.2011, 17:30   #2
Артём-Программиzd
Новичок
Джуниор
 
Регистрация: 23.12.2011
Сообщений: 9
По умолчанию

не компилируется или неправильно работает? в чём проблема?
Артём-Программиzd вне форума Ответить с цитированием
Старый 23.12.2011, 18:13   #3
lexa_7up
Пользователь
 
Регистрация: 15.12.2011
Сообщений: 13
По умолчанию

не компилируется. ошибку выдает. в основной программе swap подчеркивает.
lexa_7up вне форума Ответить с цитированием
Старый 23.12.2011, 18:39   #4
Артём-Программиzd
Новичок
Джуниор
 
Регистрация: 23.12.2011
Сообщений: 9
По умолчанию

1) x не объявлена
2) у процедуры swap три параметра

Последний раз редактировалось Артём-Программиzd; 23.12.2011 в 18:49.
Артём-Программиzd вне форума Ответить с цитированием
Старый 23.12.2011, 18:47   #5
lexa_7up
Пользователь
 
Регистрация: 15.12.2011
Сообщений: 13
По умолчанию

переделай пожалуйста)))
lexa_7up вне форума Ответить с цитированием
Старый 23.12.2011, 19:24   #6
Артём-Программиzd
Новичок
Джуниор
 
Регистрация: 23.12.2011
Сообщений: 9
По умолчанию

вот так:

Код:
PROGRAM ex1;

CONST n=10;

TYPE myArray=array[1..n] of integer;

VAR a:myArray;
    i,mina,temp:integer;

BEGIN

  randomize;
  for i:=1 to n do
  a[i]:=random(100)-50;

  mina:=1;
  for i:=1 to n do
    if(a[i]<a[mina]) then mina:=i;

  temp:=a[2];
  a[2]:=a[mina];
  a[mina]:=temp;

END.
Артём-Программиzd вне форума Ответить с цитированием
Старый 23.12.2011, 22:29   #7
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Код:
{Меняет местами максимальный и минимальный элемент массива}
program Task6;

const
	SIZE = 10;
	RIGHT = 1000;
	LEFT = 1;


type
	MyArr = array [1..SIZE] of Integer;

procedure InitArr (n : Integer; var a : MyArr);

var
	i : Integer;

begin
	WriteLn;
	Randomize;
	for i := 1 to SIZE do
		a[i] := Random(RIGHT + 1 - LEFT) + LEFT;
end;

procedure PrintArr (n : Integer; const a : MyArr);

var
	i : Integer;
begin
	for i := 1 to n do
		Write (a[i], ' ');
end;

var
	a : MyArr;
	i, n, max, min : Integer;

begin
	ReadLn (n);
	InitArr (n, a);
	PrintArr (n, a);
	WriteLn;

	max := 1;
	min := 1;

	for i := 1 to n do
		if a[i] > a[max] then
			max := i
		else
			if a[i] < a[min] then
				min := i;

	b := a[min];
	a[min] := a[max];
	a[max] := b;

	PrintArr (n, a)
end.
Poma][a вне форума Ответить с цитированием
Старый 24.12.2011, 04:16   #8
lexa_7up
Пользователь
 
Регистрация: 15.12.2011
Сообщений: 13
По умолчанию

спасибо)))) только я не понял почему программист должен быть ленивым????
lexa_7up вне форума Ответить с цитированием
Старый 24.12.2011, 09:59   #9
lexa_7up
Пользователь
 
Регистрация: 15.12.2011
Сообщений: 13
По умолчанию

вот павильная))

program ex1;
const n=10;
type myarray=array [1..n] of integer;
var a:myarray;

procedure init1(var m:myarray);
var i:integer;
BEGIN
for i:=1 to n do
m[i]:=random(100)-50;
end;

procedure print(m:myarray);
var i:integer;
begin
for i:=1 to n do
write(m[i]:3);
writeln;
end;

Function Minimym(m: myarray): Integer;
Var i, mini: Integer;
Begin
mini:=1;
For i:=1 To n Do
if (m[i]>m[mini]) then
mini:=i;
minimym:=mini;
End;

procedure swap(l1,l2:integer; var x:myarray);
var t:integer;
begin
t:=x[l1];
x[l1]:=x[l2];
x[l2]:=t;
end;

begin
init1(a);
print(a);
swap(2,Minimym(a),a);
writeln('otvet');
print(a);
readln;
end.
lexa_7up вне форума Ответить с цитированием
Старый 24.12.2011, 15:54   #10
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
Сообщение от lexa_7up Посмотреть сообщение
спасибо)))) только я не понял почему программист должен быть ленивым????
не поймешь пока не выучишь русский, и не научишься оформлять код правильно!
Poma][a вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Файли. Подкорректировать Anna1993 Общие вопросы C/C++ 4 24.05.2011 10:50
Необходимо подкорректировать программу на ассемблере!!! Иван1223 Помощь студентам 0 12.04.2011 19:59
нужно подкорректировать! Dilmur Паскаль, Turbo Pascal, PascalABC.NET 0 10.06.2010 21:24
Подкорректировать программу wrmarw Паскаль, Turbo Pascal, PascalABC.NET 5 04.05.2010 14:06
Можно ли подкорректировать программу, имея только ехе-шник? dmitriy777 Помощь студентам 5 22.02.2010 11:52