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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.12.2008, 18:26   #1
Safary
Пользователь
 
Регистрация: 18.11.2008
Сообщений: 24
По умолчанию Массив. Паскаль

Дан одномерный массив, надо найти кол-во элементов равных нулю и сумму элементов после минимального, и упорядочить по возрастанию.
Вот мой код, не могу найти ошибку, а компилятор ругается( Помогите, пожалуйста.
Код:
const n=10;
type a=array[1..n] of real;
var i,nol,imin,j,sum,m:integer;
begin
nol:=0;
sum:=0;
writeln('Vvedite', n, ' elementi massiva ');
for i:=1 to n do read( a[i]);
for i:=1 to n do
  if a[i]=0 then nol:=nol+1;
writeln('Kolichestvo elementov ravnih 0 ', nol);
imin:=a[1];
for i:=2 to n do
  if a[i]<imin then imin:=a[i];
writelen('Minimalnii element ',imin);
for i:=imin+1 to n do begin
  sum+:=a[i];
  end;
writeln('Summa posle minimalnogo ',sum);
for i:= 1 to n-1 do begin
  imin:=i;
  for j:=i+1 to n do
    if a[j]<a[imin] then imin:=j;
    m:=a[i];
    a[i]:=a[imin];
    a[imin]:=m;
  end;
writeln('Uporyadochnii massiv: ');
for i:=1 to n do write(a[i]);

end.
Safary вне форума Ответить с цитированием
Старый 04.12.2008, 18:35   #2
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Разбирайтесь
Код:
const n=10;

var i,nol,j,imin:integer;
    sum,m:real;
    a:array[1..n] of real;

begin
nol:=0;
sum:=0;
writeln('Vvedite', n, ' elementi massiva ');
for i:=1 to n do read(a[i]);
for i:=1 to n do
  if a[i]=0 then nol:=nol+1;
writeln('Kolichestvo elementov ravnih 0 ', nol);
imin:=1;
for i:=2 to n do
  if a[i]<a[imin] then imin:=i;
writeln('Minimalnii element ',imin);
sum:=0;
for i:=imin+1 to n do begin
  sum:=sum+a[i];
  end;
writeln('Summa posle minimalnogo ',sum:3:1);
for i:= 1 to n-1 do begin
  imin:=i;
  for j:=i+1 to n do
    if a[j]<a[imin] then imin:=j;
    m:=a[i];
    a[i]:=a[imin];
    a[imin]:=m;
  end;
writeln('Uporyadochnii massiv: ');
for i:=1 to n do write(a[i]:4:1);

end.
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 04.12.2008, 18:41   #3
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию

У! Порядочный код!
А название программы в нём присутствует вообще?..
К сожалению, мне не на чем проверить. Но мой интерпретатор бэйсик ругнулся бы на пробел после открывающей скобки:

read( a[i]);

а так вроде всё прилично.
Sasha_Smirnov вне форума Ответить с цитированием
Старый 04.12.2008, 18:43   #4
Safary
Пользователь
 
Регистрация: 18.11.2008
Сообщений: 24
По умолчанию

Спасибо большое, не подскажите, из каких соображений вы выделили под sum 3:1 памяти и под a[i] 4:1, просто не могу понять этого, это обязательно выделять память?
Safary вне форума Ответить с цитированием
Старый 04.12.2008, 18:48   #5
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Цитата:
Сообщение от Safary Посмотреть сообщение
Спасибо большое, не подскажите, из каких соображений вы выделили под sum 3:1 памяти и под a[i] 4:1, просто не могу понять этого, это обязательно выделять память?
Мы о Pascal говорим? writeln(sum:3:1)
После каждого выражения, вы можете добавить опции форматирования:

:width ширина поля для строк + чисел
: precision десятичные цифры для чисел

Попробуйте написать writeln(sum) и сразу все поймете
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 04.12.2008, 18:58   #6
Safary
Пользователь
 
Регистрация: 18.11.2008
Сообщений: 24
По умолчанию

Поняла))) Спасибо)
Safary вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ПАСКАЛЬ, одномерный массив (Kate) Помощь студентам 2 23.11.2008 15:06
Паскаль (двумерный массив) RAVAL)) Помощь студентам 5 16.06.2008 00:27
Паскаль. Динамический массив KORT Паскаль, Turbo Pascal, PascalABC.NET 2 29.09.2007 23:08
Паскаль. задача на массив narkozz Паскаль, Turbo Pascal, PascalABC.NET 3 23.05.2007 20:48