Задача: в массиве из 10 элементов найти min элемент и все элементы массива уменьшить на половину значения этого элемента.
Задача 2: Даны массивы x и y из 10 элементов. Заменить элементы массива x, превышающие значение среднего арифметического элементов массива y этим значением (средним арифм.).
Заранее спасибо!
Показывай что сделал. В чем проблема?
1)
Program massiv;
Uses crt;
Var x: array [1..10] of integer;
min,I: integer;
k: real;
Begin clrscr; randomize;
For i:=1 to 10 do x[i]:=random (20);
Min:=x[1];
For i:=1 to 10 do begin
If x[i]<min then min:=x[i];
K:=min/2;
For i:=1 to 10 do begin
X[i]:=x[i]-k;
Write (x[i]); end;
Write (‘min элемент = ‘, min);
Readkey;
End.
Program massiv;
Uses crt;
Var x: array [1..10] of integer;
y: array [1..10] of integer;
sum, I: integer;
sr: real;
Begin clrscr;
Write (‘Введите массив x’);
For i:=1 to 10 do readln (x[i]);
Write (‘Введите массив y’);
For i:=1 to 10 do readln (y[i]);
For i:=1 to 10 do Sum:=sum+y[i]; Sr:=sum/10; write (sr);
For i:=1 to 10 do begin If x[i]>sr then x[i]:=sr;
Writeln (x[i]); end;
Readkey;
End.
1)
Program massiv;Во второй аналогично
Uses crt;
Var x: array [1..10] of integer;
min,I,k: integer;
Begin clrscr; randomize;
For i:=1 to 10 do x[i]:=random (20);
Min:=x[1];
For i:=2 to 10 do If x[i]<min then min:=x[i];
K:=min div 2; // массив целых чисел
For i:=1 to 10 do begin
X[i]:=x[i]-k; //здесь была бы ошибка
Write (x[i]); end;
Write (‘min элемент = ‘, min);
Readkey;
End.
For i:=1 to 10 do begin If x[i]>sr then x[i]:=sr; //sr-real, а массив из целых чисел
Большое спасибо! Я вообще-то тоже подумала, что здесь что-то с типом переменных...
А что означает div?
И ещё: когда min элемент =1, то исходный массив равен конечному...
div-деление с целью получения целой части.
Ну допустим, массив заполняется случайными числами, да и если с клавиатуры заполнять, то часто наименьшим значением является число 1.
используйте массив вещественных чисел.
Просто при минимальном элементе, равном 1, если используется массив целых чисел, следующий код
K:=min div 2;
K:=min div 2;
K:=min / 2;