1. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление

Не Запускается Программа В Паскале

Тема в разделе "Вопросы новичков и не только", создана пользователем anyaekb, 9 дек 2013.

  1. anyaekb

    anyaekb New Member

    Репутация:
    0
    Регистрация:
    9 дек 2013
    Сообщения:
    2
    Симпатии:
    0
    Добрый вечер. Мне надо написать в паскале программу для решения задачи. Я написала, исправила все ошибки, а программа все равно не запускается. Наверное ошибка в сути программы, а найти ее я не могу. Подскажите пожалуйста.
    Задача: Вычислить среднее арифметическое значение тех элементов одномерного массива, которые расположены за первым по порядку минимальным элементом. Размерность массива 20. Заполнение массива осуществить случайными числами от 0 до 500.
    Сама я плохо в этом разбираюсь, поэтому наверняка ерунду написала в программе))

    program massiv1;
    const N=20;
    var a:array [1..N] of integer;
    min:integer;
    sr:real;
    begin
    randomize;
    for i:1 to N do
    a:=random(501);
    min:=1;
    for i:=1 to N do
    if a<a[min] then
    min:=i;
    sr:=0;
    for i=min+1 to N do
    sr:=sr+a;
    sr:=sr/(N-min);
    writeln;
    end.
     
  2. Senset

    Senset Well-Known Member

    Репутация:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    136
    Симпатии:
    0
    Не запускается в смысле выдает ошибку на компиляции? Значит, вы не исправили все ошибки
    И кажется, вывода среднего арифметического не хватает, паузы перед закрытием, и еще бы очистку экрана + вывод исходного массива, вывод минимального элемента и его позиции.
     
  3. anyaekb

    anyaekb New Member

    Репутация:
    0
    Регистрация:
    9 дек 2013
    Сообщения:
    2
    Симпатии:
    0

    я переписала программу как вы сказали, но все равно что-то паскалю не нравится.
    program massiv1;
    const N=20;
    var a:array [1..N] of integer;
    min,sr,summa:real;
    i:integer;
    begin
    randomize;
    for i:=1 to N do begin
    a:=random(501) [0..499] + random[0..1];
    writeln ('Массив:');
    end;
    min:=1;
    for i:=1 to N do
    if a<a[min] then
    min:=i;
    summa:=0;
    summa:=summa+massiv;
    writeln('Сумма элементов:');
    sr:=summa/(N-i);
    writeln;
    readln;
    end.
    Но мне кажется, что программа не найдет минимальный элемент. А еще при компиляции паскалю не нравятся мои скобки при random(501) [0..499] + random[0..1]. Пропускает, только если заменю "[" на "{". Это нормально?
     
  4. Senset

    Senset Well-Known Member

    Репутация:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    136
    Симпатии:
    0
    Алгоритм я еще не смотрел. Символами "{","}" обозначаются комментарии. Функция random() принимает 1 значение типа word (0<=word<=65536). Значение передается в скобках.
    Если хотите получить число от нуля до x: делаете: random(x);
     
Загрузка...

Поделиться этой страницей