Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 10.04.2010, 14:05   #1
Metal593
 
Регистрация: 21.02.2010
Сообщений: 2
По умолчанию Turbo Pascal

Разработать программу на языке программирования Turbo Pascal:
а) Массив a(30) сформирован случайным образом. Найти в нём ко-
личество элементов меньших среднего арифметического положитель-
ных элементов этого массива.
б) В массив внесена стоимость книг в порядке возрастания их но-
меров в каталоге. Найти самую дорогую и самую дешевую книги (их
номера), если всего книг 30.

Вот что сделал по первой задаче:

Код:
program fdgfd;
const 	N=30;
var 	A:array [1..N] of integer;
	i,k:integer;
	S:real;
begin
randomize;
for i:=1 to N do
  A[i]:=random(17)-20;
S:=0;
k:=0;
for i:=1 to N do
  if A[i]>0 then begin
		       S:=S+A[i];
			k:=k+1;
		 end;
S:=S/k;
k:=0;
for i:=1 to N do
  if A[i]<S then k:=k+1;
writeln(k);
end.
а вот по второй:

Код:
program wljs;
const  N=30;
var  A:array [1..N] of integer;
 i,MIN,MAX,iMIN,iMAX:integer;
begin
randomize;
for i:=1 to N do
  A[i]:=random(200)+100;
MIN:=A[1];
MAX:=A[1];
for i:=2 to N do begin
  if A[i]>MAX then begin
    MAX:=A[i];
    iMAX:=i;
     end;
  if A[i]<MIN then begin
   MIN:=A[i];
   iMIN:=i;
end;
writeln('самая дешевая - ',iMIN);
writeln('самая дорогая - ',iMAX);
end;
end.
Но ни одна из них почему то не хочет работать
Metal593 вне форума
Старый 10.04.2010, 17:32   #2
Serebro
FORTRAN programmer
Форумчанин
 
Регистрация: 08.12.2009
Сообщений: 153
По умолчанию

Цитата:
Сообщение от Metal593 Посмотреть сообщение
Разработать программу на языке программирования Turbo Pascal:
а) Массив a(30) сформирован случайным образом. Найти в нём ко-
личество элементов меньших среднего арифметического положитель-
ных элементов этого массива.
б) В массив внесена стоимость книг в порядке возрастания их но-
меров в каталоге. Найти самую дорогую и самую дешевую книги (их
номера), если всего книг 30.

Вот что сделал по первой задаче:

Код:
program fdgfd;
const 	N=30;
var 	A:array [1..N] of integer;
	i,k:integer;
	S:real;
begin
randomize;
for i:=1 to N do
  A[i]:=random(17)-20;
S:=0;
k:=0;
for i:=1 to N do
  if A[i]>0 then begin
		       S:=S+A[i];
			k:=k+1;
		 end;
S:=S/k;
k:=0;
for i:=1 to N do
  if A[i]<S then k:=k+1;
writeln(k);
end.
Но ни одна из них почему то не хочет работать
В первой программе все элементы a[i] отрицательные?
Нужно изменить строчку:
Код:
for i:=1 to N do
  A[i]:=random(17)-20;

Во второй программе нужно изменить
Код:
writeln('самая дешевая - ',iMIN);
writeln('самая дорогая - ',iMAX);
end;
на
Код:
end;
writeln('самая дешевая - ',iMIN);
writeln('самая дорогая - ',iMAX);

Последний раз редактировалось Serebro; 10.04.2010 в 17:35.
Serebro вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Turbo Pascal glavad Помощь студентам 5 14.12.2009 00:41
а free pascal не читает задачи которые написаны на turbo pascal? demonara Паскаль, Turbo Pascal, PascalABC.NET 3 25.05.2009 16:28
Turbo Pascal Jasper92 Помощь студентам 17 25.04.2009 14:17
Turbo Pascal dinozavr Помощь студентам 5 13.04.2009 22:10