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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.03.2013, 13:28   #1
ВикторИО
 
Регистрация: 17.03.2013
Сообщений: 4
По умолчанию Из заданного целого ряда чисел размерности N получить новый ряд, состоящий из отрицательных членов ряда, кратных 5 ( Паскаль )

нужно написать срочно прогу на массивы, прошу помощи!!

Из заданного целого ряда чисел размерности N получить новый ряд, состоящий из отрицательных членов заданного ряда кратных 5. Упорядочить новый ряд в порядке убывания его членов.
ВикторИО вне форума Ответить с цитированием
Старый 17.03.2013, 13:45   #2
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
прошу помощи!!
Помощь <> сделайте всё за меня!!

Покажите свои наработки
Poma][a вне форума Ответить с цитированием
Старый 17.03.2013, 14:17   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Почему же не помочь? На паскале?
Пожалуйста:
Код:
program Project1;

{$mode objfpc}{$H+}

uses
  {$IFDEF UNIX}{$IFDEF UseCThreads}
  cthreads,
  {$ENDIF}{$ENDIF}
  Classes, SysUtils, CustApp
  { you can add units after this };

type

  { TMyApplication }

  TMyApplication = class(TCustomApplication)
  protected
    procedure DoRun; override;
  public
    constructor Create(TheOwner: TComponent); override;
    destructor Destroy; override;
    procedure WriteHelp; virtual;
  end;

{ TMyApplication }

procedure TMyApplication.DoRun;
const n=15;
var
  ErrorMsg: String;
  a,b:Array of integer;
  i,k,j:integer;
begin
  // quick check parameters
  ErrorMsg:=CheckOptions('h','help');
  if ErrorMsg<>'' then begin
    ShowException(Exception.Create(ErrorMsg));
    Terminate;
    Exit;
  end;

  // parse parameters
  if HasOption('h','help') then begin
    WriteHelp;
    Terminate;
    Exit;
  end;

  { add your program here }
  randomize;
  // Задаем исходный массив
  SetLength(a,n);
  for i:=low(a) to high(a) do begin
    a[i]:=random(100)-80;
    // Формируем второй массив если элемент отвечает условию
    if (a[i]<0)and((a[i] mod 5)=0) then begin
     SetLength(b,Length(b)+1);
     b[high(b)]:=a[i];
    end;
    write(a[i]:5);
  end; writeln;
  // Сортируем
  for i:=low(b) to high(b) do
   for j:=low(b) to high(b) do
     if b[i]>b[j] then begin k:=b[i];b[i]:=b[j];b[j]:=k;end;
  // Выводим
  for i:=low(b) to high(b) do write(b[i]:5);
  readln;
  // stop program loop
  Terminate;
end;

constructor TMyApplication.Create(TheOwner: TComponent);
begin
  inherited Create(TheOwner);
  StopOnException:=True;
end;

destructor TMyApplication.Destroy;
begin
  inherited Destroy;
end;

procedure TMyApplication.WriteHelp;
begin
  { add your help code here }
  writeln('Usage: ',ExeName,' -h');
end;

var
  Application: TMyApplication;
begin
  Application:=TMyApplication.Create(nil);
  Application.Title:='My Application';
  Application.Run;
  Application.Free;
end.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.03.2013, 14:25   #4
ВикторИО
 
Регистрация: 17.03.2013
Сообщений: 4
По умолчанию

мне кажется, или слишком объёмно? хD
ВикторИО вне форума Ответить с цитированием
Старый 17.03.2013, 14:26   #5
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Кажется......
Poma][a вне форума Ответить с цитированием
Старый 17.03.2013, 14:35   #6
ВикторИО
 
Регистрация: 17.03.2013
Сообщений: 4
По умолчанию

смогёте попроще и поменьше, надеюсь не прошу невозможного)
ВикторИО вне форума Ответить с цитированием
Старый 17.03.2013, 14:41   #7
Leshii
Форумчанин
 
Регистрация: 26.07.2011
Сообщений: 376
По умолчанию

Вот вариант поменьше.
Там только пару моментов добавить осталось
Код:
{ add your program here }
  randomize;
  // Задаем исходный массив
  SetLength(a,n);
  for i:=low(a) to high(a) do begin
    a[i]:=random(100)-80;
    // Формируем второй массив если элемент отвечает условию
    if (a[i]<0)and((a[i] mod 5)=0) then begin
     SetLength(b,Length(b)+1);
     b[high(b)]:=a[i];
    end;
    write(a[i]:5);
  end; writeln;
  // Сортируем
  for i:=low(b) to high(b) do
   for j:=low(b) to high(b) do
     if b[i]>b[j] then begin k:=b[i];b[i]:=b[j];b[j]:=k;end;
  // Выводим
  for i:=low(b) to high(b) do write(b[i]:5);
  readln;
  // stop program loop
  Terminate;
end;
Люблю на ты.Я человек простой
Leshii вне форума Ответить с цитированием
Старый 17.03.2013, 15:12   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
попроще и поменьше
Врядли для решения этого задания проще получится...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.03.2013, 17:38   #9
ВикторИО
 
Регистрация: 17.03.2013
Сообщений: 4
По умолчанию

не, упрощённая версия не работает, т.к. это просто скопированная часть кода из полной программы)))
ВикторИО вне форума Ответить с цитированием
Старый 17.03.2013, 18:00   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
т.к. это просто скопированная часть кода
Так допиши секцию var и begin end
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[СРОЧНЯК]{исправить}Вычислить сумму ряда для заданного числа членов N Z00mzoom Помощь студентам 4 17.12.2012 20:48
найти сумму членов ряда с точностью ε для заданного х и их количество (Паскаль) gylayko Помощь студентам 0 12.10.2011 16:50
суммы n членов ряда для заданного х gylayko Помощь студентам 3 06.10.2011 21:08
сумма всех начальных членов ряда, значение которых не меньше заданного числа e, 0<e<1 Арчи Помощь студентам 2 20.12.2008 12:39