Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Object Pascal: кроссплатформенные технологии > Одномерный массив


Автор: APD 19.12.2005, 21:11
Помогите решить задачу.
Дан одномерный массив. Определить: сколько раз меняется знак у элементов.

Автор: APD 19.12.2005, 21:35
Так, эту я сделал. Помогите сделать лучше эту: Дан одномерный массив. Минимальный элемент поменять местами с последним.
Я сделал, но у меня меняются местами первый и последний:
Код

Program Unit5;
Uses CRT;
Var a:array[1..50] of integer;
 min, i, k, n, x:integer;
Begin
 CLRSCR;
  ReadLn(n);
 For i:=1 to n do
  ReadLn(a[i]);
 min := a[1];
 k := 1;
 For i:=1 to n do
  If min < a[i] then
   Begin
    min := a[i];
    k := i;
   End;
  x := a[k];
  a[k] := a[n];
  a[n] := x;
 For i:=1 to n do
  WriteLn(a[i]);
 ReadKey
End.

Автор: Rencom 19.12.2005, 22:14
Неправильно написано:
Код

For i:=1 to n do
  If min < a[i] then
   Begin
    min := a[i];
    k := i;
   End;


Так нужно:

Код

for i:=2 to n do
  if a[i]<min then
   Begin
    min := a[i];
    k := i;
   End;

Автор: Zero 19.12.2005, 22:25
Цитата(APD @ 19.12.2005, 22:35)
Я сделал, но у меня меняются местами первый и последний:

У тебя условие тут:
Код

If min < a[i] then
стоит неверно, замени его на противоположное.
Добавлено @ 22:25
Упс, незаметил, уже ответили...

Автор: APD 19.12.2005, 23:47
Дада, спасибо...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)