Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.03.2012, 13:21   #1
Akcentbek
Пользователь
 
Регистрация: 19.01.2012
Сообщений: 38
По умолчанию паскаль матрица фаил

вопрос описан в коде



Код:


uses crt;
 var
  soz:integer;
  fn:string;
  f:file of integer;
  i,j,i1,ns1,ns2,c:integer;
  el,max:integer;
  mas:array[1..255,1..255] of integer;

 procedure eq;
  begin
    (* ïðîâåðêà äóðàêà - ââîä ðàçìåðíîñòåé ìàòðèöû *)

   while not (ioresult=0) or (ns1<=0)  do
    begin
     write('Enter quantity of lines - ââåäèòå êîëè÷åñòâî ñòðîê: ');
      {$I-}
        readln(ns1);
      {$I+}
    end;
   while not (ioresult=0) or (ns2<=0)  do
    begin
     write('Enter quantity of columns - ââåäèòå êîëè÷åñòâî ñòîëáöîâ: ');
      {$I-}
        readln(ns2);   ; if not (ioresult=0) or (ns1<=0)  then clrscr;
      {$I+}
    end;

  end;


 procedure createtable(ns1,ns2:integer);
  var
   i,j:integer;
  begin
   writeln;

  	     	writeln('   1|To enter from the keyboard - ñ êëàâèàòóðû');
		writeln('   2|In a random way            - ñëó÷àèíî');
		writeln('   3|From a file                - èç ôàèëà ');
       	 readln(c);
   case c of
    1:begin
     	     clrscr;

          for i:=1 to ns1 do
           begin
             for j:=1 to ns2 do
               begin
                 write('mas[',i,',',j,'] = ');
                  readln(mas[i,j]);
               end;
           end;
               soz:=1;
	    end;
    2:begin
       for i:=1 to ns1 do
        begin for j:=1 TO ns2 do
         mas[i,j]:=random(10);
        end;
         writeln;
         writeln('          The table is created! - Òàáëèöà ñîçäàíà ! ');  soz:=1;
         readln; clrscr;
            end;
    3:begin

     (* здесь нужно сперва создать фаил  в котрую будет записана матрица с введенными ранее размерами  матрицы и после   *)

   (* теперь считывание матрицы  *)

{}  end;

     for i:=1 to ns1 do begin for j:=1 TO ns2 do mas[i,j]:=random(10); end;
	  readln;
  end;

    (* ïîêàç *)
 procedure showtable;
  var
   i,j:integer;

  begin
  writeln; writeln;
   for i:=1 to ns1 do
    begin for j:=1 to ns2 do
      write('    ',mas[i,j]:2); writeln; writeln;
    end;                write;
  end;


 function yes(el: integer): integer;
  var
   i, j: integer;

     begin
       yes := 0;
        for j := 1 to ns2 do
          begin
            i := 1;
             while (i <= ns1) and (mas[i, j] <> el)   do
              inc(i);
               if i <= ns1 then
              inc(yes);
          end;
     end;

  procedure  task(i1:integer);
   var
    max,j1,j2,i2:integer;

   begin
    max:=0;
     for j1:=1 to ns2 do
      if yes(mas[i1,j1]) >=  max then
       begin
        i2:=i1; j2:=j1;
          max:=yes(mas[i1,j1]);
       end;
      writeln;
     writeln('   Ýëåìåíò ' ,mas[i2,j2],' ñîäåðæèòñÿ â ',max,'- ñòîëáöàõ');


   end;


  begin
      clrscr;
  randomize;
 {}{}
 repeat
  textcolor(white);
  writeln;
  writeln('  1|To carry out the task   -  âûïîëíèòü çàäàíèå');
  writeln('  2|To create the table     - ñîçäàòü òàáëèöó ');
  writeln('  3|To show the table       - ïîêàçàòü òàáëèöó ');
  writeln('  4|Exit                    - ïîêèíóòü ïðèëîæåíèå ');
  writeln('``Choose the wished  - âûáåðèòå æåëàåìîå``');
   repeat
      {$I-}
       readln(c);
      {$I+}    clrscr;
   until (ioresult=0) or (c<=0);

{} case c of

  1: BEGIN

    ns1:=-1; ns2:=-1;

    (* *)
     eq;
       clrscr;
    (* ñîçäàíèå ìàòðèöû èñïîëüçóÿ ââåäåíûê ïðàâèëüíûå äàííûå *)
       writeln;
       writeln('  Êîëè÷åñòâî ñòðîê -    ',ns1);
       writeln('  Êîëè÷åñòâî ñòîëáöîâ - ',ns2);
       writeln;
      createtable(ns1,ns2);

    (* ïîêàç ñîçäàííîé òàáëèöû *)
      showtable;

    (* ïðîâåðêà äóðàêà - ââîä íîìåðà ñòðîêè *)

	   while not (ioresult=0) or (i1<=0) or (i1>ns1)  do
          begin
	   write('Enter a line number of the matrix - ââåäèòå íîìåð ëèíèé: ');
            {$I-}
              readln(i1);
            {$I+}
          end;

           writeln;
   (* âûïîëíåíèå îñíîâíîãî çàäàíèÿ èñïîëüçóÿ ââåäåíûå äàííûå *)
	 task(i1);
         readln; clrscr;
         ns1:=-1; ns2:=-1; soz:=0; i1:=-1;
    END;



   2:begin
    ns1:=-1; ns2:=-1;
      (*  *)
      eq;

      (*  *)

       createtable(ns1,ns2);

     end;

   3:begin
     (* ïðâåðêà - çàäàíû ëè ðàçìåðû ? *)
     if (soz=1) or (ns1<0) or (ns2<0) then
       begin
           gotoxy(25,11);
           textcolor(9);

         showtable;

       end
         else writeln('The table isn`t created! - Ðàçìåðû íå çàäàíû! ');
         textcolor(white);
        readln; clrscr;
       end;

   4: begin
        clrscr;
        gotoxy(25,11);
           textcolor(9);
	   writeln('  G o o d  - Äî');
         gotoxy(25,12);
	   textcolor(13);
	   writeln('   B a y!  - âñòðå÷è !');
         delay(1000);
       end;
  end;{}

 until(c=4);{}{}

  end.
Akcentbek вне форума Ответить с цитированием
Старый 02.03.2012, 01:11   #2
Leshii
Форумчанин
 
Регистрация: 26.07.2011
Сообщений: 376
По умолчанию

Цитата:
(* здесь нужно сперва создать фаил в котрую будет записана матрица с введенными ранее размерами матрицы и после *)
(* теперь считывание матрицы *)
Ну это вполне можно прочитать в любом учебнике ( или же самоучителе по программированию ), как осуществить вами написанное. Поверьте это не так сложно.

Остальные комментарии, полная абракадабра ...
Люблю на ты.Я человек простой
Leshii вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль. Матрица NxN -> текстовый файл -> Матрица NxN - найти max по диагоналям -> типизированный файл Лунатик13 Помощь студентам 1 20.02.2012 15:54
паскаль.последовательность.тип фаил. Akcentbek Помощь студентам 0 08.02.2012 10:33
матрица(си++, паскаль) ErnarUIB Помощь студентам 0 01.12.2011 16:32
матрица, и вывод из\в фаил mego4el Помощь студентам 9 14.12.2010 22:11
паскаль фаил! nolx Помощь студентам 1 31.05.2010 16:40