Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
0 / 0 / 1
Регистрация: 07.11.2010
Сообщений: 46

Найти сумму положительных компонент файла, расположенных до максимальной компоненты

13.03.2011, 19:31. Показов 2686. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите найти ошибку в коде.
Условие задачи: Создать числовой файл . Найти сумму положительных компонент файла, расположенных до максимальной компоненты. Найденной суммой заменить отрицательные компоненты, строящие после максимума. Файл и сумму распечатать (как до, так и после преобразования).


Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
program dsadf;
var a,b,i,imax,max,s:integer;
f:file of integer;
begin
assign(f,'f.dat');
writeLn('ââåäèòå ïåðâóþ êîìïîíåíòó ôàéëà f');
rewrite(f);
readLn(b);
i:=1;
while b<>555 do
begin
write(f,b);
inc(i);
writeLn('ââåäèòå ',i,'-óþ êîìïîíåíòó ôàéëà f');
readLn(b);
end;
reset(f);
writeLn('ôàéë f äî èçìåíåíèÿ:');
while not EOF(f) do
begin
read(f,b);
write(b:5);
end;
writeLn;
 
reset(F);
read(F,max);
imax:=0;
while not EOF(f) do
begin
read(F,b);
while b>max do
begin
max:=b;
imax:= filepos(F)-1;
end;
end;
s:=0;
reset(F);
while filepos(F)< imax do
begin
read(F,b);
if b>0 then
begin
s:=s+b;
 
end;
end;
 writeln('S=',S:5);
 writeln('max=',max:5);
 writeln('imax=',imax:5);
reset(F);
seek(f,imax+1);
while not eof(f) do
begin
while filepos(f)>imax do
begin
read(F,b);
if b<0 then
begin
b:=S;
end
end;
reset(f);
writeLn('ôàéë f ïîñëå èçìåíåíèÿ:');
while not EOF(f) do
begin
read(f,b);
write(b:5);
end;
writeLn;
end;
close(f);
end.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.03.2011, 19:31
Ответы с готовыми решениями:

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

Найти сумму компонент, расположенных между максимальной и минимальной компонентами
Дан файл вещественных чисел. Найти сумму компонент, расположенных между максимальной и минимальной компонентами. Записать в новый файл...

Найти сумму компонент, расположенных межу максимальной и минимальной компонентами
Дан файл вещественных чисел. Найти сумму компонент, расположенных межу максимальной и минимальной компонентами. Записать в новый файл...

2
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
13.03.2011, 21:13
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
program dsadf;
uses crt;
var a,b,i,n,imax,max,s:integer;
f:file of integer;
begin
assign(f,'f.dat');
writeLn('введите первую компоненту файла f');
rewrite(f);
readLn(b);
i:=1;
while b<>555 do
 begin
  write(f,b);
  inc(i);
  writeLn('введите ',i,'-ую компоненту файла f');
  readLn(b);
 end;
clrscr;
writeLn('файл f до изменения:');
reset(f);
n:=filesize(f);
read(F,max);
write(max:5);
imax:=0;
for i:=1 to filesize(f)-1 do
 begin
  seek(f,i);
  read(f,b);
  write(b:5);
  if b>max then
   begin
    max:=b;
    imax:=i;
   end;
end;
close(f);
writeLn;
writeln('Максимальное значение=',max,' индекс=',imax);
if imax=0 then
 begin
  writeln('До максимальной компоненты других нет');
  s:=0;
  writeln('Сумма=0');
 end
else
 begin
  s:=0;
  reset(F);
  for i:=0 to imax-1 do
   begin
    seek(f,i);
    read(f,b);
    if b>0 then s:=s+b;
   end;
  close(f);
  writeln('Сумма положительных до первого максимального=',s);
 end;
if imax=n then
 begin
  writeln('После максимальной компоненты других нет');
  writeln('Файл не изменился');
 end
else
 begin
  reset(f);
  for i:=imax+1 to filesize(f)-1 do
   begin
    seek(f,i);
    read(f,b);
    if b<0 then
     begin
      seek(f,i);
      write(f,s);
     end;
   end;
  close(f);
  writeln('Измененный файл');
  reset(f);
  while not eof(f) do
   begin
    read(f,b);
    write(b:5);
   end;
  close(f);
 end;
end.
1
0 / 0 / 1
Регистрация: 07.11.2010
Сообщений: 46
13.03.2011, 21:29  [ТС]
Благодарствую.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.03.2011, 21:29
Помогаю со студенческими работами здесь

Файл: Найти сумму отрицательных компонент файла, расположенных до минимальной компоненты
Это последний кусок программы на файлы. &quot;Надо было создать числовой файл F, найти сумму отрицательных компонент файла, расположенных до...

Найти сумму положительных компонент файла и дописать её в конец файла
Ввести файл целых чисел найти сумму положительных компонент файла дописать Ее в конец файла . Файл вывести

Дан файл F, компоненты которого являются действительными числами. Найти сумму компонент файла.
8-) привед помогите решить задачку на типизированные файлы :D Дан файл F, компоненты которого являются действительными числами. Найти...

Найти сумму первых трех положительных компонент файла
Здравствуйте. Помогите, Сформировать файл F целого типа. Найти S – сумму первых трех положительных компонент файла. Ввести x , если...

Дан файл F, компоненты которого являются действительными числами. Найти сумму квадратов компонент файла
Дан файл F, компоненты которого являются действительными числами. Найти сумму квадратов компонент файла, результат записать в другой файл;


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru