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

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

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

 
 Ответить  Открыть новую тему 
> Помогите написать программу., Составить программу по данному условию в турбо паскале
vigun
сообщение 3.06.2011 15:36
Сообщение #1





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

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


Вводиться 10 чисел. Выяснить, что встречается раньше: отрицательное число или ноль. Если раньше 0, то выяснить разницу между макс. и мин. числом, иначе вывести среднеарифметическое всех положительных чисел.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Krjuger
сообщение 3.06.2011 16:10
Сообщение #2


Профи
****

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

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


В чем именно проблемы?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
vigun
сообщение 3.06.2011 16:11
Сообщение #3





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

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


Я среднеарифметическое нашел, а максимум и минимум не могу.
Вот моя прога, помоги исправить ошибки.
var a,max,min,s,r,c,k,m,n,i: integer;
begin
readln(max);
readln(min);
s:=0;
k:=0;
for i:=3 to 10 do
begin
readln(a);
if a>0 then
begin
s:=s+a;
k:=k+1;
if a:=0 then
begin
n:=i;
end;
if a<0 then
begin
m:=i;
end;
end;
if a>max then
begin
max:=a;
end;
if a<min then
begin
min:=a
end;
end;
r:=max-min;
if max>0 then
begin
c:=(s+max)/k;
end
else
begin
c:=s/k;
end;
if n<m then
begin
writeln( r);
end
else
writeln( c);
end;
end.


М
Теги!!



Сообщение отредактировано: Lapp - 3.06.2011 23:37
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Krjuger
сообщение 3.06.2011 17:35
Сообщение #4


Профи
****

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

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


Эм,все делается немного по другому.Для начала проще завести массив в котором будут храниться все эти 10 цифр,согласись было бы неплохо видеть все вводимые данные.

const
n=10;
var
mas : array [1..n]of real;
i,S : integer;
max,min : real;
razn:real;
flag : integer;
begin
S:=0;
flag:=0;
for i:=1 to n do
read(mas[i]);
i:=1;
while flag=0 do
begin
if mas[i]<0 then
flag:=1;
if mas[i]=0 then
flag:=2;
inc(i);
end;

if flag=2 then
begin
i:=1;
max:=mas[i];
min:=mas[i];
for i:=2 to n do
begin
if mas[i]>max then
max:=mas[i];
if mas[i]<min then
min:=mas[i];
end;
razn:=max-min;
writeln('Max:',max:0:2);
writeln('Min:',min:0:2);
writeln('Raznost*:',razn:0:2);
end;
end.


Вот так можно найти максимум и минимум и их разность,если раньше 0,дальше я думаю сам сможеш осилить?
Еще возник вопрос
Цитата
иначе вывести среднеарифметическое

тобиш среднее арифметическое надо выводить не только когда отрицательное число раньше,но и ,если в массиве нету ни отрицательных ни нуля????Если да,то часть с flag можно упростить..

Кстати быстрельно измени название темы,оно должно быть информативным, и в твоем втором посте заключи код программы в теги.А то админ придет и накажет.

Цитата

writeln®;
end
else
writeln©;

Как ты эти символы после Wrilteln получил?))

Сообщение отредактировано: Krjuger - 3.06.2011 17:51
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
IUnknown
сообщение 3.06.2011 18:48
Сообщение #5


a.k.a. volvo877
*****

Группа: Пользователи
Сообщений: 1 013
Пол: Мужской

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


Цитата
Как ты эти символы после Wrilteln получил?))
Легко smile.gif Без тегов CODE движок форума сам преобразует C и R в скобочках к знакам копирайта/Registered соответственно.

Цитата
i:=1;
while flag=0 do
begin
if mas[i]<0 then
flag:=1;
if mas[i]=0 then
flag:=2;
inc(i);
end;
А введу я ВСЕ элементы больше 0 - что будет? Вылет за границу массива и кирдык программе? Нехорошо...

Кстати, к автору - тот же вопрос: что делать в случае, когда все элементы ненулевые и неотрицательные?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Krjuger
сообщение 3.06.2011 19:43
Сообщение #6


Профи
****

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

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


Ну да нехорошо,сделал сначала,чторбы при нуле работало, а потом посмотрел,если первый нуль, а не отрицательный(( пришлось переделывать,а протестить когда все элементы больше нуля забыл((
Благо лечиться несложно

while flag=0 and i<=n do

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
vigun
сообщение 3.06.2011 23:49
Сообщение #7





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

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


Цитата(Krjuger @ 3.06.2011 20:35) *

Эм,все делается немного по другому.Для начала проще завести массив в котором будут храниться все эти 10 цифр,согласись было бы неплохо видеть все вводимые данные.

const
n=10;
var
mas : array [1..n]of real;
i,S : integer;
max,min : real;
razn:real;
flag : integer;
begin
S:=0;
flag:=0;
for i:=1 to n do
read(mas[i]);
i:=1;
while flag=0 do
begin
if mas[i]<0 then
flag:=1;
if mas[i]=0 then
flag:=2;
inc(i);
end;

if flag=2 then
begin
i:=1;
max:=mas[i];
min:=mas[i];
for i:=2 to n do
begin
if mas[i]>max then
max:=mas[i];
if mas[i]<min then
min:=mas[i];
end;
razn:=max-min;
writeln('Max:',max:0:2);
writeln('Min:',min:0:2);
writeln('Raznost*:',razn:0:2);
end;
end.


Вот так можно найти максимум и минимум и их разность,если раньше 0,дальше я думаю сам сможеш осилить?
Еще возник вопрос

тобиш среднее арифметическое надо выводить не только когда отрицательное число раньше,но и ,если в массиве нету ни отрицательных ни нуля????Если да,то часть с flag можно упростить..

Кстати быстрельно измени название темы,оно должно быть информативным, и в твоем втором посте заключи код программы в теги.А то админ придет и накажет.
Как ты эти символы после Wrilteln получил?))

Cможешь отправить мне всю программу полностью со среднеарифметическим и с максимумом и минимумо, ато я что то запутался!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 4.06.2011 1:05
Сообщение #8


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


Цитата(vigun @ 4.06.2011 0:49) *
Cможешь отправить мне всю программу полностью со среднеарифметическим и с максимумом и минимумо, ато я что то запутался!

Что-то распутывайся, приятель.
Мы тут не для того, чтоб ты что-то сдал, а для того, чтоб ты что-то понял yes2.gif.
Говори, где запутался.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
vigun
сообщение 4.06.2011 1:06
Сообщение #9





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

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


Цитата(Lapp @ 4.06.2011 4:05) *

Что-то распутывайся, приятель.
Мы тут не для того, чтоб ты что-то сдал, а для того, чтоб ты что-то понял yes2.gif.
Говори, где запутался.

Я не знаю как теперь сюда всунуть среднеарифметичекое!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 4.06.2011 1:26
Сообщение #10


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


Цитата(vigun @ 4.06.2011 2:06) *
Я не знаю как теперь сюда всунуть среднеарифметичекое!

А пробовал?


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
vigun
сообщение 4.06.2011 1:27
Сообщение #11





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

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


Цитата(Lapp @ 4.06.2011 4:26) *

А пробовал?
да
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 4.06.2011 2:23
Сообщение #12


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


Цитата(vigun @ 4.06.2011 2:27) *
да

Покажи, как.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



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