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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.11.2013, 14:55   #1
dandikon
Новичок
Джуниор
 
Регистрация: 02.11.2013
Сообщений: 1
По умолчанию Прошу вашей помощи. Работа с массивами и типизированными файлами (Delphi)

Суть заключается вот в чем:
1.В одномерном массиве состоящем из n вещественных элементов вычислить:
1) максимальный элемент массива.
2) сумму элементов массива, расположенных между первым и последним положительными элементами. Преобразовать массив таким образом, чтобы сначала располагались все элементы равные нулю, а потом все остальные.
Все это я сделал и никаких проблему меня не вызвало, но требуется сделать еще несколько поправок:
2.
1) ввод элементов массива необходимо производить не клавиатуры, а с типизированного файла.
2) вывод результата производить в текстовый файл.
3) имена файлов вводить с клавиатуры.
4) подготовить исходный типизированный файл при помощи специальной программы
С низу вы можете наблюдать, то что я сделал. еще примечание все это надо сделать в обоих задачах. Надеюсь на вашу помощь.
1)
Код:
Const
 n=10;
 
Var
 a:array [1..n] of integer;
 i,min:integer;
 
begin
  Write('Введите массив: ');
  For i:=1 to n do
   Read(a[i]);
  Readln;
 
  min:=a[1];
  For i:=1 to n do
    If a[i]<min
     Then
      min:=a[i];
 
  Writeln('Минимальный элемент - ',min);
  Readln;
end.
2)
Код:
program Project32321;

{$APPTYPE CONSOLE}
Const n=5;

Var a:array[0..n-1] of Real;
    Sum:Real;
    indxFirst, IndxLast:Integer;
    i,j:Integer;
    temp:real;
Begin

 Writeln('Source array:');
 For i:=0 to n-1 do
  begin
   Write('Element #',i,':');
   readln(a[i]);
  end;

 IndxFirst:=0;
 WHile (IndxFirst<n)and(a[indxFirst]<0) do Inc(IndxFirst);

 IndxLast:=n-1;
 While (IndxLast>=0)and(a[IndxLAst]<0) do Dec(indxLast);

 if (indxFirst=n)or(IndxLast=-1) then
  Writeln('No summ...') else
 begin

  Sum:=0;
  For i:=IndxFirst to IndxLast do
   Sum:=Sum+a[i];
  Writeln('Sum:',sum:10:2);
 end;

 For i:=1 to n-1 do

  if a[i]=0 then
     begin

      For j:=i downto 1 do
       begin
        temp:=a[j];
        a[j]:=a[j-1];
        a[j-1]:=temp;
       end;
     end;

 Writeln('Destanation array:');
 For i:=0 to n-1 do
  Write(a[i]:5:1);
readln;
End.


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(это кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 02.11.2013 в 15:10.
dandikon вне форума Ответить с цитированием
Старый 02.11.2013, 15:09   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Оформить пост нормально.
Человек_Борща вне форума Ответить с цитированием
Старый 02.11.2013, 15:17   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
4) подготовить исходный типизированный файл при помощи специальной программы
это не просто, а ОЧЕНЬ просто.
берёте вашу программу, где Вы считываете массив, и туда добавляете запись в типизированный файл.
например:
Код:

 
Var
 fname : string; 
 f : file of integer;
 i,n,a : integer;
 
begin
  WriteLn;
  Write('Укажите имя типизированного файла (Внимание! Если такой есть, то будет перезаписан!): ');
  Readln(fname);
  AssignFile(f, fname);
  Rewrite(f); {перезаписать файл}

  Write('Укажите, сколько элементов будет в типизированном файле: ');
  Readln(n); 
  Write('Введите элементы файла: ');
  For i:=1 to n do 
  begin
     Read(a);
     Write(f, a);
  end;
  CloseFile(f);
  Readln;
  WriteLn('файл '+fname+' успешно создан!');
  Readln;
end.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Прошу вашей помощи в реализации программы по динамическим структурам technotamplier Помощь студентам 0 25.10.2009 22:20