Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Помогите, пжст, решить задачу в Паскале

62K
20 октября 2010 года
Juggle
8 / / 20.10.2010
Никак не могу придумать решение. :confused: Помогите!!!

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

Надеюсь на вашу отзывчивость. :)
262
20 октября 2010 года
Iktomy
1.2K / / 11.10.2004
Ужас!
По-моему решение расписано уже в условии задачи.
62K
20 октября 2010 года
Juggle
8 / / 20.10.2010
Ну тебе как эксперту, я не сомневаюсь, все понятно с первых слов. А я с Паскалем знакома всего пару дней, поэтому ценные советы приветствуются.
14K
20 октября 2010 года
Fenja
138 / / 20.03.2009
А причем тут паскаль? Тут нужно лишь представить алгоритм. А реализация - уже другой вопрос.
842
20 октября 2010 года
sigmov
301 / / 16.09.2008
Цитата: Juggle
Ну тебе как эксперту, я не сомневаюсь, все понятно с первых слов. А я с Паскалем знакома всего пару дней, поэтому ценные советы приветствуются.



Оказывается пара дней -довольно большой срок. 40 минут хватает. Чтоб скачать компилятор(интерпретатор) и написать код

Код:
Type
  MyArray=Array[1..10000000] of real;  {Описываем массив всего из 1 элемента}
  MyArrayPtr=^MyArray;
Var
  DynamicArray, ArrayLess, ArrayMore
  : MyArrayPtr;       {Это указатель на наш динамически массив}
  Cur
  : real;                      {Заданное число}
  Count,                          {Это вводимый размер массива}
  CountLess,                      {Это размер массива чисел меньше заданного}
  CountMore,                      {Это размер массива чисел больше заданного}
  I,I2,I3,                        {Индексатор}
  Size:                           {Байтовый размер}
  integer;
Begin
  Write('Введите ключевое значение');
  ReadLn(Cur);

  {Вводим размер массива}
  Write('Число элементов массива: ');
  ReadLn(Count);

  { выделяем память:  Count x РазмерТипа }
  Size:=Count*SizeOf(real);
  GetMem(DynamicArray,Size);

  CountLess:=0;
  CountMore:=0;

  {заполняем наш массив значениями}
  For i:=1 to Count do
  begin
       Write(i,':=');
       ReadLn(DynamicArray^);
       if(DynamicArray^<Cur) then CountLess:=CountLess+1
       else CountMore:=CountMore+1;
  end;
 
  Size:=CountLess*SizeOf(real);
  GetMem(ArrayLess,Size);
 
  Size:=CountMore*SizeOf(real);
  GetMem(ArrayMore,Size);
 
  I2:=0;
  I3:=0;

  For i:=1 to Count do
  begin
       if(DynamicArray^<Cur)
       then
           begin
                I2:=I2+1;
                ArrayLess^[I2]:=DynamicArray^;
           end
       else
           begin
                I3:=I3+1;
                ArrayMore^[I3]:=DynamicArray^;
           end
  end;
 
   Write('Массив меньше :');
   For i:=1 to I2 do
       Write(' ',ArrayLess^);
   WriteLn();
   Write('Массив больше или равно :');
   For i:=1 to I3 do
       Write(' ',ArrayMore^);
  {освобождаем зарезервированную память для массива}
  FreeMem(DynamicArray);
  FreeMem(ArrayLess);
  FreeMem(ArrayMore);
End.
62K
21 октября 2010 года
Juggle
8 / / 20.10.2010
Sigmov, спасибо большое!
Не все такие прошаренные в програмировании, но я правда буду учиться разбираться в такие задачах за 40 минут. Ты сделал неоценимый вклад в этот процесс. Спасибо еще раз.:)
316
24 октября 2010 года
Alm3n
889 / / 29.05.2009
sigmov

код правильный,но блин,с динамической памятью?в задании,где нужно заполнить массив?:)
62K
25 октября 2010 года
Juggle
8 / / 20.10.2010
В задание ничего не написано про место хранения. Конечно для меня лучше простой вариант решения, но я думаю уйду как нибудь от нее, после того как у меня начнет считать правильно эта программка... :(
Сейчас числа делит не правильно по массивам, хотя вижу что в условии все четко написано:
if(DynamicArray^<Cur)
then
begin
I2:=I2+1;
ArrayLess^[I2]:=DynamicArray^;
end
else
begin
I3:=I3+1;
ArrayMore^[I3]:=DynamicArray^;
end
66K
26 ноября 2010 года
ksyushenka
1 / / 26.11.2010
попробуй вот тут посмотреть fformula.net. короче, просто отправляешь условие задачи и тебе оперативно высылают ответ. я, правда, один раз там была, но мне помогло.удачи))
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог