Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/123: Рейтинг темы: голосов - 123, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 10.11.2010
Сообщений: 8

Вычисление определителя и обратной матрицы

10.11.2010, 17:15. Показов 24864. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите составить программу, пожалуйста.
Программа должна транспонировать, вычислять определитель и обратную матрицы размером 4x4.(на языке pascal).
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.11.2010, 17:15
Ответы с готовыми решениями:

Вычисление определителя матрицы
Как вычислить определитель матрицы при i от 0 до n-1 j от 0 до n-1? uses crt; const l=10; { размерность матрицы } type matr=array...

Вычисление определителя матрицы 4х4 методом разложения по строке
Доброго времени суток. Помогите пожалуйста, нужно решить вот такую задачу с помощью Pascal: "Пользователь задаёт матрицу 4х4....

Вычисление обратной матрицы
Написать функцию или процедуру для вычисления обратной матрицы.

11
15 / 15 / 5
Регистрация: 07.11.2010
Сообщений: 57
10.11.2010, 17:34
alfir93, транспонированая:
Pascal
1
2
3
for i:=1 to 4 do
for j:=1 to 4 do
Trans[i,j]:=Ishodnaia[j,i]
1
0 / 0 / 0
Регистрация: 10.11.2010
Сообщений: 8
10.11.2010, 17:41  [ТС]
Вот программа, которую я сдавал, но преподаватель сказал найти определитель другим способом и не много переделать программу, но я не знаю как...( всем кто поможет, заранее спасибо!))
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
program Proga;
const
  MaxN=4;
type
  mat=array[1..maxN,1..maxN] of Real;
var
  a: mat;
  b: mat;
  l,t: integer;
  determ: real;
  g: real;
function det(a:mat):real;
var
  d: real;
begin
  d:=a[1,1]*(a[2,2]*a[3,3]-a[2,3]*a[3,2]);
  d:=d-a[1,2]*(a[2,1]*a[3,3]-a[2,3]*a[3,1]);
  d:=d+a[1,3]*(a[2,1]*a[3,2]-a[2,2]*a[3,1]);
    det:=d;
end;
function minor(a: mat; size,m,n: integer): real;
var
  b: mat;
  l,t,l2,t2: integer;
begin
for l:=1 to (size-1) do
    for t:=1 to (size-1) do begin
      if l < m then l2:=l
               else l2:=l+1;
      if t < n then t2:=t
               else t2:=t+1;
      b[l,t]:=a[l2,t];
    end;
  g:=(-1)*((m+n)mod 2);
   if g=0 then g:=g+det(b)
    else g:=g*det(b);
  minor:=g;
end;
begin
  writeln('Vvedite Mat');
  for l:=1 to MaxN do begin
    for t:=1 to MaxN do begin
    read(a[l,t]);
    end;
    writeln;
  end;
determ:=a[1,1]*minor(a,4,1,1)+a[1,2]*minor(a,4,1,2)+a[1,3]*minor(a,4,1,3)+a[1,4]*minor(a,4,1,4);
if determ=0 then writeln('Opredelitel=0   Obratnoi Matrici Net')
else begin
  writeln('Opredelitel',determ:0:0);
  writeln('Transponirovanie');
 for l:=1 to MaxN do begin
  for t:=1 to MaxN do
   write(a[t,l]:0:0,' ');
  writeln;
 end;
 writeln('Obratnaya Mat');
  for l:=1 to MaxN do begin
    for t:=1 to MaxN do begin
      b[l,t]:=minor(a,4,t,l)/determ;
      write(b[l,t]:0:2,' ');
    end;
    writeln;
  end;
  readln;
  readln;
  end;
end.
0
15 / 15 / 5
Регистрация: 07.11.2010
Сообщений: 57
10.11.2010, 17:49
alfir93, хм. вот твой определитель для 4х4
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
{Из свойств определителя известно, что определитель матрицы порядка N может быть 
представлен в виде суммы N определителей N-1 порядка (разложение по строке или столбцу).
 Предположим мы раскладываем по первому столбцу. При этом определитель равен сумме 
произведений элементов этого столбца на минор данного элемента матрицы и на -1 в степени 
суммы индексов элемента. Минор элемента а[i,j] матрицы - это определитель матрицы, 
полученной вычеркиванием i-той строки и j-того столбца.}
const n=4; { размерность матрицы }
type matr=array[1..n,1..n] of longint;
var a,b:matr;
   i,j,dt:longint;
procedure PrintMatr(m:matr;n:integer);
{ процедура вывода матрицы на экран }
var i,j:integer;
 begin
 for i:=1 to n do
   begin
   for j:=1 to n do
     write(m[i,j]:3);
   writeln;
   end;
 end;
procedure GetMatr(a:matr; var b:matr; m,i,j:integer);
{ Вычеркивание из матрицы строки и столбца }
var ki,kj,di,dj:integer;
 begin
 di:=0;
 for ki:=1 to m-1 do
   begin
   if (ki=i) then di:=1;
   dj:=0;
   for kj:=1 to m-1 do
     begin
     if (kj=j) then dj:=1;
     b[ki,kj]:=a[ki+di,kj+dj];
     end;
   end;
 end;
Function Determinant(a:matr;n:integer):longint;
{ Вычисление определителя матрицы }
var i,j,d,k:longint;
   b:matr;
 begin
 d:=0; k:=1;
 if (n<1) then
   begin
   writeln('Determinant: Cann''t run. N=',n); halt;
   end;
 if (n=1)
   then d:=a[1,1]
 else if (n=2)
   then d:=a[1,1]*a[2,2]-a[2,1]*a[1,2]
 else { n>2 }
   for i:=1 to n do
     begin
     GetMatr(a,b,n,i,1);
     {writeln('i=',i,' a[',i,',1]=',a[i,1]);
     PrintMatr(b,n-1);}
     d:=d+k*a[i,1]*Determinant(b,n-1);
     k:=-k;
     end;
 Determinant:=d;
 end;
begin
{ Заполнение матрицы случайными числами }
randomize;
for i:=1 to n do
for j:=1 to n do
 a[i,j]:=random(5);
{ Печать исходной матрицы }
PrintMatr(a,n);
{ Вычисление и вывод определителя }
dt:=Determinant(a,n);
writeln('=========');
writeln('Determinant=',dt);
end.
Добавлено через 1 минуту
Обратную нужно ещё делать?
2
0 / 0 / 0
Регистрация: 10.11.2010
Сообщений: 8
10.11.2010, 17:56  [ТС]
Да )
Если сможешь,пожалуйста, сделай чтобы все эти операции( определитель, транспонирование и обратная) были в одной программе, можешь просто изменить мою прогу (которая сверху).
0
15 / 15 / 5
Регистрация: 07.11.2010
Сообщений: 57
10.11.2010, 18:05
alfir93,
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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
uses crt;
const t=0.000001;{ограничиваем числа, близкие к нолю, на них делить}
type Tmatr=array[1..4,1..4]of real;
 
procedure Per(n,k:integer;a:Tmatr;var p:integer);{перестановка строк с макс. главным элементом}
var z:real;
    j,i:integer;
begin
z:=abs(a[k,k]);
i:=k;
p:=0;
for j:=k+1 to n do
  begin
    if abs(a[j,k])>z then
      begin
        z:=abs(a[j,k]);
        i:=j;
        p:=p+1;
      end;
  end;
if i>k then
for j:=k to n do
   begin
     z:=a[i,j];
     a[i,j]:=a[k,j];
     a[k,j]:=z;
   end;
end;
function znak(p:integer):integer;{изменение знака при перестановке строк матрицы}
begin
if p mod 2=0 then
znak:=1 else znak:=-1;
end;
function znak1(i,m:integer):integer;{изменение знака при перестановке строк при нахождении дополнений}
begin
if (i+m) mod 2=0 then
znak1:=1 else znak1:=-1;
end;
procedure opr(n,p:integer;a:Tmatr;var det:real;var f:byte);{нахождение определителя матрицы}
var k,i,j:integer;
    r:real;
begin
det:=1.0;f:=0;
for k:=1 to n do
   begin
     if a[k,k]=0 then per(k,n,a,p);
     det:=znak(p)*det*a[k,k];
     if abs(det)<t then
      begin
       f:=1;
       writeln('Обратной матрицы нет!');
       readln;
       exit;
      end;
     for j:=k+1 to n do
        begin
         r:=a[j,k]/a[k,k];
         for i:=k to n do
         a[j,i]:=a[j,i]-r*a[k,i];
        end;
   end;
end;
procedure opr1(n,p:integer;d:Tmatr;var det1:real);{нахождение определений для дополнений}
var k,i,j:integer;
    r:real;
begin
det1:=1.0;
for k:=2 to n do
   begin
     if d[k,k]=0 then per(n,k,d,p);
     det1:=znak(p)*det1*d[k,k];
     for j:=k+1 to n do
       begin
         r:=d[j,k]/d[k,k];
         for i:=k to n do
         d[j,i]:=d[j,i]-r*d[k,i];
       end;
   end;
end;
Procedure Peresch(n,p:integer;var b:Tmatr;det1:real;var e:Tmatr);{вычисление дополнений}
var i,m,k,j:integer;
    z:real;
    d,c:Tmatr;
begin
for i:=1 to n do
for m:=1 to n do
   begin
     for j:= 1 to n do {перестановка строк}
       begin
         z:=b[i,j];
         for k:=i downto 2 do
         d[k,j]:=b[k-1,j];
         for k:=i+1 to n do
         d[k,j]:=b[k,j];
         d[1,j]:=z;
       end;
     for k:=1 to n do {перестановка столбцов}
       begin
         z:=d[k,m];
         for j:=m downto 2 do
         c[k,j]:=d[k,j-1];
         for j:=m+1 to n do
         c[k,j]:=d[k,j];
         c[k,1]:=z;
       end;
     Opr1(n,p,c,det1);{вычисление определителей}
     e[i,m]:=det1*znak1(i,m);{вычисление дополнений}
   end;
end;
procedure Transp(a:Tmatr; n:integer;var at:Tmatr);{транспонирование матрицы}
var k,j:integer;
begin
for k:= 1 to n do
for j:=1 to n do
at[k,j]:=a[j,k];
end;
Procedure Proverka(a,b:Tmatr; n:integer;var c:Tmatr);{проверка - умножение прямой матрицы на обратную}
var k,j,i:integer;
    z:double;
begin
for k:=1 to n do
for j:=1 to n do
  begin
    c[k,j]:=0;
    for i:=1 to n do
      begin
        z:=a[i,j]*b[k,i];
        c[k,j]:=c[k,j]+z;
      end;
   end;
end;
procedure Vyvod(var a:Tmatr; n:integer);{вывод матриц на экран}
var k,j:integer;
begin
for k:=1 to n do
  begin
    for j:=1 to n do
    write(a[k,j]:7:2);
    writeln;
  end;
end;
var n,k,j,i,p:integer;{n-размер матрицы,k-счетчик по строкам,j-счетчик по столбцам,p-счетчик перестановок}
    a,at,b,c,e:Tmatr;{a-исходная, at-транспонированная, b-матрица дополнений, e-обратная, с-проверка}
    det,det1:real;{det-определитель исходной матрицы,det1-определители-дополнения}
    f:byte;{признак несуществования обратной матрицы}
begin
clrscr;
n:=4;
for k:=1 to n do
for j:=1 to n do
   begin
    write('a[',k,',',j,']=');
    readln(a[k,j]);
   end;
clrscr;
writeln('Исходная матрица:');
Vyvod(a,n);
Opr(n,p,a,det,f); {vychislenie opredelitelja}{считаем определитель}
if f=1 then exit;
Transp(a,n,b);  {транспонируем матрицу}
Peresch(n,p,b,det1,e);  {считаем дополнения}
writeln('Obratnaja matrica:');
for k:=1 to n do
for j:=1 to n do
e[k,j]:=e[k,j]/det; {создаем обратную матрицу}
Vyvod(e,n);
writeln('Proverka:');
Proverka(a,e,n,c);  {делаем проверку}
Vyvod(c,n);
readln
end.
Спасибо?

Добавлено через 2 минуты
Твою прогу менять не буду - ибо без форматирования кода вообще программы не воспринимаю
1
0 / 0 / 0
Регистрация: 10.11.2010
Сообщений: 8
10.11.2010, 18:25  [ТС]
прога не работает, только(
Цитата Сообщение от xNum3n Посмотреть сообщение
begin c[k,j]:=0; for i:=1 to n do begin z:=a[i,j]*b[k,i]; c[k,j]:=c[k,j]+z;
ошибка: Must be in 8087 mode to compile this
0
15 / 15 / 5
Регистрация: 07.11.2010
Сообщений: 57
10.11.2010, 18:32
alfir93, перевести ошибку на русский не вышло? Включигенерацию команд математическому сопроцессору (поставить галочку в Options->Compiler->Numeric Processing->8087/80287).
2
0 / 0 / 0
Регистрация: 10.11.2010
Сообщений: 8
10.11.2010, 18:58  [ТС]
Спасибо, помоги еще сделать, чтобы на экран выводило транспонированную и определитель матрицы, а то выводить только исходную, обратную и проверку.
0
0 / 0 / 0
Регистрация: 03.04.2012
Сообщений: 20
04.04.2012, 00:15
люди, а могли бы вы написать для определителя, обратной, сложение, произведение все вместе написать?
0
0 / 0 / 0
Регистрация: 13.03.2013
Сообщений: 8
13.03.2013, 01:22
Можете пожалуйста объяснить что в этой программе означают "а" и "b". Как я понял - а - матрица от которой находится определитель. А вот b что такое?
0
6 / 6 / 6
Регистрация: 30.04.2012
Сообщений: 216
10.04.2013, 07:57
xNum3n,
Переписал код под свои нужды (убрал проверку и сделал ввод матрицы иначе), но обратная матрица выводится неправильно Когда вводишь матрицу:
1 2
3 4

Выводится:
-0,5 0,5
0,5 -0,5

А должно быть:
-2 1
1.5 -0.5

Что и где я пропустил? Вот код:

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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
program opred;
uses crt;
const c=10;
      t=0.00001; {Ограничиваем числа бликие к нулю}
type Tmatr=array [1..c, 1..c] of real;
 
{Процедура переустановки строк, чтобы главный элемент не оказался 0 или
 близким к 0 значением}
procedure Per(k,n:integer; var a:Tmatr; var p:integer);
var i, j:integer;
       z:real;
begin
   z:=abs(a[k,k]); {После...}
   i:=k; {каждого...}
   p:=0; {преобразования...}
   for j:=k+1 to n do  {ищем по оствшимся строкам...}
     begin
       if abs(a[j,k])>z then {максимальный по модулю элемент}
        begin
          z:=abs(a[j,k]); {Запоминаем...}
          i:=j;  {номер строки}
          p:=p+1; {Считаем кол-во переустановок, т.к. в каждой...}
                  {переустановке меняется знак определителя}
         end;
     end;
   if i>k then  {Если эта строка ниже данной}
   for j:=k to n do
     begin
       z:=a[i,j]; {тогда}
       a[i,j]:=a[k,j]; {делаем}
       a[k,j]:=z; {переустановку}
     end;
end;
 
{Изменение знака при переустановке строк матрицы}
function Znak(p:integer):integer;
 begin
  if p mod 2=0 then {Если четное кол-во переустановок...}
  znak:=1 else znak:=-1; {"+", если нет "-"}
 end;
 
{Изменение знака при переустановке строк при нахождении дополнений}
function Znak1(i,m:integer):integer;
 begin
  if (i+m) mod 2=0 then
  znak1:=1 else znak1:=-1;
 end;
 
{Процедура вычисления определителя матрицы}
procedure opr(n, p:integer; var a:Tmatr; var det:real; var f:byte);
var k, i, j:integer;
    delenie:real;
begin
 det:=1;
 f:=0;
  for k:=1 to n do
   begin
    if a[k,k]=0 then {Если главный элемент = 0,}
       Per(k,n,a,p); {делаем переустановку}
       det:=Znak(p) * det * a[k,k]; {Меняем знак определителя}
     if abs(det)<t then {Если модуль определителя меньше константы...}
      begin
       f:=1;
       writeln ('Обратной матрицы нет!'); {выводим, что обр матрицы нет}
       readln;
       exit;
      end;
    for j:=k+1 to n do  {Ниже делаем преобразования}
     begin
      delenie:=a[j,k]/a[k,k];
       for i:=k to n do
        begin
         a[j,i]:=a[j,i] - delenie * a[k,i];
        end;
     end;
   end;
end;
 
{Процедура вычисления определений для дополнений}
procedure opr1(n, p:integer; d:Tmatr; var det1:real);
var k, i, j:integer;
    delenie:real;
begin
 det1:=1.0;
  for k:=2 to n do
   begin
    if d[k,k]=0 then {Если главный элемент = 0,}
       Per(k,n,d,p); {делаем переустановку}
    for j:=k+1 to n do  {Ниже делаем преобразования}
     begin
      delenie:=d[j,k]/d[k,k];
       for i:=k to n do
        begin
         d[j,i]:=d[j,i] - delenie * d[k,i];
        end;
     end;
   end;
end;
 
{Процедура вычисления дополнений}
procedure Peresch(n,p:integer; var b:Tmatr; det1:real; var e:Tmatr);
var i,m,k,j:integer;
    z:real;
    d,c:Tmatr;
begin
 for i:=1 to n do
 for m:=1 to n do
  begin
   for j:= 1 to n do {Переустановка строк}
    begin
     z:=b[i,j];
      for k:=i downto 2 do
      d[k,j]:=b[k-1,j];
       for k:=i+1 to n do
        d[k,j]:=b[k,j];
        d[1,j]:=z;
    end;
     for k:=1 to n do {Переустановка столбцов}
      begin
       z:=d[k,m];
        for j:=m downto 2 do
         c[k,j]:=d[k,j-1];
          for j:=m+1 to n do
           c[k,j]:=d[k,j];
           c[k,1]:=z;
      end;
     Opr1(n,p,c,det1);{Вычисление определителей}
     e[i,m]:=det1*znak1(i,m);{Вычисление дополнений}
   end;
 end;
 
{Процедура траспонирования матрицы}
procedure Transp(a:Tmatr; n:integer; var at:Tmatr);
 var k,j:integer;
 begin
  for k:=1 to n do
   for j:=1 to n do
   at[k,j]:=a[j,k];
end;
 
{Процедура вывода матрицы на экран}
procedure Vyvod (var a: Tmatr; n:integer);
var k,j:integer;
 begin
  for k:=1 to n do
   begin
    for j:=1 to n do
     write (a[k,j]:5:3,' ':2); {Вывод матрицы с отступами}
     writeln;
   end;
 end;
 
{Основная программа}
var n,k,j,i,p:integer;
    a,at,b,e:Tmatr;
    det,det1:real;
    f:byte;
 
begin
 clrscr;
 writeln('Вычислить определитель матрицы (Только для квадратной матрицы) и обратную матрицу.');
 writeln;
 writeln('Введите кол-во элементов в строке матрицы и нажмите ENTER');
 writeln('(Число элементов в строке будет равно числу элементов в столбце!):');
 readln(n);
 writeln;
 writeln('Вводите коэфф-ты матpицы A по стpокам нажимая ENTER:');
  for i:=1 to n do
   begin
    for j:=1 to n do
        read(a[i,j]);
   end;
  writeln;
 
 writeln('Исходная матрица:');
 Vyvod (a,n);
 writeln;
 
 Opr(n,p,a,det,f); {Вычисление определителя}
 write('Определитель = ',det:2:0, '.');
 writeln;
 
 if f=1 then exit;
 Transp (a,n,b);
 Peresch(n,p,b,det1,e);
 writeln;
 
 writeln('Обратная матрица:');
 for k:=1 to n do
  for j:=1 to n do
   e[k,j]:=e[k,j]/det; {Создаем обратную матрицу}
   Vyvod (e,n);
 writeln;
 
 readkey
 
end.
Добавлено через 13 часов 7 минут
Неужели никто не хочет помочь найти ошибку в коде? Очень надо! Пжста, помогите найти.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.04.2013, 07:57
Помогаю со студенческими работами здесь

Найдите ошибку в программе вычисления определителя матрицы
Программа считает определитель матрицы, но делает это не правильно, найдите пожалуйста ошибку в программе... Program Gaus; Uses Crt; ...

Найти наибольший из положительных элементов матрицы и заменить этим числом все элементы матрицы на обратной диагонали.
Найти наибольший из положительных элементов матрицы и заменить этим числом все элементы матрицы на обратной диагонали. помогите...

Нахождение обратной матрицы
помогите пожалуйста нужна БЛОК СХЕМА и ПРОГРАММА на нахождение обратной матрицы, (паскаль)

Уточнение элементов обратной матрицы.
Добрый день ! Окажите помощь ,пожалуйста. Задание - Дана матрица А .Найти обратную к ней. Уточнить элементы обратной матрицы и проверить...

СЛАУ методом обратной матрицы
Матричным методом


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru