Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Program Laba2_1;
- Uses
- Windows, System.SysUtils;
- Var
- N, I: Integer;
- Arr, Zeros, Negatives, Positives: Array of Integer;
- IsCorrect: Boolean;
- ZeroIndex, NegativeIndex, PositiveIndex: Integer;
- Begin
- SetConsoleCP(1251);
- SetConsoleOutputCP(1251);
- Writeln('Данная программа предназначена для изменения данной последовательности так, чтобы в начале стояли все нулевые элементы, затем отрицательные, а затем положительные элементы последовательности.');
- Repeat
- IsCorrect := True;
- Writeln('Введите количество элементов в последовательности:');
- Try
- Readln(N);
- Except
- IsCorrect := False;
- Writeln('Ошибка! Введите число.');
- End;
- If IsCorrect And (N < 1) Then
- Begin
- IsCorrect := False;
- Writeln('Ошибка! Введите верное количество элементов.');
- End;
- Until IsCorrect;
- SetLength(Arr, N);
- SetLength(Zeros, N);
- SetLength(Negatives, N);
- SetLength(Positives, N);
- For I := 0 To N - 1 Do
- Repeat
- IsCorrect := True;
- Write('Введите элемент номер ', I + 1, ': ');
- Try
- Readln(Arr[I]);
- Except
- Writeln('Ошибка! Введите целое число.');
- IsCorrect := False;
- End;
- Until IsCorrect;
- ZeroIndex := 0;
- NegativeIndex := 0;
- PositiveIndex := 0;
- For I := 0 To N - 1 Do
- Begin
- If Arr[I] = 0 Then
- Begin
- Zeros[ZeroIndex] := 0;
- Inc(ZeroIndex);
- End
- Else If Arr[I] < 0 Then
- Begin
- Negatives[NegativeIndex] := Arr[I];
- Inc(NegativeIndex);
- End
- Else
- Begin
- Positives[PositiveIndex] := Arr[I];
- Inc(PositiveIndex);
- End;
- End;
- For I := 0 To ZeroIndex - 1 Do
- Arr[I] := Zeros[I];
- For I := 0 To NegativeIndex - 1 Do
- Arr[I + ZeroIndex] := Negatives[I];
- For I := 0 To PositiveIndex - 1 Do
- Arr[I + ZeroIndex + NegativeIndex] := Positives[I];
- Write('Отсортированная последовательность: ');
- For I := 0 To N - 1 Do
- Write(Arr[I], ' ');
- Readln;
- End.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement