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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.01.2009, 11:11   #1
AlexGur
 
Регистрация: 26.01.2009
Сообщений: 6
По умолчанию help задача pascal двум массив

Прямоугольную матрицу B(k*m) переписать в одномерный массив по столбцам.


при решении задачи должны использоваться процедуры и функции
AlexGur вне форума Ответить с цитированием
Старый 26.01.2009, 11:37   #2
Disel
Форумчанин
 
Аватар для Disel
 
Регистрация: 08.01.2009
Сообщений: 180
По умолчанию

Код:
Program Massiv;
Uses crt;
Type mas = array [1..100,1..100] of integer;
     mas1 = array [1..100] of integer;

Var B:mas; a:mas1; n,m:integer;


Procedure vvod(var B:mas);
 var i,j:integer;
  Begin
   write('Enter N: ');
    readln(n);
   write('Enter M: ');
    readln(m);

     for i:=1 to n do
      for j:=1 to m do
       b[i,j]:= random(100);
  End;


Procedure vivod (var B:mas);
 var i,j:integer;
  Begin
   writeln('Vivod');
    For i:=1 to n do
     begin
      for j:=1 to m do
       write(b[i,j]:5);
       writeln;
     end;
  end;


Procedure korr (var B:mas);
 var i,j,k:integer;
  Begin
   k:=0;
   for j:=1 to m do
    for i:=1 to n do
    begin
      k:=k+1;
      a[k]:=b[i,j];
    end;
  writeln;

   for k:=1 to m*n do
    write(a[k]:4);
  end;

BEGIN
 clrscr;
  vvod(b);
  vivod(b);
  korr(b);

 ReadKey;
END.
Вот мой вариант, пробуй.
"Все что натыкано на клаве, ведет тебя к погибели иль славе"
Если помог нажми на весы
Disel вне форума Ответить с цитированием
Старый 26.01.2009, 11:48   #3
knight
Дон Кихот
Форумчанин
 
Аватар для knight
 
Регистрация: 17.01.2008
Сообщений: 130
По умолчанию

Консольный вариант для Delphi
Код:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;


var B: array [1..100, 1..100] of integer;
    A: array [1..10000 ] of integer;
    k, m, i, j, s, er: integer;
    ts: string;

procedure SetRnd();
begin
 for i := 1 to k do
    for j := 1 to m do
        B[i, j] := random(99);
end;

procedure ShowRnd();
begin
 for i := 1 to k do
 begin
    for j := 1 to m do
        begin
        write(B[i, j]);
        write(' ');
        end;

    writeln;
 end;
end;

procedure SaveRnd();
begin
 s := 1;
 for i := 1 to k do
    for j := 1 to m do
      begin
        A[s] := B[j, i];
        s := s + 1;
      end;

end;

begin
  { TODO -oUser -cConsole Main : Insert code here }

  k := 4;
  m := 4;

  SetRnd();
  ShowRnd();

SaveRnd();

 str(s, ts);

 writeln('Long massive=' + ts);

 for i:= 1 to s-1 do
  begin
   write( A[i]);
   write(' ');
   end;

readln;


end.
knight вне форума Ответить с цитированием
Старый 26.01.2009, 12:27   #4
capta1n
Форумчанин
 
Аватар для capta1n
 
Регистрация: 06.12.2008
Сообщений: 613
По умолчанию

Код:
program capta1n;
const
 k=3;
 m=4;
type
 dataitem1 = array [1..k,1..m] of integer;
 dataitem2 = array [1..k*m] of integer;
var
 a : dataitem1;
 b : dataitem2;

 procedure massiv ( var item : dataitem1 );
 var
  i,j : byte;
 begin

   writeln ('Vash massiv: ');
   randomize;
   for i:=1 to k do
   begin
     for j:=1 to m do
     begin
       item[i,j]:=random(10);
       write (item[i,j],'|')
     end;
     writeln
   end;

 end;

 procedure transform ( var item1 : dataitem1; var item2 : dataitem2; k1,m1 : byte );
 var
  g,i,j : byte;
 begin
   g:=0;
   for i:=1 to m1 do
    for j:=1 to k1 do
    begin
      inc(g);
      item2[g]:=item1[j,i]
    end;
 end;

 procedure maswrite ( item : array of integer );
 var
  i1 : byte;
 begin
   for i1:=low(item) to high(item) do write (item[i1],'|');
 end;

begin

  massiv (a);
  transform (a,b,k,m);
  maswrite (b);

  readln;

end.
capta1n вне форума Ответить с цитированием
Старый 26.01.2009, 13:37   #5
AlexGur
 
Регистрация: 26.01.2009
Сообщений: 6
По умолчанию

ПАСИБ всем за помощь, УДАЧИ!!!
AlexGur вне форума Ответить с цитированием
Старый 17.04.2010, 23:02   #6
ICE_LADY
Пользователь
 
Регистрация: 17.04.2010
Сообщений: 23
Смущение простите ннеграмотную)))

Ребят....поражаюсь ващим способностям!!!!! Позвольте мне, глупой блондинке задать вопрос...в решении вот этой задачки тупо вставлять то, что вы здесь написали....или эти операции нужно проводить в какой-нить программке....будьте любезны
ICE_LADY вне форума Ответить с цитированием
Старый 17.04.2010, 23:07   #7
ROMA2PVT
ТАМБОВСКИЙ ВОЛК.
Участник клуба
 
Аватар для ROMA2PVT
 
Регистрация: 16.03.2010
Сообщений: 1,354
По умолчанию

Хех!Гляньте на дату поста. Думаю вряд ли они ответят.Просто вставляешь код в *.txt файл переменовываешь расширение в *.pas и открываешь в Turbo Pasсal.Либо если у вас Pascal ABC то прям в него вставляете исходник и всё.
にんじゃ

Последний раз редактировалось ROMA2PVT; 18.04.2010 в 00:21.
ROMA2PVT вне форума Ответить с цитированием
Старый 17.04.2010, 23:17   #8
ICE_LADY
Пользователь
 
Регистрация: 17.04.2010
Сообщений: 23
Счастье

Пардон)))я когда увидела, что этой же ерундой ещё кто-то страдает, была рада настолько, что какая там дата)))) а всё это вообще с какой целью делается...и где взять паскаля????

Каждая контрольная работа должна содержать..... детальное описание алгоритма работы с расшифровкой смысла и назначения всех переменных, используемых в программе. Затем следует текст программы. В конце работы нужно привести результаты выполнения программы в той форме, в которой они выводятся на экран (для просчитанного контрольного примера или варианта данных).
Описание каждой работы выполняется в любом текстовом редакторе (MS Office, Open Office) и хранится в отдельном файле. Дополнительно прилагается исходный файл (исходный код) с расширением pas.
При описании алгоритма можно использовать графическую схему либо структурированное (по пунктам, подпунктам и т.д.) словесное описание алгоритма. Примеры такого описания имеются в учебном пособии.
В программе необходимо предусматривать организацию вывода исходных данных, результатов расчета и основных промежуточных переменных. Программу нужно снабдить подробными комментариями.
Работы выполняются с использованием языка BORLAND PASCAL 7.0.

Последний раз редактировалось Stilet; 20.04.2010 в 12:22.
ICE_LADY вне форума Ответить с цитированием
Старый 17.04.2010, 23:25   #9
ROMA2PVT
ТАМБОВСКИЙ ВОЛК.
Участник клуба
 
Аватар для ROMA2PVT
 
Регистрация: 16.03.2010
Сообщений: 1,354
По умолчанию

Это делается с целью обучения азам программирования в школе,институте и т.д.А паскаль вот например сюда скачать можно http://www.softportal.com/get-10585-...chool-pak.html
Я его юзаю.
にんじゃ
ROMA2PVT вне форума Ответить с цитированием
Старый 17.04.2010, 23:38   #10
ICE_LADY
Пользователь
 
Регистрация: 17.04.2010
Сообщений: 23
По умолчанию

спасибки))))

скачала))))сейчас буду постигать азы программирования....а что насчет графических схем и подробного описания значений и ещё значений переменных???? Ничего, что я тебя мучаю???

Последний раз редактировалось Stilet; 20.04.2010 в 12:22.
ICE_LADY вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
pascal массив Fornarina Помощь студентам 16 27.12.2008 22:48
задача про 2х мерный массив (Turbo Pascal) masil Помощь студентам 4 30.11.2008 15:34
Задача Pascal на массив (нужна помощь) STIG_E70 Помощь студентам 4 18.06.2008 20:19
Отбор по двум полям MPa БД в Delphi 4 06.02.2008 20:14
Массив (Turbo Pascal) Wizzard Помощь студентам 2 20.01.2008 09:59