![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
QDe5n1K |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 16 Пол: Мужской Репутация: ![]() ![]() ![]() |
Сабж...
1) В общем первая процедура - ввод двумерного целочисленного массива ( количество чисел кратно 10, 10 столбцов) и запись его в файл. 2) Вторая процедура - Вызов этого двумерного массива из файла и обработка его таким образом, что в каждой строке сначала идут отрицательные числа, затем положительные, запись в другой файл... Помогите пожалуйста... |
![]() ![]() |
Jahnerus |
![]()
Сообщение
#2
|
![]() Уникальный ![]() ![]() Группа: Пользователи Сообщений: 64 Пол: Мужской Репутация: ![]() ![]() ![]() |
Напиши обязательно в каком виде нужно записывать матрицу в файл...
Я написал реализацию в которой матрица записывается в файл в столбец ... если в принцыпе это важно, то можно и переделать так проще читать данные ! Код uses crt; const n=3;{число строк} type m=array[1..n,1..10] of integer; var i,j,g:integer; a,b:m; procedure fwrite(a:m; s:string); var f:text; begin assign(f,s); rewrite(f); for i:=1 to n do begin for j:=1 to 10 do writeln(f,a[i,j]); end; close(f); end; function fread(s:string; var a:m):boolean; var f:text; st:string; er:integer; begin fread:=true; assign(f,s); reset(f); for i:=1 to n do begin for j:=1 to 10 do begin readln(f,st); val(st,a[i,j],er); if er<>0 then fread:=false; end; end; close(f); end; begin clrscr; for i:=1 to n do begin for j:=1 to 10 do begin write('Введите M[',i,',',j,'] '); readln(a[i,j]); end; end; fwrite(a,'c:\out.dat'); if not(fread('c:\out.dat',a)) then writeln('Ошибка чтения данных'); writeln('Массив до преобразования:'); for i:=1 to n do begin for j:=1 to 10 do write(a[i,j]:4); writeln; end; for i:=1 to n do begin g:=0; for j:=1 to 10 do begin if a[i,j]<0 then begin g:=g+1; b[i,g]:=a[i,j]; end; end; for j:=1 to 10 do begin if a[i,j]>=0 then begin g:=g+1; b[i,g]:=a[i,j]; end; end; end; writeln('Массив после преобразования:'); for i:=1 to n do begin for j:=1 to 10 do write(b[i,j]:4); writeln; end; fwrite(b,'c:\out_2.dat'); readln; end. -------------------- Век живи, век учи С © by Jahnerus
|
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 18:19 |