IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Может кто подредактировать?, Файлы, Pascal ABC
Дарина
сообщение 23.05.2014 14:25
Сообщение #1





Группа: Пользователи
Сообщений: 2
Пол: Женский

Репутация: -  0  +


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. 
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Федосеев Павел
сообщение 23.05.2014 21:29
Сообщение #2


Бывалый
***

Группа: Пользователи
Сообщений: 298
Пол: Мужской
Реальное имя: Федосеев Павел

Репутация: -  8  +


Дарина, надеюсь ты осознаёшь, что приведённый текст является копированием каких-то кусков с добавлением случайных операторов.
Просто пример:
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.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия 31.07.2025 4:30
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"