Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 02.07.2018
Сообщений: 38

Дан файл f, получить в файле g суммы из каждых 2-х компонент файла f

06.11.2018, 18:14. Показов 1244. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дан файл f, компоненты которого являются действительными числами. Число компонент файла кратно 2-м. Получить в файле g суммы из каждых 2-х компонент файла f.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.11.2018, 18:14
Ответы с готовыми решениями:

Дан файл f, содержащий вещественные числа. Получить копию файла в файле g
1. Дан файл f, содержащий вещественные числа. Получить копию файла в файле g.

Дан файл f, компоненты которого являются действительными числами. Получить в файле g все компоненты файла f
Дан файл f, компоненты которого являются действительными числами. Получить в файле g все компоненты файла f, принадлежа*щие интервалу . ...

В файле F заменить все нулевые компоненты значением суммы первой и последней компонент файла
3)В файле F заменить все нулевые компоненты значением суммы первой и последней компонент файла; все отрицательные компоненты уменьшить на...

14
 Аватар для Sun Serega
2355 / 1458 / 526
Регистрация: 07.04.2017
Сообщений: 4,798
06.11.2018, 20:18
Что с падежами слова "компонент"?

Добавлено через 1 минуту
Pascal
1
2
3
4
5
6
7
8
begin
  Reset(input, 'f');
  Rewrite(output, 'g');
  
  while not input.Eof do
    write(input.ReadReal+input.ReadReal);
  
end.
0
0 / 0 / 0
Регистрация: 02.07.2018
Сообщений: 38
20.11.2018, 21:54  [ТС]
Дан файл f, компоненты которого являются действительными числами. Число компонент файла кратно 2-м. Получить в файле g суммы из каждых 2-х компонент файла f.Помогите пожалуйста , вычисляет неправильно,а при попытке испрпвить выдаёт кучу ошибок

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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
uses crt;
var
  f, g: file of real;
  a, b: real;
  s: string;
  ch1: char;
 
function zachita(ch: char): boolean;
begin
  if ch in ['0'..'9'] then
    zachita := true
  else
    zachita := false;
end;
 
procedure delite(ch: char; var s1: string);
begin
  if ch = (#8) then 
  begin
    clearline;
    s1 := copy(s1, 1, length(s1) - 1); 
    write(s1);
  end;
end;
 
procedure vvod(var f1: file of real; ch: char; var s1: string);
begin
  assign(f1, 'file');
  rewrite(f1);
  writeln('Сколько пар записать в файл');
  repeat
    ch := readkey;
    if zachita(ch) then
    begin
      write(ch); 
      s1 := s1 + ch;
    end;
    delite(ch, s1);
  until ch = (#13);
end;
 
 
procedure reshenie(var f1: file of real; s1: string; a1: real);
begin
  for var i := 1 to 10 * (StrToInt(s1)) do
  begin
    a1 := random(99) + 1;
    write(f1, a1);
  end;
  writeln;
  writeln('Содержание файла');
  seek(f1, 0);
  close(f1);
end;
 
procedure pro(var f1: file of real; a1: real);
begin
  reset(f1);
  while not eof(f1) do 
  begin
    read(f1, a1);
    write(a1:5:2);
  end;
  close(f1);
end;
 
 
procedure vivod(var f1: file of real);
begin
  reset(f1);//открыт для чтения
  seek(f1, 0);
  writeln;
  writeln('Сумма элементов пар');
  close(f1);
end;
 
procedure data(var f1: file of real; a1, b1: real);
var
  i: integer;
begin
  reset(f1);
  i := 0;
  while i < filesize(f1) - 1 do 
  begin
    seek(f1, i);
    read(f1, a1);
    seek(f1, i + 1);
    read(f1, b1);
    if a1 > b1 then
      write(a1:5:2)
    else
      write(b1:5:2);
    i :=  i + 1;
  end;
  writeln;
  close(f1);
end;
 
begin
  vvod(f, ch1, s);
  reshenie(f, s, a);
  pro(f, a);
  vivod(f);
  data(f, a, b);
end.
0
 Аватар для Sun Serega
2355 / 1458 / 526
Регистрация: 07.04.2017
Сообщений: 4,798
20.11.2018, 23:15
Зачем вам все эти проверки? Читайте из 1 файла по 2 элемента и записывайте сразу во второй их суммы:

Pascal
1
2
3
4
5
6
7
8
begin
  Reset(input, 'f');
  Rewrite(output, 'g');
  
  while not Eof do
    Print(ReadInteger+ReadInteger);
  
end.
0
0 / 0 / 0
Регистрация: 02.07.2018
Сообщений: 38
21.11.2018, 17:43  [ТС]
Проверка нужна,сказали делать с проверкой
0
 Аватар для Sun Serega
2355 / 1458 / 526
Регистрация: 07.04.2017
Сообщений: 4,798
21.11.2018, 22:30
Тогда почему об этом ничего не сказано в описании задания?
0
0 / 0 / 0
Регистрация: 02.07.2018
Сообщений: 38
28.11.2018, 15:59  [ТС]
Дан файл f, компоненты которого являются действительными числами. Число компонент файла кратно 2-м. Получить в файле g суммы из каждых 2-х компонент файла f.

Программу надо выполнять с проверкой на защиту от дурака,помогите хелп

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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
uses crt;
var
  f, g: file of real;
  a, b,c: real;
  s: string;
  ch1: char;
 
function zachita(ch: char): boolean;
begin
  if ch in ['0'..'9'] then
    zachita := true
  else
    zachita := false;
end;
 
procedure delite(ch: char; var s1: string);
begin
  if ch = (#8) then 
  begin
    clearline;
    s1 := copy(s1, 1, length(s1) - 1); 
    write(s1);
  end;
end;
 
procedure vvod(ch:char;var s1:string);
begin
  writeln('сколько пар чисел записать в файл');
  repeat
  ch:=readkey;
    if zachita(ch) then 
    begin
      write(ch);
      s1:=s1+ch;
    end;
  delite(ch,s1);
  until (ch=(#13)) and (length(s1)<>0); 
end;
 
procedure reshenie(var f1: file of real; s1: string; a1: real);
begin
  for var i := 1 to 10 * (StrToInt(s1)) do
  begin
    a1 := random(99) + 1;
    write(f1, a1);
  end;
  writeln;
  writeln('Содержание файла');
  seek(f1, 0);
end;
 
procedure pro(var f1: file of real; a1: real);
begin
  while not eof(f1) do 
  begin
    read(f1, a1);
    write(a1:5:2);
  end;
end;
 
 
procedure vivod;
begin
  writeln;
  writeln('Сумма элементов пар');
end;
 
procedure data(var  g1,f1: file of real; a1, b1,c1: real);
var
  i: integer;
begin
  reset(f1);
  i := 0;
  while i < filesize(f1) - 1 do 
  begin
    seek(f1, i);
    read(f1, a1);
    seek(f1, i + 1);
    read(f1, b1);
      c1:=a1+b1;
      write(g1,c1);
    i :=i+2;
  end;
  writeln;
end;
 
procedure bild(g1:file of real; a1:real);
begin
 while not eof(g) do
 begin
  read(g1,a1);
   write(a1:5:2);
  end;
  writeln;
end;
 
begin
  vvod(ch1, s);
  assign(f,'1');
  rewrite(f);
  reshenie(f,s,a);
  close(f);
  reset(f);
  pro(f,a);
  vivod;
  assign(g,'2');
  rewrite(g);
  data(f,g,a,b,c);
  close(g);
  reset(g);
  bild(g,a);
  close(f);
  close(g);
end.
0
 Аватар для Sun Serega
2355 / 1458 / 526
Регистрация: 07.04.2017
Сообщений: 4,798
28.11.2018, 16:04
Что именно должна делать защита от дурака, если введено не число?
0
0 / 0 / 0
Регистрация: 02.07.2018
Сообщений: 38
28.11.2018, 18:02  [ТС]
разрешён ввод только цифр,меня беспокоит работа самой программы,правильная она или нет
0
 Аватар для Sun Serega
2355 / 1458 / 526
Регистрация: 07.04.2017
Сообщений: 4,798
28.11.2018, 18:12
Чтоб тестить - пишите юнит тесты. В коде, который вы даже не удосужились нормальной выделить тегами - сложно что то понять.
0
0 / 0 / 0
Регистрация: 02.07.2018
Сообщений: 38
05.12.2018, 18:52  [ТС]
Дан файл f, компоненты которого являются действительными числами. Число компонент файла кратно 2-м. Получить в файле g суммы из каждых 2-х компонент файла f
Помогите с выводом,вернее,чтобы считало сумму

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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
uses crt;
type proga=file of real;
var
  f, g: proga;
  a, b, c: real;
  s: string;
  ch1: char;
    
function zachita(ch: char): boolean;
begin
  if ch in ['0'..'9'] then
    zachita := true
  else
    zachita := false;
end;
 
procedure delite(ch: char; var s1: string);
begin
  if ch = (#8) then 
  begin
    clearline;
    s1 := copy(s1, 1, length(s1) - 1); 
    write(s1);
  end;
end;
 
procedure vvod(ch: char; var s1: string);
begin
  writeln('сколько пар чисел записать в файл');
  repeat
    ch := readkey;
    if zachita(ch) then 
    begin
      write(ch);
      s1 := s1 + ch;
    end;
    delite(ch, s1);
  until (ch = (#13)) and (length(s1) <> 0); 
end;
 
procedure reshenie(var f1: proga; s1: string; a1: real);
begin
  for var i := 1 to 2 * (StrToInt(s1)) do
  begin
    a1 := 10 * random;
    write(f1, a1);
  end;
  writeln;
  writeln('Содержание файла');
  seek(f1, 0);
end;
 
procedure pro(var f1:proga; a1: real);
begin
  while not eof(f1) do 
  begin
    read(f1, a1);
    write(a1:5:2);
  end;
end;
 
procedure data(var  g1, f1:proga;a1,b1,c1:real);
var
  i,c,a,b: integer;
begin
 reset(f);
  i := 1;
  c := 0;
  b:=0;
  while i < filesize(f1) do 
  begin
    seek(f1, i);
    read(f1, a1);
    seek(f1, i + 1);
    read(f1, b1);
    c1 := a1 + b1;
    i := i + 2;
    seek(g1,i);
    write(g1, c1); 
  end;
  writeln;
  close(f)
end;
 
 
 
procedure vivod(var f:proga);
var i:integer;
    x,a,b,c:real;
begin
 reset(f);
  i:=0; b:=0; a:=0; 
  while i<=filesize(f) do
   begin
   read(f,c);
   b:=b+c;
    pro(f,x);
    if i=2 then begin
    write(f,b);
    b:=0; i:=0;
    end;
    i:=i+2;
    writeln('Cумма= ',x);
   end;
 close(f);
end;
 
 
begin
  assign(f, '1');
  rewrite(f);
   vvod(ch1, s);
   reshenie(f, s, a);
  close(f);
  reset(f);
   pro(f, a);
  close(f);
  assign(g, '2');
  rewrite(g);
   data(f, g, a, b, c);
  close(g);
  vivod(g);
end.
0
 Аватар для Sun Serega
2355 / 1458 / 526
Регистрация: 07.04.2017
Сообщений: 4,798
05.12.2018, 19:32
Выделяйте код кнопкой PASCAL над окном сообщения.
0
0 / 0 / 0
Регистрация: 02.07.2018
Сообщений: 38
05.12.2018, 20:14  [ТС]
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
uses crt;
type proga=file of real;
var
f, g: proga;
a, b, c: real;
s: string;
ch1: char;
 
function zachita(ch: char): boolean;
begin
if ch in ['0'..'9'] then
zachita := true
else
zachita := false;
end;
 
procedure delite(ch: char; var s1: string);
begin
if ch = (#8) then 
begin
clearline;
s1 := copy(s1, 1, length(s1) - 1); 
write(s1);
end;
end;
 
procedure vvod(ch: char; var s1: string);
begin
writeln('сколько пар чисел записать в файл');
repeat
ch := readkey;
if zachita(ch) then 
begin
write(ch);
s1 := s1 + ch;
end;
delite(ch, s1);
until (ch = (#13)) and (length(s1) <> 0); 
end;
 
procedure reshenie(var f1: proga; s1: string; a1: real);
begin
for var i := 1 to 2 * (StrToInt(s1)) do
begin
a1 := 10 * random;
write(f1, a1);
end;
writeln;
writeln('Содержание файла');
seek(f1, 0);
end;
 
procedure pro(var f1roga; a1: real);
begin
while not eof(f1) do 
begin
read(f1, a1);
write(a1:5:2);
end;
end;
 
procedure data(var g1, f1roga;a1,b1,c1:real);
var
i,c,a,b: integer;
begin
reset(f);
i := 1;
c := 0;
b:=0;
while i < filesize(f1) do 
begin
seek(f1, i);
read(f1, a1);
seek(f1, i + 1);
read(f1, b1);
c1 := a1 + b1;
i := i + 2;
seek(g1,i);
write(g1, c1); 
end;
writeln;
close(f)
end;
 
 
 
procedure vivod(var froga);
var i:integer;
x,a,b,c:real;
begin
reset(f);
i:=0; b:=0; a:=0; 
while i<=filesize(f) do
begin
read(f,c);
b:=b+c;
pro(f,x);
if i=2 then begin
write(f,b);
b:=0; i:=0;
end;
i:=i+2;
writeln('Cумма= ',x);
end;
close(f);
end;
 
 
begin
assign(f, '1');
rewrite(f);
vvod(ch1, s);
reshenie(f, s, a);
close(f);
reset(f);
pro(f, a);
close(f);
assign(g, '2');
rewrite(g);
data(f, g, a, b, c);
close(g);
vivod(g);
end.
0
0 / 0 / 0
Регистрация: 02.07.2018
Сообщений: 38
18.12.2018, 22:33  [ТС]
Дан файл f, компоненты которого являются действительными числами. Число компонент файла кратно 2-м. Получить в файле g суммы из каждых 2-х компонент файла f.
Как сделать так,чтобы сумма выводилась и в программе,и в текстовом документе

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
87
uses crt;
var
  f,g: text;
  a:real;
  s: string;
  ch1: char;
    
function zachita(ch: char): boolean;
begin
  if ch in ['0'..'9'] then
    zachita := true
  else
    zachita := false;
end;
 
procedure delite(ch: char; var s1: string);
begin
  if ch = (#8) then 
  begin
    clearline;
    s1 := copy(s1, 1, length(s1) - 1); 
    write(s1);
  end;
end;
 
procedure vvod(ch: char; var s1: string);
begin
  writeln('сколько пар чисел записать в файл');
  repeat
    ch := readkey;
    if zachita(ch) then 
    begin
      write(ch);
      s1 := s1 + ch;
    end;
    delite(ch, s1);
  until (ch = (#13)) and (length(s1) <> 0); 
end;
 
procedure reshenie(var f1:text; s1: string; a1:real);
begin
  for var i := 1 to 2 * (StrToInt(s1)) do
  begin
    a1 :=random*21;
    writeln(f1, a1:5:2);
  end;
  writeln;
  writeln('Содержание файла');
end;
 
 
 
 
 
procedure summa(var t:text; f:text);
var i:real;
    a,b:real;
begin
  reset(f);
  i:=1; b:=0; 
  While not eof(f) do
  begin
    readln(f,a);
    b:=b+a;
    if i=2 then begin
      writeln(t,b);
      b:=0; i:=0;
    end;
   
    i:=i+1;
  end; 
end;
 
 
begin
  assign(f, 'file1.txt');
  rewrite(f);
   vvod(ch1, s);
   reshenie(f, s, a);
  close(f);
  reset(f);
  assign(g, 'file2.txt');
  rewrite(g);
   summa(g,f);
   close(f);
  close(g);
end.
0
Эксперт Pascal/Delphi
6812 / 4568 / 4820
Регистрация: 05.06.2014
Сообщений: 22,433
19.12.2018, 12:17
chingis_man, ваша программа делает совсем не то, что нужно по условию.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.12.2018, 12:17
Помогаю со студенческими работами здесь

Записать в файл G суммы соседних компонент файла F
Дан файл F из целых чисел,записать в файл G суммы соседних компонент файла F:0й+1й,2Й+3й,4й+5й и т.д. А в файл Н записать суммы компонент...

Дан файл F (компонентами являются действительные числа). Найти произведение компонент файла
Нужно составить схему алгоритма и программу. Создать файл в текстовом редакторе. Организовать просмотр содержимого файла и выполнение...

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

Получить в файле g суммы из каждых 2-х компонент файла f
Дан файл f,компоненты которого являются действительными числами. Число компонент файла кратно 2-м. Получить в файле g суммы из каждых 2-х...

Дан файл f. чить в файле g наибольшие из каждых 2-х компонент файла f
Выручайте, ребят:( Дан файл f, компоненты которого являются действительными числами. Число компонент файла кратно 2-м. Получить в файле g...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru