Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 30.01.2009
Сообщений: 9
1

Создать файл, где компонентой будет матрица из N строк и N столбцов (квадратная)....

06.04.2009, 17:01. Показов 992. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам

Не по теме:

В данной лабораторной работе необходимо сделать типизированный файл, где каждой компонентой будет число, массив или матрица. Количество компонент заранее не определено, поэтому, при обработке файла необходимо использовать либо булевское значение функции EOF (конец файла), либо значение функции FILESIZE (размер файла).
Сами значения каждой компоненты можно задавать генератором случайных чисел.
Вывод исходного файла и файла с результатами сделать процедурой (и, если файлы одного типа, то одной процедурой).





Создать файл, где компонентой будет матрица из N строк и N столбцов (квадратная). Поменять местами значения, находящиеся на главной и побочной диагоналях каждой компоненты, поместив их на свое место в файле. Средние арифметические отрицательных чисел каждой матрицы записать в новый файл.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.04.2009, 17:01
Ответы с готовыми решениями:

Создать файл, где компонентой будет матрица
В данной лабораторной работе необходимо сделать типизированный файл, где каждой компонентой будет...

Создать файл, где компонентой будет массив из N чисел.
Создать файл, где компонентой будет массив из N чисел. Преобразовать компоненты (массивы) в файле...

Создать файл, где компонентой будет массив из N чисел
Ребят помогите задачку на файлы решить Создать файл, где компонентой будет массив из N чисел....

Создать файл, где компонентой будет массив из N чисел.
2.Создать файл, где компонентой будет массив из N чисел. Все четные по номеру компоненты участвуют...

1
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
07.04.2009, 10:26 2
Лучший ответ Сообщение было отмечено STAL как решение

Решение

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
uses crt;
const n=4;{размер матриц}
type matr=array[1..n,1..n] of real;{тип матриц}
     ff=file of matr;{файл матриц}
     gg=file of real;{файл средних слдержаний}
procedure VvMatr(var mt:matr);{ввод матриц}
var i,j:byte;
begin
for i:=1 to n do
for j:=1 to n do
mt[i,j]:=10*random-4;
end;
procedure VyvMatr(var mt:matr);{вывод на экран при создании}
var i,j:byte;
begin
for i:=1 to n do
  begin
    for j:=1 to n do
    write(mt[i,j]:6:2);
    writeln;
  end;
writeln;
end;
procedure ReadFF(var f:ff;var mt:matr);{чтение и вывод на экран файла матриц}
begin
reset(f);
while not eof(f) do
  begin
    read(f,mt);
    VyvMatr(mt);
  end;
close(f);
end;
procedure ReadGG(var g:gg;var x:real);{чтение и вывод на экран файла средних содержаний}
begin
reset(g);
while not eof(g) do
  begin
    read(g,x);
    write(x:6:2);
  end;
close(g);
end;
procedure Obmen(var mt:matr);{обмен элементов главной и побочной диагоналей}
var i,j:byte;
    x:real;
begin
for i:=1 to n do
 begin
   x:=mt[i,i];
   mt[i,i]:=mt[i,n-i+1];
   mt[i,n-i+1]:=x;
 end;
end;
function Sred(mt:matr):real;{вычисление среднего среди отрицательных}
var i,j,k:byte;
    sr:real;
begin
sr:=0;k:=0;
for i:=1 to n do
for j:=1 to n do
if mt[i,j]<0 then
  begin
   sr:=sr+mt[i,j];
   k:=k+1;
  end;
Sred:=sr/k;
end;
{раздел переменных}
var fmt:ff; {файл матриц}
    fsr:gg;{файл средних}
    m:matr;{матрица}
    ch:char;{символ для окончания ввода}
    i:byte;{счетчик}
    a:real;{число}
begin
clrscr;
randomize;
assign(fmt,'matr');
rewrite(fmt);
assign(fsr,'sred');
rewrite(fsr);
writeln('Введите матрицы, окончание ввода Esc:');
i:=0;
repeat
i:=i+1; {это просто для красоты}
VvMatr(m);{ввод}
write(fmt,m);{в файл}
writeln('     Матрица ',i);
VyvMatr(m);{на экран}
ch:=readkey;{оидаем нажатия клавиши}
until ch=#27;{если Esc, заканчиваем}
close(fmt);
readln;
clrscr;
writeln('Исходный файл:');
ReadFF(fmt,m);{выводим исходный файл}
readln;
reset(fmt);{открываем для чтения}
for i:=0 to filesize(fmt)-1 do {идем по файлу}
  begin
   seek(fmt,i);{позиция}
   read(fmt,m);{читаем}
   a:=Sred(m);{среднее}
   write(fsr,a);{записываем в другой файл}
   Obmen(m);{обмен элементов}
   seek(fmt,i);{на шаг назад}
   write(fmt,m);{записываем вместо старой иатрицы новую}
  end;
writeln;
writeln('Файл матриц после обмена:');
ReadFF(fmt,m);
readln;
writeln('Файл средних содержаний:');
ReadGG(fsr,a);
readln
end.
2
07.04.2009, 10:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.04.2009, 10:26
Помогаю со студенческими работами здесь

Создать файл, где компонентой будет массив из N чисел
Создать файл, где компонентой будет массив из N чисел. Преобразовать компоненты (массивы) в файле...

Создать файл, где компонентой будет массив из N чисел.
Создать файл, где компонентой будет массив из N чисел. Определить минимальное и максимальное...

Создать файл, где каждой компонентой будет массив из 6 чисел
Создать файл, где каждой компонентой будет массив из 6 чисел. Определить минимальное значение в...

Создать файл, где каждой компонентой будет массив из N чисел. Найти минимальное значение во всем файле
Создать файл, где каждой компонентой будет массив из N чисел. Найти минимальное значение во всем...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru