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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.03.2009, 20:34   #1
Ananim-Pbl6ak
Пользователь
 
Регистрация: 28.10.2008
Сообщений: 77
По умолчанию задача на формирование массива. паскаль

Ввести последовательность целых чисел. Сформировать массив из чисел исходной последовательности, меньших по абсолютной величине корня кубического из Max, и вектор из ее четных чисел, больших квадрата Min

додумал начало

Код:
Program FormMassive;
const
dim=10;
type
Tvector=Array[1..dim] of byte
var
VI,VR,Tvector;
KI,KR,I;byte;
begin
write ('Задайте количество чисел не больше чем ',dim,' ');
readln (KI);
writeln ('Введите ',KI,' натуральных чисел');

Последний раз редактировалось Stilet; 19.03.2009 в 09:47.
Ananim-Pbl6ak вне форума Ответить с цитированием
Старый 17.03.2009, 23:35   #2
Gonzo
Форумчанин
 
Аватар для Gonzo
 
Регистрация: 07.03.2009
Сообщений: 123
Радость

Можешь добавить отзыв.
Код:
uses crt;
const
dim=50;
type
Tvector=Array[1..dim] of byte;
var
a,b,c:Tvector;
n,i,min,ind1,ind2,i1_,i2_:byte;
max:real;
begin
 clrscr;
 repeat
 write ('Zadaite kolichestvo chisel: ');
 readln (n);
 until (n>0) and (n<=dim);
 writeln ('Vvodite elementy posledovatelnosti: ');
 for i:=1 to n do
  begin
   write(' -> ');
   readln(a[i]);
  end;
 max:=a[1];
 min:=a[1];
 for i:=1 to n do
  begin
   if max<a[i] then max:=a[i];
   if min>a[i] then min:=a[i];
  end;
 max:=exp(1/3*ln(max));
 min:=sqr(min);
 ind1:=1;ind2:=1;
 for i:=1 to n do
  begin
   if abs(a[i])<max then
    begin
      b[ind1]:=a[i];
      ind1:=ind1+1;
    end;
   if (a[i] mod 2 = 0) and (a[i]>min) then
    begin
      c[ind2]:=a[i];
      ind2:=ind2+1;
    end;
  end;
 i1_:=1;i2_:=1;
 clrscr;
 write('ISHODNAIA POSLEDOVATELNOST: ');
 for i:=1 to n do write(a[i],' ');
 readln;
 write('PERVAIA POSLEDOVATELNOST: ');
 while i1_<ind1 do
  begin
   write(b[i1_],' ');
   i1_:=i1_+1;
  end;
 readln;
 write('VTORAIA POSLEDOVATELNOST: ');
 while i2_<ind2 do
  begin
   write(c[i2_],' ');
   i2_:=i2_+1;
  end;
 readln;
end.
Не говорите что мне делать, и я не скажу куда Вам идти.
Пишу программы на заказ на Delphi и Pascal
Форум разработчиков Pascal и Delphi

Последний раз редактировалось Gonzo; 18.03.2009 в 23:05.
Gonzo вне форума Ответить с цитированием
Старый 18.03.2009, 22:40   #3
Ananim-Pbl6ak
Пользователь
 
Регистрация: 28.10.2008
Сообщений: 77
По умолчанию

ууу програмище а попроще ни как нельзя ее решить через if и если не сложно переменные что обозначают
Ananim-Pbl6ak вне форума Ответить с цитированием
Старый 18.03.2009, 23:14   #4
Gonzo
Форумчанин
 
Аватар для Gonzo
 
Регистрация: 07.03.2009
Сообщений: 123
По умолчанию

Я немного подправил, скиньте себе иправленный вариант.
А так куда уж проще? В принципе она и решается через if. Можно её немного сократить за счет того, что оформить вывод массива в отдельную процедуру с входными параметрами: массив, индекс последнего элемента.
Переменные: Min,Max: минимум, максимум. А затем квадрат и модуль куб.корня из этих элементов соотв.
ind1,ind2 - кол-во элементов первого и второго результ. массивов соотв.
i1_,i2_ - индексы этих массивов
Не говорите что мне делать, и я не скажу куда Вам идти.
Пишу программы на заказ на Delphi и Pascal
Форум разработчиков Pascal и Delphi
Gonzo вне форума Ответить с цитированием
Старый 19.03.2009, 17:59   #5
Ananim-Pbl6ak
Пользователь
 
Регистрация: 28.10.2008
Сообщений: 77
По умолчанию

можно сделать ввод в виде

for I:=1 to KI do
read(VI[I]);

вместо репита
Ananim-Pbl6ak вне форума Ответить с цитированием
Старый 19.03.2009, 20:04   #6
Gonzo
Форумчанин
 
Аватар для Gonzo
 
Регистрация: 07.03.2009
Сообщений: 123
По умолчанию

и зачем, собств?!
Не говорите что мне делать, и я не скажу куда Вам идти.
Пишу программы на заказ на Delphi и Pascal
Форум разработчиков Pascal и Delphi
Gonzo вне форума Ответить с цитированием
Старый 19.03.2009, 22:29   #7
Ananim-Pbl6ak
Пользователь
 
Регистрация: 28.10.2008
Сообщений: 77
По умолчанию

просто требуют так если конечно не сложно
Ananim-Pbl6ak вне форума Ответить с цитированием
Старый 19.03.2009, 22:33   #8
Лунатик222
Ламер z:]
Пользователь
 
Аватар для Лунатик222
 
Регистрация: 19.01.2009
Сообщений: 60
По умолчанию

Цитата:
Сообщение от Ananim-Pbl6ak Посмотреть сообщение
просто требуют так если конечно не сложно
я же решил тебе эту задачу на эзервее))
Лунатик222 вне форума Ответить с цитированием
Старый 20.03.2009, 03:57   #9
Gonzo
Форумчанин
 
Аватар для Gonzo
 
Регистрация: 07.03.2009
Сообщений: 123
По умолчанию

Учите паскаль!
Не говорите что мне делать, и я не скажу куда Вам идти.
Пишу программы на заказ на Delphi и Pascal
Форум разработчиков Pascal и Delphi
Gonzo вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль.Сортировка массива Никита35 Помощь студентам 12 24.10.2012 20:13
Паскаль,формирование массивов. Amenus Помощь студентам 4 10.03.2009 20:33
Паскаль, сортировка массива! vlad1991 Паскаль, Turbo Pascal, PascalABC.NET 3 13.01.2009 22:57
Двумерные массивы. Формирование одномерного массива из сумм строк матрицы, кратных числу k (в С++) Fimogen Помощь студентам 3 19.11.2007 07:30