Форум программистов, компьютерный форум, киберфорум
Наши страницы

Turbo Pascal

Войти
Регистрация
Восстановить пароль
 
manubest
6 / 6 / 0
Регистрация: 04.05.2013
Сообщений: 136
#1

Первым элементом каждой строки явл. число. Создать копию файла и найти сумму 1 компонентов всех строк - Turbo Pascal

24.10.2013, 19:57. Просмотров 440. Ответов 6
Метки нет (Все метки)

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
Program LABA2_RI;
uses CRT;
var f,f1:text;
    c,sum,Sx:real;
    n,p,i:byte;
Procedure MENU(var p:byte);
var i:byte;
           Begin
                writeln('MENU');
                writeln('1.Vvod dannih');
                writeln('2.Obrabotka dannih');
                writeln('3.Vivod rezultatov');
                writeln('4.Vihod');
                writeln;
                writeln('Vash vibor -');
                readln(p);
                writeln;
           End;
Procedure Summa(var n:byte; var sum:real); {Їа®жҐ¤га  д®а¬Ёа®ў *Ёп д ©« }
var i:byte;
           Begin
 
               sum:=0;
               for i:=1 to n do
                     begin
                     readln(c);
                     append(f);
                     write(f,c);
                     sum:=sum+c;
                     end;
 
           End;
Begin
    clrscr;
    assign(f,'symbol3');
    reset(f);
    assign(f1,'Budushiy fayl');
    rewrite(f1);
    clrscr;
          while not eof(f) do begin
                                 readln (f,c);
                                 writeln(f1,c);
                              end;
Begin
     repeat
     MENU(p);
        Begin
             clrscr;
             case p of
                    1:begin
                         writeln('Vvod dannih');
                         write('Vvedite kolichestvo elementov=');
                         readln(n);
                       {  Summa(n,sum);}
                     end;
                     2:begin
                         writeln('Obrabotka dannih');
                         Summa(n,sum);
                         end;
                     3:begin
                         writeln('sum=',sum:5:2);
                         write(f1,sum);
                         writeln('Kopiya fayla:');
                         writeln('sum=',sum:5:2);
                      end;
                    4:begin
                         writeln('Vihod');
                    end;
        End;
End;
 
until
     p=4;
 
close(f);
close(f1);
readln;
end;
End.
Мне препод. говорит, что Я в файл ничё не записываю. Помогите разобраться

Добавлено через 21 час 56 минут
т.е. получается, что Я работаю только с оперативной памятью?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.10.2013, 19:57
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Первым элементом каждой строки явл. число. Создать копию файла и найти сумму 1 компонентов всех строк (Turbo Pascal):

В каждой из строк с отрицательным элементом на главной диагонали найти наибольший из всех элементов строки - Turbo Pascal
помогите пожалуйста, очень нужно написать программу. Дана действительная квадратная матрица порядка порядка 10. В каждой из строк с...

Найти сумму всех компонентов и произведение отрицательных компонентов файла - Turbo Pascal
Создать числовой файл F. Найти сумму всех компонентов и произведение отрицательных компонентов файла. Получить из него два вектора: A и B....

найти в каждой строке наибольший элемент и поменять его местами с первым элементом этой строки - Pascal
В заданной матрице найти в каждой строке наибольший элемент и поменять его местами с первым элементом этой строки.

Найти максимальный элемент в каждой строке матрицы и поменять его с первым элементом этой же строки - Pascal
Заполнить двумерный массив N x N случайными числами из интервала и найти максимальный элемент в каждой строке и поменять его с...

Найти в каждой строке матрицы максимальный и минимальный элементы и поменять их с первым и последним элементом строки соответственно - Turbo Pascal
дана матрица B.найти в каждой строке матрицы максимальный и минимальный элементы и поменять их с первым и последним элементом строки...

Найти в каждой строке матрицы минимальный и максимальный элементы и поменять их с первым и последним элементом строки соответственно - Turbo Pascal
1. Найти в каждой строке матрицы минимальный и максимальный элементы и поменять их с первым и последним элементом строки соответственно....

6
Basill
40 / 40 / 13
Регистрация: 16.02.2013
Сообщений: 197
24.10.2013, 21:01 #2
Pascal
1
2
3
4
5
                     3:begin
                         writeln('sum=',sum:5:2);
                         write(f1,sum);
                         writeln('Kopiya fayla:');
                         writeln('sum=',sum:5:2);
Ману братан) По идее здесь и происходит запись sum в файл f1. У препода очки сломались походу

Добавлено через 3 минуты
А вывод копии можно сделать
Pascal
1
2
3
4
5
                         writeln('Kopiya fayla:');           
                         while not eof(f1) do begin
                                 readln (f1,sum);
                                 writeln(sum);
                              end;
1
manubest
6 / 6 / 0
Регистрация: 04.05.2013
Сообщений: 136
25.10.2013, 07:05  [ТС] #3
Ошибка в процедуре говорит)
Pascal
1
2
3
4
5
6
7
8
9
10
Begin
               sum:=0;
               for i:=1 to n do
                     begin
                     readln(c);
                     append(f);
                     write(f,c);
                     sum:=sum+c;
                     end;
  End;
0
Basill
40 / 40 / 13
Регистрация: 16.02.2013
Сообщений: 197
25.10.2013, 07:26 #4
У меня кстате было такое задание, только вместо суммы было произведение лови код, там поменяешь под свою и все норм будет. Только я еще множества сюда добавлял. И я без меню делал.
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
program Lab2;
uses crt;
var f:text;
    g:text;
    a,c,n,i,j:integer;
    p,p1:longint;
    k:string;
    S,S1:string[255];
 
 
begin
    clrscr;
    Assign (f,'f:\Программирование и алгоритмизация\Лаба2\data1.txt');
    Assign (g,'f:\Программирование и алгоритмизация\Лаба2\data2.txt');
    reset(f);
    reset(g);
    
 
    begin
       Rewrite (g);
 
       Write ('Введите заданное число = ');
       Readln (k);
 
              While not Eof(f) Do
              begin
              readln (f,S);
              IF S[1]=k then
              writeln (g,S);
              end;
 
                 reset(g);
                 Writeln;
                 Writeln ('Содержимое результирующего файла');
 
                 While not Eof(g) Do
                 begin
                 readln (g,S);
                 writeln (S);
                 end;
 
//Произведение   исходного файла
                                   Writeln;
                                   reset(f);
                                   readln(f,s);
                                   n:=length(s);
                                   p:=1;
                                   i:=1;
                                   while i<=n do
                                   if s[i] in ['0'..'9'] then
                                   begin
                                   s1:='';
                                   j:=i;
                                   while(j<=n)and(s[j] in ['0'..'9'])do
                                   begin
                                   s1:=s1+s[j];
                                   j:=j+1
                                   end;
                                   val(s1,a,c);
                                   p:=p*a;
                                   i:=i+length(s1);
                                   end
                                   else i:=i+1;
                                   write('Произведение чисел в первой строке 1го файла=',p);
 
                                   
//Произведение  результирующего файла
                                   Writeln;
                                   reset(g);
                                   readln(g,s);
                                   n:=length(s);
                                   p1:=1;
                                   i:=1;
                                   while i<=n do
                                   if s[i] in ['0'..'9'] then
                                   begin
                                        s1:='';
                                        j:=i;
                                        while(j<=n)and(s[j] in ['0'..'9'])do
                                             begin
                                             s1:=s1+s[j];
                                             j:=j+1
                                             end;
                                             val(s1,a,c);
                                             p1:=p1*a;
                                             i:=i+length(s1);
 
 
                                   end
                                   else i:=i+1;
                 write('Произведение чисел в первой строке 2го файла=',p1);
 
            end;
 
            Close (f);
            Close (g);
           readln;
end.
1
manubest
6 / 6 / 0
Регистрация: 04.05.2013
Сообщений: 136
26.10.2013, 14:30  [ТС] #5
Просмотрел оба файла. В первом файле выводятся цифры которые мы ввели) во втором результат, т.е. сумма) Вопрос всё ещё открыт!) Может нахождение суммы для текстовых данных находится по другому???

Добавлено через 22 часа 11 минут
Чуваки... помогите
0
manubest
6 / 6 / 0
Регистрация: 04.05.2013
Сообщений: 136
28.10.2013, 18:04  [ТС] #6
Проверьте прогу пожалуйста......
0
Basill
40 / 40 / 13
Регистрация: 16.02.2013
Сообщений: 197
28.10.2013, 18:30 #7
Вот лаба кудрявого, попробуй от сюда инфу полезную взять у него тоже сумма первых элементов, там переделаешь под свою.
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
program Lab2;
uses crt;
var f:text;
    g:text;
    P,i,a,c:integer;
    S:string[255];
 
begin
    clrscr;
    Assign (f,'f:\Программирование и алгоритмизация\кудряшка\data1.txt');
    Assign (g,'f:\Программирование и алгоритмизация\кудряшка\data2.txt');
    reset(f);
    reset(g);
 
    begin
       Rewrite (g);
//=========================================================================================
             //Считывание исходного файла и копирование в результирующий файл
              While not Eof(f) Do
              begin
              readln (f,S);
              writeln (g,S);
              end;
//======================================================================================
                //Вывод на экран содержание результирующегося файла
                 reset(g);
                 Writeln ('Содержимое результирующего файла');
                 While not Eof(g) Do
                 begin
                 readln (g,S);
                 writeln (S);
                 end;
 
//======================================================================================
                                  //Нахождение суммы первыйх чисел каждой строки
                                   Writeln;
                                   reset(g);
                                   While not Eof(g) Do
                                    begin
                                    readln (g,S);
                                    val(s,a,c);
                                    p:=p+a;
                                    end;
                                    write('Сумма первых чисел =',P);
 
            end;
 
            Close (f);
            Close (g);
           readln;
end.
1
28.10.2013, 18:30
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.10.2013, 18:30
Привет! Вот еще темы с ответами:

Найти в каждой строке матрицы максимальный и минимальный элементы и поменять их с первым и последним элементом строки соответственно. - Turbo Pascal
Помогите лабу сделать. Буду вдвойне благодарна, если напишете еще и комментарии. Дана матрица B . Найти в каждой строке матрицы...

Найти в каждой строке матрицы макс. и мин. элементы и поменять их местами первым и последним элементом строки соответственно - Pascal
Дана матрица B.Найти в каждой строке матрицы макс. и мин. элементы и поменять их местами первым и последним элементом строки соответственно.

Дана матрица B[N,M].Найти в каждой строке матрицы макс. и мин. элементы и поменять их местами первым и последним элементом строки соответственно - Pascal
ребята помогите плиз!!! Дана матрица B.Найти в каждой строке матрицы макс. и мин. элементы и поменять их местами первым и последним...

Записать перед первым компонентом файла округленное значение среднего арифметического всех компонентов файла - Turbo Pascal
Сформировать файл вещественных чисел. Поменять местами максимальный и минимальный компоненты файла. Записать перед первым компонентом файла...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.