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

 



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