program raf105;
const
n = 10;
var
a,b,c: array[1..n] of integer;
i,j,x,max,mpos,b1,c1: integer;
begin
write('Введите максимальное число: ');
readln(x);
writeln('Заполните массив из ',n,' элементов');
for i:=1 to n do
begin
readln(a[i]);
if a[i] > x
then begin
b1:= b1+1;
b[b1]:= a[i];
end
else begin
c1:= c1+1;
c[c1]:= a[i];
end;
end;
for i:=1 to c1 do
begin
max:= -10000;
for j:=i to c1 do
if c[j] >= max
then begin
max:= c[j];
mpos:= j;
end;
c[mpos]:= c[i];
c[i]:= max;
end;
for i:=1 to b1 do
a[i]:= b[i];
for i:=1 to c1 do
a[i+b1]:= c[i];
write('Отсортированный массив: ');
for i:=1 to n do
write(a[i],' ');
end.
PascalABC 3.4.2Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Randomize()
TextBox1.Text = ""
Dim n As Integer = 10
Dim array(n) As Integer
Dim summa, number As Integer
Dim i As Integer
summa = 0
number = 0
For i = 1 To n Step 1
array(i) = Int((100 * Rnd()) + 1)
TextBox1.Text = TextBox1.Text & array(i) & " "
If array(i) Mod 2 = 0 Then
summa = summa + array(i)
number = number + 1
End If
Next i
Label1.Text = "Сумма всех положитеьных чисел равна " & summa & ". И количество их равно " & number
End Sub
End Class
Поделитесь своими знаниями, ответьте на вопрос:
Каким образом можно вывести на экран вещественное число
writeln(x:7:2);
где число 7 указывает сколько всего знакомест будет занимать число на экране, а число 2 - сколько будет указано значащих цифр после запятой.
в языке C/C++ для этого можно использовать форматированный вывод одной из нескольких функций вывода:
printf("X=%d.2", x);
где шаблон %d.2 говорит о том, что необходимо вывести вещественное число двойной точности (double) указав две значащие цифры после запятой.
Если не использовать форматированный вывод, то числа, скорее всего будут выведены в экспоненциальной форме:
1.0002+Е-7