IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Помогите пожалуйста!
goosberry
сообщение 30.06.2008 8:49
Сообщение #1


Гость






Задача: в массиве из 10 элементов найти min элемент и все элементы массива уменьшить на половину значения этого элемента.

Задача 2: Даны массивы x и y из 10 элементов. Заменить элементы массива x, превышающие значение среднего арифметического элементов массива y этим значением (средним арифм.).

Заранее спасибо! give_rose.gif
 К началу страницы 
+ Ответить 
Client
сообщение 30.06.2008 11:25
Сообщение #2


Профи
****

Группа: Пользователи
Сообщений: 865
Пол: Мужской
Реальное имя: Вячеслав

Репутация: -  20  +


Показывай что сделал. В чем проблема?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
goosberry
сообщение 30.06.2008 12:39
Сообщение #3


Гость






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.



2)

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.


 К началу страницы 
+ Ответить 
Client
сообщение 30.06.2008 14:00
Сообщение #4


Профи
****

Группа: Пользователи
Сообщений: 865
Пол: Мужской
Реальное имя: Вячеслав

Репутация: -  20  +


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, а массив из целых чисел


Сообщение отредактировано: Client - 30.06.2008 14:03
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
goosberry
сообщение 30.06.2008 17:05
Сообщение #5


Новичок
*

Группа: Пользователи
Сообщений: 40
Пол: Женский

Репутация: -  0  +


Большое спасибо! Я вообще-то тоже подумала, что здесь что-то с типом переменных...
А что означает div?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
goosberry
сообщение 30.06.2008 17:34
Сообщение #6


Новичок
*

Группа: Пользователи
Сообщений: 40
Пол: Женский

Репутация: -  0  +


И ещё: когда min элемент =1, то исходный массив равен конечному...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Client
сообщение 30.06.2008 17:42
Сообщение #7


Профи
****

Группа: Пользователи
Сообщений: 865
Пол: Мужской
Реальное имя: Вячеслав

Репутация: -  20  +


div-деление с целью получения целой части.
Цитата
И ещё: когда min элемент =1, то исходный массив равен конечному...
Как массив задаешь?

Сообщение отредактировано: Client - 30.06.2008 17:43
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
goosberry
сообщение 1.07.2008 6:43
Сообщение #8


Новичок
*

Группа: Пользователи
Сообщений: 40
Пол: Женский

Репутация: -  0  +


Ну допустим, массив заполняется случайными числами, да и если с клавиатуры заполнять, то часто наименьшим значением является число 1.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
samec
сообщение 1.07.2008 16:14
Сообщение #9


Бывалый
***

Группа: Пользователи
Сообщений: 180
Пол: Мужской
Реальное имя: Юра

Репутация: -  1  +


используйте массив вещественных чисел.
Просто при минимальном элементе, равном 1, если используется массив целых чисел, следующий код
K:=min div 2;

даёт значение K равное нулю. Поэтому исходный и конечный массив - совпадают.

При использовании же массива вещественных чисел, меняем
K:=min div 2;

на
K:=min / 2;

и получаем K=0.5. (min, K :real)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия 10.08.2025 4:02
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"