Помощь - Поиск - Пользователи - Календарь
Полная версия: Может кто подредактировать?
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Дарина
1. Имеется файл, в котором содержится размерность массива и его элементы. Вычислить:
A. минимальный элемент массива;
B. сумму элементов массива, расположенных между первым и последним положительными элементами.
Полученные результаты записать в новый файл.}

Кому не сложно можете еще посмотреть расчет суммы..там вообще бред какой-то(

Var a:array[1..100] of integer;
min,i,number,sum,n,k,l,c:integer;
f1, f2: text;
begin
 Assign(f1, 'File1.txt');
  assign(f2, 'File2.txt');
  Reset(f1);
  rewrite(f2);
  for i := 0 to n - 1 do
  begin
    read(f1, a[i]);
    readln(f1);
  end;
  closeFile(f1);
writeln('Введите кол-во элементов массива');
readln(n);
writeln('Введите массив А');
  writeln(f2, a);
min:=A[1];
for i:=1 to n do
begin
write('Введите A[',i,']=');
readln(a[i]);
min:=A[1];
   if min>A[i] then
     begin
     min:=A[i];
     number:=i;
     end;
     end;
     c:=0;
               for i:=1 to n do
              if (a[i]>0) and (c=0) then 
              begin 
              k:=i;
              c:=1;
              end;
              
 
              for i:=n downto c do
              if a[i]> 0 then
              l:=i;

              for i:=k to l do sum:=sum+a[i];
               writeln('минимальное значени ',A[number]);
               writeln('Номер минимального элемента ',number);
               writeln('Сумма элементов массива, расположенных между первым и последним положительными элементами ',sum);
     
     writeln(f2, 'Минимальные элемент и сумма элементов ' ,number ,sum);
     closefile(f2);
     readln;
     end. 
Федосеев Павел
Дарина, надеюсь ты осознаёшь, что приведённый текст является копированием каких-то кусков с добавлением случайных операторов.
Просто пример:
var
  a:      array[1..100] of integer;
................................................
  for i := 0 to n - 1 do
  begin
    Read(f1, a[i]);                                  <--- при i=0 как поведёт себя программа?
    readln(f1);
  end;
  close(f1);
  WriteLn('Введите кол-во элементов массива');
  readln(n);
  WriteLn('Введите массив А');               <---- а что тогда происходило при чтении файла?
  WriteLn(f2, a[i]);

И далее почти по каждой паре-тройке строк.

Текст, что ты приводишь, для меня похож на порождение Франкенштейна. Поэтому слово коррекция тут неуместно. Нужна полная замена.

Давай ты спокойно присядешь перед книгой или пояснительным материалом и внимательно прочтёшь, что такое массивы. На каждом форуме есть FAQ и в каждом из них для учеников есть примеры задачек с массивами. На pascalnet есть даже несколько тем в FAQ.

Попробуй всё-таки осмысленно решить задачи. Выполняй по очереди - 1) чтение из файла, 2) задание А, 3) задание B.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.