На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Название темы должно быть информативным !
Прежде чем задать вопрос, воспользуйтесь Поиском. и проверьте в FAQ (ЧАВО) Паскаля
Чтобы получить вразумительный ответ, подробно опишите проблему: что надо сделать, что не получается и номер ошибки (если есть), которую выводит компилятор.
Для вставки кода ваших программ используйте, пожалуйста, кнопку СODE=pas или выпадающий список СODE для других языков (подсветка синтаксиса).
[!] Как правильно задавать вопросы | Руководство по языку B.Pascal 7 & Objects/LR | Borland Pascal. Руководство пользователя
Модераторы: volvo877
  
> Выдает ошибку error 36: begin expected" Хотя программа вроде верно составлена
    ExpandedWrap disabled
      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.


    Теги...
    Сообщение отредактировано: volvo877 -
      Издержки метода Copy+Paste... У тебя во-первых, UseR вместо UseS, во вторых пропущена точка с запятой, а в третьих, явно заголовок какого-то цикла, в котором ты увеличиваешь J и читаешь элемент Matr[i,j] пропущен.

      Отформатируй программу как положено, "лесенкой", и увидишь, что Begin-ов меньше, чем End-ов... Исправляй...
        Похоже пропущено 2 цикла, плюс куча опечаток

        Вот код без опечаток:

        ExpandedWrap disabled
          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.
          Цитата Daiver @
          Вот код без опечаток:
          И что делает этот код?

          Цитата Daiver @
          {Тут наверно пропущен цикл}

          Цитата Daiver @
          {И еще один цикл}
          , в результате код яйца выеденного не стоит...
            Просто код из первого поста без опечаток
              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.

              Добавлено
              Вот вроде без ошибок, но пытаюсь транспонировать матрицу, вместо суммы столбцов, и не могу :'(
                Цитата 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;


                Этот код как раз и считает сумму столбцов,

                Транспонировать-в смысле поменять местами строки и столбцы?
                  переписывай процедуру вывода, от строк rewrite(f_out); до close(f_in);
                  Подсказка: Чтобы вывести матрицу в транспонированном виде, нужно во внешнем цикле проходить по столбцам, а во внутреннем - по строкам.
                    SHeLLin, ты кнопку видишь, на которой написано CODE=pas? Нажимать ее не пробовал? Или по-твоему, приводить код к нормальному виду, чтобы его можно было хотя бы читать, должен кто-то другой? Исправляй, в конце концов, сам. Первый раз я за тебя поправил, ты, как видно, внимания не обратил...

                    И вообще, перестань переливать из пустого в порожнее. Где задание? Делаешь что-то, а что - фиг знает. И зачем тоже непонятно...

                    Добавлено
                    Цитата Daiver @
                    Этот код как раз и считает сумму столбцов,
                    Ничего подобного. Считает он построчно суммы, ничего более...
                      Цитата volvo877 @
                      Цитата (Daiver @ Сегодня, 15:41)
                      Этот код как раз и считает сумму столбцов,
                      Ничего подобного. Считает он построчно суммы, ничего более...


                      Ошибся... Ничего более :D

                      Добавлено
                      ExpandedWrap disabled
                           for j:=1 to stl do
                             begin
                               for i:=1 to str do
                                       write (F_out,matr[i,j],' ');
                               writeln(F_out);
                             end;


                      Попробуй так
                        volvo877 Мне нужно из матрицы, которая будет в файле matr, сделать транспонированную, и записать в файл
                          SHeLLin

                          Твой код только считает суммы элементов строк,
                          Попробуй этот код:

                          ExpandedWrap disabled
                            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.
                            Большое спасибо всем за помощь!!!!!!! :)

                            Добавлено
                            :D
                            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                            0 пользователей:


                            Рейтинг@Mail.ru
                            [ Script execution time: 0,5033 ]   [ 15 queries used ]   [ Generated: 29.07.25, 01:25 GMT ]