Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 09.12.2013
Сообщений: 8
1

Ошибка программы с диагональной матрицей и множеством функций

27.02.2014, 23:44. Показов 458. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите запустить программу:

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
program DiagonalMatrix;
const
  nmax = 20;
type
arr=array of array of integer;
procedure printout (s: arr);
  var
  a: array[1..nmax, 1..nmax] of integer;
  b: array[1..nmax*nmax] of integer;
  n,i,j,t,x,k,k1: integer;
  found: boolean;
  begin
   for i:= 0 to high(s) do
    begin
          for j:= 0 to high(s[i]) do
          begin
            Write(s[i,j]);
            Write(' ');
    end;
    Writeln();
  end;
  end;
 
Function g:arr;
  var
    d,i,j: integer;
    s: arr;
  begin
    Writeln('d:');
    Readln(d);
    SetLength(s, d);
  for i:= 0 to d-1 do
  begin
    SetLength(s[i], d);
    for j:= 0 to d-1 do
          begin
    if j=i then
        begin
            s[i,j]:=random(76)-30;
      write(s[i,j]:4);
        end
        else begin
            s[i,j]:=0;
        end;
    writeln;
    end;
      g:=s;
      end;
  begin
  printout(g);
  readln;     
    end;
    writeln('Vector:');
  for i:=1 to n do
    for j:=1 to n do
    begin
      b[(i-1)*n+j]:=a[i,j];
      write(b[(i-1)*n+j],' ');
    end;
  writeln;
  found:=false;
  write('Please enter the name of element for linear search: ');
  readln(x);
  for i:=1 to n*n do
    if b[i]=x then begin
       found:=true;
       k:=i;
    end;
  if found then writeln('The founded element on the ',k,' position')
    else writeln('This matrix does not have this element');
    writeln;
  for i:=2 to n*n do
    for j:=n*n downto i do
      if b[j]<b[j-1] then
      begin
        t:=b[j];
        b[j]:=b[j-1];
        b[j-1]:=t;
        inc(k1);
      end;
     writeln;
  writeln('Linear Search Algorithm: count of comparisons = ',k);
  writeln('                         count of swaps = ',k1);
 readln;
  writeln('Sorted Vector:');
  for i:=1 to n*n do write(b[i]:4);
  readln;
end;
end.
ЗАРАНЕЕ СПАСИБО
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.02.2014, 23:44
Ответы с готовыми решениями:

Делаю программу наподобие Explorer (но с множеством новых функций)
Здравствуйте, я делаю программу, которая указана в названии темы. Мне нужно сделать так, чтобы...

Привести пример булевой функции, заданной формулой над множеством монотонно невозрастающих функций
Назовем булеву функцию f монотонно невозрастающей, если для любых наборов a и b значений...

Построить биекцию между множеством N и множеством чётных чисел
Друзья, нужна помощь в построении биекции, как это сделать? :scratch:

Ошибка выполнения программы при использовании функций
Все привет, друзья! Имеется задача: Последовательность {Ai}i-1 образована по правилу Ai=1/i. ...

1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32835 / 21172 / 8148
Регистрация: 22.10.2011
Сообщений: 36,431
Записей в блоге: 8
28.02.2014, 01:26 2
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
program DiagonalMatrix;
 
const
  nmax = 20;
 
type
  arr = array of array of integer;
 
var
  n, i, j, t, x, k, k1: integer;
  found: boolean;
 
procedure printout(s: arr);
var
  i, j: integer;
begin
  for i := 0 to high(s) do
  begin
    for j := 0 to high(s[i]) do
    begin
      Write(s[i, j]);
      Write(' ');
    end;
    Writeln();
  end;
end;
 
function g: arr;
var
  i, j: integer;
  s: arr;
begin
  Write('size: '); Readln(n);
  SetLength(s, n);
  for i := 0 to n - 1 do
  begin
    SetLength(s[i], n);
    for j := 0 to n - 1 do
    begin
      if j = i then
        s[i, j] := random(76) - 30
      else 
        s[i, j] := 0;
    end;
    g := s;
  end;
end;
 
var 
  a : arr;
  b : array of integer;
 
begin
  a := g();
  printout(a);
  readln;     
  writeln('Vector:');
  setlength(b, sqr(n));
  for i := 0 to pred(n) do
    for j := 0 to pred(n) do
    begin
      b[i * n + j] := a[i, j];
      write(b[i * n + j]:4);
    end;
  writeln;
  found := false;
  write('Please enter the name of element for linear search: ');
  readln(x);
  for i := 0 to pred(sqr(n)) do
    if b[i] = x then begin
      found := true;
      k := i;
    end;
  if found then writeln('The founded element on the ', k, ' position')
  else writeln('This matrix does not have this element');
  writeln;
  for i := 0 to pred(sqr(n)) do
    for j := pred(sqr(n)) downto i + 1 do
      if b[j] < b[j - 1] then
      begin
        t := b[j];
        b[j] := b[j - 1];
        b[j - 1] := t;
        inc(k1);
      end;
  writeln;
  writeln('Linear Search Algorithm: count of comparisons = ', k);
  writeln('                         count of swaps = ', k1);
  readln;
  writeln('Sorted Vector:');
  for i := 0 to Pred(sqr(n)) do write(b[i]:4);
  readln;
end.
Компилируется и даже запускается. Это нужно было?
1
28.02.2014, 01:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.02.2014, 01:26
Помогаю со студенческими работами здесь

Блок схема программы работы с матрицей
Помогите с блок-схемой задачи на t.pascal. program name; uses crt; var i,j,s,k:integer;...

Ошибка при работе с матрицей
Всем доброго времени суток, делаю контрольную в Маткаде и нужно вычислить сумму всех элементов...

В чем ошибка? При запуске программы открывается консоль и сразу ошибка о завершении программы
К тому же выдает warning: deprecated conversion from string constant to 'char*' . #include...

Ошибка при тестировании кода с матрицей
У меня появилась проблема при тестировании кода #include &quot;stdafx.h&quot; #include &lt;iostream&gt; using...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru