
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.220] |
![]() |
|
Сообщ.
#1
,
|
|
|
![]() ![]() Program zad9; user Crt; Var F_in,F_out:Text; Matr : Array[1..50,1..40] of integer; Sum : Integer; str,stl : byte; i,j : byte; begin clrscr Assign(F_in,'Matr.txt'); Reset(F_in); str:=0; stl:=0; i:=0; begin inc(j); Read(F_in,Matr[i,j]); end; Readln(F_in); stl:=j; end; str:=i; Writeln('Число строк=','str,'Число столбцов=',stl); Assign(F_out,'Sum.txt'); Rewrite(F_out); For i:=1 To str Do begin Som:=0; For j:=1 To stl Do Sum:=Sum+Matr[i,j]; Write(F_out,Sum:6); Writeln('В строке 'i'сумма=',Sum); end; Close(F_in); Close(F_out); readln(); End. Теги... |
![]() |
Сообщ.
#2
,
|
|
Издержки метода Copy+Paste... У тебя во-первых, UseR вместо UseS, во вторых пропущена точка с запятой, а в третьих, явно заголовок какого-то цикла, в котором ты увеличиваешь J и читаешь элемент Matr[i,j] пропущен.
Отформатируй программу как положено, "лесенкой", и увидишь, что Begin-ов меньше, чем End-ов... Исправляй... |
Сообщ.
#3
,
|
|
|
Похоже пропущено 2 цикла, плюс куча опечаток
Вот код без опечаток: ![]() ![]() Program zad9; uses Crt; Var F_in,F_out:Text; Matr : Array[1..50,1..40] of integer; Sum : Integer; str,stl : byte; i,j : byte; begin clrscr; Assign(F_in,'Matr.txt'); Reset(F_in); str:=0; stl:=0; i:=0; {Тут наверно пропущен цикл} begin {И еще один цикл} begin inc(j); Read(F_in,Matr[i,j]); end; Readln(F_in); stl:=j; end; str:=i; Writeln('Число строк=',str,'Число столбцов=',stl); Assign(F_out,'Sum.txt'); Rewrite(F_out); For i:=1 To str Do begin Sum:=0; For j:=1 To stl Do Sum:=Sum+Matr[i,j]; Write(F_out,Sum:6); Writeln('В строке ',i,'сумма=',Sum); end; Close(F_in); Close(F_out); readln(); End. |
![]() |
Сообщ.
#4
,
|
|
Цитата Daiver @ И что делает этот код?Вот код без опечаток: Цитата Daiver @ {Тут наверно пропущен цикл} Цитата Daiver @ , в результате код яйца выеденного не стоит... {И еще один цикл} |
Сообщ.
#5
,
|
|
|
Просто код из первого поста без опечаток
|
Сообщ.
#6
,
|
|
|
Program zad9;
uses Crt; Var F_in,F_out:Text; Matr : Array[1..50,1..40] of integer; Sum : Integer; str,stl : byte; i,j : byte; begin Assign(F_in,'Matr.txt'); Reset(F_in); str:=0; stl:=0; i:=0; While Not Eof(F_in) Do begin inc(i); j:=0; While Not Eoln(F_in) Do begin inc(j); Read(F_in,Matr[i,j]); end; Readln(F_in); stl:=j; end; str:=i; Writeln('Число строк=',str,'1=',stl); Assign(F_out,'Sum.txt'); Rewrite(F_out); For i:=1 To str Do begin Sum:=0; For j:=1 To stl Do Sum:=Sum+Matr[i,j]; {Суммирует элементы строк} Write(F_out,Sum:6); Writeln('В строке i сумма=',Sum); end; Close(F_in); Close(F_out); End. Добавлено Вот вроде без ошибок, но пытаюсь транспонировать матрицу, вместо суммы столбцов, и не могу ![]() |
Сообщ.
#7
,
|
|
|
Цитата SHeLLin @ Вот вроде без ошибок, но пытаюсь транспонировать матрицу, вместо суммы столбцов, и не могу Цитата SHeLLin @ For i:=1 To str Do begin Sum:=0; For j:=1 To stl Do Sum:=Sum+Matr[i,j]; {Суммирует элементы строк} Write(F_out,Sum:6); Writeln('В строке i сумма=',Sum); end; Этот код как раз и считает сумму столбцов, Транспонировать-в смысле поменять местами строки и столбцы? |
Сообщ.
#8
,
|
|
|
переписывай процедуру вывода, от строк rewrite(f_out); до close(f_in);
Подсказка: Чтобы вывести матрицу в транспонированном виде, нужно во внешнем цикле проходить по столбцам, а во внутреннем - по строкам. |
![]() |
Сообщ.
#9
,
|
|
SHeLLin, ты кнопку видишь, на которой написано CODE=pas? Нажимать ее не пробовал? Или по-твоему, приводить код к нормальному виду, чтобы его можно было хотя бы читать, должен кто-то другой? Исправляй, в конце концов, сам. Первый раз я за тебя поправил, ты, как видно, внимания не обратил...
И вообще, перестань переливать из пустого в порожнее. Где задание? Делаешь что-то, а что - фиг знает. И зачем тоже непонятно... Добавлено Цитата Daiver @ Ничего подобного. Считает он построчно суммы, ничего более... Этот код как раз и считает сумму столбцов, |
Сообщ.
#10
,
|
|
|
Цитата volvo877 @ Цитата (Daiver @ Сегодня, 15:41) Этот код как раз и считает сумму столбцов, Ничего подобного. Считает он построчно суммы, ничего более... Ошибся... Ничего более ![]() Добавлено ![]() ![]() for j:=1 to stl do begin for i:=1 to str do write (F_out,matr[i,j],' '); writeln(F_out); end; Попробуй так |
Сообщ.
#11
,
|
|
|
volvo877 Мне нужно из матрицы, которая будет в файле matr, сделать транспонированную, и записать в файл
|
Сообщ.
#12
,
|
|
|
SHeLLin
Твой код только считает суммы элементов строк, Попробуй этот код: ![]() ![]() Program zad9; Var F_in,F_out:Text; Matr : Array[1..50,1..40] of integer; Sum : Integer; str,stl : byte; i,j : byte; begin Assign(F_in,'Matr.txt'); Reset(F_in); str:=0; stl:=0; i:=0; While Not Eof(F_in) Do begin inc(i); j:=0; While Not Eoln(F_in) Do begin inc(j); Read(F_in,Matr[i,j]); end; Readln(F_in); stl:=j; end; str:=i; Assign(F_out,'Sum.txt'); Rewrite(F_out); for j:=1 to stl do begin for i:=1 to str do write (F_out,matr[i,j],' '); writeln(F_out); end; Close(F_in); Close(F_out); End. |
Сообщ.
#13
,
|
|
|
Большое спасибо всем за помощь!!!!!!!
![]() Добавлено ![]() |