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

Двойные/тройные суммы

14.05.2022, 18:48. Показов 357. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Знатоки, подскажите пожалуйста, как правильнее будет интерпретировать эти суммы?

https://www.cyberforum.ru/cgi-bin/latex.cgi?Etot = 0.5\sum_{i}^{}\sum_{j\neq i}^{}{E}_{ijk}

https://www.cyberforum.ru/cgi-bin/latex.cgi?{E}_{ijk} = \sum_{i<j}^{}{U}_{ij} + \sum_{i<j<k}^{}{W}_{ijk}
Я не понимаю как будет наиболее правильно это сделать. Подставить вторую формулу в первую и разделить на две тройные суммы? Если так, то как сделать тройную сумму по двум индексам? Или надо сделать серию вложенных циклов? вот один из моих вариантов:

Кликните здесь для просмотра всего текста
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
function PotErc(p:TPS;na:Tna;element:integer):real;
var 
    i,j,i1,j1,i2,j2,k2:integer;
    Etot,Us,Ws,alfa:real;
    U:array[1..Nat,1..Nat] of real;
    W:array[1..Nat,1..Nat,1..Nat] of real;              //пытался создать трёхчастичный потенциал Е
    l:array[1..2] of text;
begin
  alfa:=Ln(2);
  assign(l[element],'Lab2 Logs '+el[element]+'.txt');
  append(l[element]);  //for element:integer:=1 to 2 do begin
    
    for i := 1 to Nat do begin
      for j := 1 to Nat do begin
        if i=j then continue;
        Ws:=0;
        Us:=0;
        
 
        for j1:=1 to j do begin            //U
          for i1:= 1 to j1-1 do begin
            U[i1,j1]:= C2[element]*A[element]* ((Power(r0[element]/r(p[na[i1]],p[na[j1]]),2*ntable[element]) * exp(-2*alfa*Power(r(p[na[i1]],p[na[j1]])/r0[element],2))) - (Power(r0[element]/r(p[na[i1]],p[na[j1]]),ntable[element]) * exp(-alfa*Power(r(p[na[i1]],p[na[j1]])/r0[element],2))));
            Us+=U[i1,j1];
          end;
        end; 
        
        for k2:=1 to Nat do begin            //W
          for j2:= 1 to j do begin
            if j2>=k2 then continue;
            for i2:= 1 to j2-1 do begin
              W[i2,j2,k2]:= C3[element] * (U[i2,j2]*f(p,na[i2],na[j2],na[k2],element) + U[i2,k2]*f(p,na[i2],na[k2],na[j2],element) + U[j2,k2]*f(p,na[j2],na[k2],na[i2],element));
              Ws+=W[i2,j2,k2];
            end;
          end;
        end; 
        
        Etot+=0.5*(Us+Ws);
      end;
    end;
 
    result:=Etot;
  //end;
end;


Добавлено через 5 минут
Таким макаром я где-то 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
function PotErc2(p:TPS;na:Tna;element:integer):real;  //с разделением сумм
var
    i,j,k:integer;
    Etot,Us,Ws,alfa:real;
    U:array[1..Nat,1..Nat] of real;
    W:array[1..Nat,1..Nat,1..Nat] of real;              //пытался создать трёхчастичный потенциал Е
    l:array[1..2] of text;
begin
  alfa:=Ln(2);
  assign(l[element],'Lab2 Logs '+el[element]+'.txt');
  append(l[element]);  //for element:integer:=1 to 2 do begin
    
  for i:=1 to Nat do begin
    for j:=1 to Nat do begin
      if (i=j) or (i>=j) then continue;
        U[i,j]:= C2[element]*A[element]* ((Power(r0[element]/r(p[na[i]],p[na[j]]),2*ntable[element]) * exp(-2*alfa*Power(r(p[na[i]],p[na[j]])/r0[element],2))) - (Power(r0[element]/r(p[na[i]],p[na[j]]),ntable[element]) * exp(-alfa*Power(r(p[na[i]],p[na[j]])/r0[element],2))));
        Us+=U[i,j];
    end;
  end;
  
  for i:=1 to Nat do begin
    for j:=1 to Nat do begin
      if (i=j)  then continue;
      for k:=1 to Nat do begin
        if (i>=j) or (j>=k) then continue;
        W[i,j,k]:= C3[element] * (U[i,j]*f(p,na[i],na[j],na[k],element) + U[i,k]*f(p,na[i],na[k],na[j],element) + U[j,k]*f(p,na[j],na[k],na[i],element));
        Ws+=W[i,j,k];
      end;       
    end;
  end;
    Etot:=0.5*(Us+Ws);
    result:=Etot;
    close(l[element]);
end;


Кликните здесь для просмотра всего текста

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
function PotErc3(p:TPS;na:Tna;element:integer):real;  //с разделением сумм
var
    i,j,k:integer;
    Etot,Us,Ws,alfa:real;
    U:array[1..Nat,1..Nat] of real;
    W,E:array[1..Nat,1..Nat,1..Nat] of real;              //пытался создать трёхчастичный потенциал Е
    l:array[1..2] of text;
begin
  alfa:=Ln(2);
  assign(l[element],'Lab2 Logs '+el[element]+'.txt');
  append(l[element]);  //for element:integer:=1 to 2 do begin
    
  //попробовать цикл с к засунуть наверх потом
  for i:=1 to Nat do begin
    for j:=1 to Nat do begin
      for k:=1 to Nat do begin
        if (i>=j) or (j>=k) then continue;
          W[i,j,k]:= C3[element] * (U[i,j]*f(p,na[i],na[j],na[k],element) + U[i,k]*f(p,na[i],na[k],na[j],element) + U[j,k]*f(p,na[j],na[k],na[i],element));
          Ws+=W[i,j,k];
          E[i,j,k]+=W[i,j,k];
      end;       
    end;
  end;
  
  for j:=1 to Nat do begin
    for i:=1 to j do begin
      for k:=1 to Nat do begin
        if i=j then continue;
          U[i,j]:= C2[element]*A[element]* ((Power(r0[element]/r(p[na[i]],p[na[j]]),2*ntable[element]) * exp(-2*alfa*Power(r(p[na[i]],p[na[j]])/r0[element],2))) - (Power(r0[element]/r(p[na[i]],p[na[j]]),ntable[element]) * exp(-alfa*Power(r(p[na[i]],p[na[j]])/r0[element],2))));
          Us+=U[i,j];
          E[i,j,k]+=U[i,j];
      end;      
    end;
  end;
  
  //мне надо найти все Eijk и потом их сложить.Вроде как здесь это работает некорректно
  
  for i:=1 to Nat do begin
    for j:=1 to Nat do begin
      if i=j then continue;
        Etot+=E[i,j,k];
    end;
  end;
 
    //Etot:=0.5*(Us+Ws);
    result:=Etot*0.5;
    close(l[element]);
end;
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.05.2022, 18:48
Ответы с готовыми решениями:

Посчитать ср. арифм оценок, при условии что оценки на букву k - двойные, а на p-обычные?
Есть программа которой на ввод поступает числа ( оценки) ввод оканчивается на e0, как в этой программе посчитать ср. арифм оценок, при...

Двойные циклы
Помогите разобраться с заданием, смущает &quot;главная диагональ&quot;. &quot;Найти найбольший по абсолютной величине элемент главной диагонали...

Двойные и кратные циклы
вычислить с точностью до 10-4

2
 Аватар для Sun Serega
2355 / 1458 / 526
Регистрация: 07.04.2017
Сообщений: 4,798
14.05.2022, 19:10
Зачем вы сохраняете промежуточные результаты в массивы?
К примеру для этой формулы:
https://www.cyberforum.ru/cgi-bin/latex.cgi?\sum_{{i}_{1}=1}^{2}\sum_{{i}_{2}=1}^{3} {i}_{1}*{i}_{2}
Код будет таким:
Pascal
1
2
3
4
5
6
7
8
9
10
11
##
 
var sum1 := 0;
for var i1 := 1 to 2 do
begin
  var sum2 := 0; // Для каждого i1 эту переменную сборсит на 0
  for var i2 := 1 to 3 do
    sum2 += i1*i2;
  sum1 += sum2;
end;
sum1.Println;
Разумеется, конкретно в этом случае можно убрать sum2 и прибавлять напрямую к sum1 - результат будет тот же.
Но я сделал так втупую чтобы показать, что массивы результатов сум ни к чему: вы каждое значение в массиве только 1 раз заполняете и сразу один раз читаете.

Добавлено через 1 минуту
Что касается задачи - она не полная. Как минимум не указаны границы циклов сумм.
Как и все коды что вы привели тоже. Кидайте то, что можно сразу скомпилировать и запустить.
1
0 / 0 / 0
Регистрация: 14.05.2022
Сообщений: 7
14.05.2022, 19:29  [ТС]
Не знаю наверняка зачем сохранял, на случай если придётся обратиться к этим элементам. В принципе как я пойму что прога работает как мне надо, то подобное подчищу.

Добавлено через 3 минуты
Вот программа, в которой я пытался эту функцию отладить

Кликните здесь для просмотра всего текста

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
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
program lab2;
uses Graph3D;
const
  Nat=32;
  Npos=108;
  el:array[1..2] of string=('Ag','Al');
  x0:array[1..4] of real=(0 ,0.5 ,0   ,0.5);
  y0:array[1..4] of real=(0 ,0.5 ,0.5 ,0  );
  z0:array[1..4] of real=(0 ,0   ,0.5 ,0.5);
  C :array[1..4] of GColor = (Colors.Red, Colors.Green, Colors.Yellow, Colors.Blue);  //для обозначенеия разных позиций
  
  apar  :array[1..2] of real = (4.084     ,4.048     );
  r0    :array[1..2] of real = (2.777     ,2.729     );
  A     :array[1..2] of real = (6.6       ,6.2       );
  C2    :array[1..2] of real = (0.2338381 ,0.2635582 );
  C3    :array[1..2] of real = (-0.1640650,-0.1766508);
  ntable:array[1..2] of real = (2.312351  ,2.072844  );
type
  TPS=array[1..Npos] of Point3D;
  TNA=array[1..Nat ] of integer;
  TPC=array[1..1000] of TNA;
 
function r(a,b:Point3D):real;
begin
  result:=sqrt(power(a.x-b.x,2)+power(a.y-b.y,2)+power(a.z-b.z,2))
end;  
 
function f(p:TPS;a,b,c:integer;element:integer):real; {a,b,c:Point3D;element:integer}
begin
  result:=exp(-(sqr(r(p[a],p[c])) + sqr(r(p[b],p[c])))/sqr(r0[element])); {exp(-(sqr(r(a,c)) + sqr(r(b,c)))/sqr(r0[element]));}
end; 
 
function Rand(b:integer):integer;
begin
  var a:= Random(1,Npos);
  //writeln('Изменённое: ',a);
  //writeln('b = ',b);
  if a = b then begin
    a:= Rand(b);
  end;
  //writeln('',a);
  Result:=a;
end;
 
 
function PotErc(p:TPS;na:Tna;element:integer):real;
var 
    i,j,i1,j1,i2,j2,k2:integer;
    Etot,Us,Ws,alfa:real;
    U:array[1..Nat,1..Nat] of real;
    W:array[1..Nat,1..Nat,1..Nat] of real;              //пытался создать трёхчастичный потенциал Е
    l:array[1..2] of text;
begin
  alfa:=Ln(2);
  
    
    for i := 1 to Nat do begin
      for j := 1 to Nat do begin
        if i=j then continue;
        Ws:=0;
        Us:=0;
        
                    //U
//          for i1:= 1 to j-1 do begin
//            U[i1,j]:= C2[element]*A[element]* ((Power(r0[element]/r(p[na[i1]],p[na[j]]),2*ntable[element]) * exp(-2*alfa*Power(r(p[na[i1]],p[na[j]])/r0[element],2))) - (Power(r0[element]/r(p[na[i1]],p[na[j]]),ntable[element]) * exp(-alfa*Power(r(p[na[i1]],p[na[j]])/r0[element],2))));
//            Us+=U[i1,j];
//          end;
//         
//        
//        for k2:=1 to j do begin            //W
//          for j2:= 1 to k2-1 do begin
//            for i2:= 1 to j2-1 do begin
//              W[i2,j2,k2]:= C3[element] * (U[i2,j2]*f(p,na[i2],na[j2],na[k2],element) + U[i2,k2]*f(p,na[i2],na[k2],na[j2],element) + U[j2,k2]*f(p,na[j2],na[k2],na[i2],element));
//              Ws+=W[i2,j2,k2];
//            end;
//          end;
//        end; 
        for j1:=1 to j do begin            //U
          for i1:= 1 to j1-1 do begin
            U[i1,j1]:= C2[element]*A[element]* ((Power(r0[element]/r(p[na[i1]],p[na[j1]]),2*ntable[element]) * exp(-2*alfa*Power(r(p[na[i1]],p[na[j1]])/r0[element],2))) - (Power(r0[element]/r(p[na[i1]],p[na[j1]]),ntable[element]) * exp(-alfa*Power(r(p[na[i1]],p[na[j1]])/r0[element],2))));
            Us+=U[i1,j1];
          end;
        end; 
        
        for k2:=1 to Nat do begin            //W
          for j2:= 1 to j do begin
            if j2>=k2 then continue;
            for i2:= 1 to j2-1 do begin
              W[i2,j2,k2]:= C3[element] * (U[i2,j2]*f(p,na[i2],na[j2],na[k2],element) + U[i2,k2]*f(p,na[i2],na[k2],na[j2],element) + U[j2,k2]*f(p,na[j2],na[k2],na[i2],element));
              Ws+=W[i2,j2,k2];
            end;
          end;
        end; 
        
        Etot+=0.5*(Us+Ws);
      end;
    end;
//    writeln('f = ',f(p,i2,j2,k2,1));
//    writeln('u1,32 = ',U[1,32]);
//    writeln('f = ',f(p,i2,k2,j2,1));
//    writeln('u1,2 = ',U[1,2]);
//    writeln('f = ',f(p,j2,k2,i2,1));
//    writeln('u = ',U[j2,k2]);
    result:=Etot;
  //end;
end;
 
function PotErc2(p:TPS;na:Tna;element:integer):real;  //с разделением сумм
var
    i,j,k:integer;
    Etot,Us,Ws,alfa:real;
    U:array[1..Nat,1..Nat] of real;
    W:array[1..Nat,1..Nat,1..Nat] of real;              //пытался создать трёхчастичный потенциал Е
    l:array[1..2] of text;
begin
  alfa:=Ln(2);
  assign(l[element],'Lab2 Logs '+el[element]+'.txt');
  append(l[element]);  //for element:integer:=1 to 2 do begin
    
  for i:=1 to Nat do begin
    for j:=1 to Nat do begin
      if (i=j) or (i>=j) then continue;
        U[i,j]:= C2[element]*A[element]* ((Power(r0[element]/r(p[na[i]],p[na[j]]),2*ntable[element]) * exp(-2*alfa*Power(r(p[na[i]],p[na[j]])/r0[element],2))) - (Power(r0[element]/r(p[na[i]],p[na[j]]),ntable[element]) * exp(-alfa*Power(r(p[na[i]],p[na[j]])/r0[element],2))));
        Us+=U[i,j];
    end;
  end;
  
  for i:=1 to Nat do begin
    for j:=1 to Nat do begin
      if (i=j)  then continue;
      for k:=1 to Nat do begin
        if (i>=j) or (j>=k) then continue;
        W[i,j,k]:= C3[element] * (U[i,j]*f(p,na[i],na[j],na[k],element) + U[i,k]*f(p,na[i],na[k],na[j],element) + U[j,k]*f(p,na[j],na[k],na[i],element));
        Ws+=W[i,j,k];
      end;       
    end;
  end;
    Etot:=0.5*(Us+Ws);
    result:=Etot;
    close(l[element]);
end;
 
function PotErc3(p:TPS;na:Tna;element:integer):real;  //с разделением сумм
var
    i,j,k:integer;
    Etot,Us,Ws,alfa:real;
    U:array[1..Nat,1..Nat] of real;
    W,E:array[1..Nat,1..Nat,1..Nat] of real;              //пытался создать трёхчастичный потенциал Е
    l:array[1..2] of text;
begin
  alfa:=Ln(2);
 
    
  //попробовать цикл с к засунуть наверх потом
  for i:=1 to Nat do begin
    for j:=1 to Nat do begin
      for k:=1 to Nat do begin
        if (i>=j) or (j>=k) then continue;
          W[i,j,k]:= C3[element] * (U[i,j]*f(p,na[i],na[j],na[k],element) + U[i,k]*f(p,na[i],na[k],na[j],element) + U[j,k]*f(p,na[j],na[k],na[i],element));
          Ws+=W[i,j,k];
          E[i,j,k]+=W[i,j,k];
      end;       
    end;
  end;
  
  for j:=1 to Nat do begin
    for i:=1 to j do begin
      for k:=1 to Nat do begin
        if i=j then continue;
          U[i,j]:= C2[element]*A[element]* ((Power(r0[element]/r(p[na[i]],p[na[j]]),2*ntable[element]) * exp(-2*alfa*Power(r(p[na[i]],p[na[j]])/r0[element],2))) - (Power(r0[element]/r(p[na[i]],p[na[j]]),ntable[element]) * exp(-alfa*Power(r(p[na[i]],p[na[j]])/r0[element],2))));
          Us+=U[i,j];
          E[i,j,k]+=U[i,j];
      end;      
    end;
  end;
  
  //мне надо найти все Eijk и потом их сложить.Вроде как здесь это работает некорректно
  
  for i:=1 to Nat do begin
    for j:=1 to Nat do begin
      if i=j then continue;
        Etot+=E[i,j,k];
    end;
  end;
 
    //Etot:=0.5*(Us+Ws);
    result:=Etot*0.5;
 
end;
 
function PotErc4(p:TPS;na:Tna;element:integer):real;  //с разделением сумм
var
    i,j,k,i1,j1:integer;
    Etot,Us,Ws,alfa:real;
    U:array[1..Nat,1..Nat] of real;
    W,E:array[1..Nat,1..Nat,1..Nat] of real;              //пытался создать трёхчастичный потенциал Е
    l:array[1..2] of text;
begin
  alfa:=Ln(2);
 
    
  //попробовать цикл с к засунуть наверх потом
  
  
  for i1:=1 to Nat do begin
    for j1:=1 to Nat do begin
      for j:=1 to j1 do begin
        for i:=1 to i1 do begin
          if (i>=j) or (i=i1) or (j=j1) then continue;
          U[i,j]:= C2[element]*A[element]* ((Power(r0[element]/r(p[na[i]],p[na[j]]),2*ntable[element]) * exp(-2*alfa*Power(r(p[na[i]],p[na[j]])/r0[element],2))) - (Power(r0[element]/r(p[na[i]],p[na[j]]),ntable[element]) * exp(-alfa*Power(r(p[na[i]],p[na[j]])/r0[element],2))));
          Us+=U[i,j];
          ws:=0;
          for k:=1 to Nat do begin
            if (i>=j) or (j>=k) or (i=i1) or (j=j1) then continue;
            W[i,j,k]:= C3[element] * (U[i,j]*f(p,na[i],na[j],na[k],element) + U[i,k]*f(p,na[i],na[k],na[j],element) + U[j,k]*f(p,na[j],na[k],na[i],element));
            Ws+=W[i,j,k];
    
            
            //E[i1,j1,k]+=W[i,j,k];
            
          end;
          E[i1,j1,k]+=U[i,j]+Ws;
        end;
      end;
    end;
  end;
  
  //мне надо найти все Eijk и потом их сложить.Вроде как здесь это работает некорректно
  
  for i:=1 to Nat do begin
    for j:=1 to Nat do begin
      if i=j then continue;
        Etot+=E[i,j,k];
    end;
  end;
 
    //Etot:=0.5*(Us+Ws);
    result:=Etot*0.5;
 
end;
 
var
  x,y,z:array[1..Npos] of real;
  element,n,k1:integer;
  p:TPS;
  na:tna:= (2, 5, 6, 7, 8, 13, 14, 16, 18, 21, 24, 28, 29, 31, 40, 41, 42, 43, 44, 45, 46, 55, 57, 59, 69, 70, 82, 84, 93, 98, 103, 99);
  
  config:TPC;
  confignum:integer;
  E:array[1..1000] of real;
  logs:array[1..2] of text;
  
  min:integer;
  Emin:real;
begin
  element:=1;
    n:=0;
    min:=0;
    Emin:=0;
    for i:integer := -1 to 1 do                         //создание позиций для атомов
      for j:integer := -1 to 1 do
        for k:integer := -1 to 1 do
          for l:integer := 1 to 4 do
          begin
            n+=1;
            x[n]:=(x0[l]+i)*apar[element];
            y[n]:=(y0[l]+j)*apar[element];
            z[n]:=(z0[l]+k)*apar[element];
            p[n]:=P3D(x[n],y[n],z[n]);
          end;                                          //конец
  writeln('Энергия: E = ',PotErc4(p,na,element));
  writeln('Complete');
end.


Необходимо найти энергию хим свзяей кристалла из 32 атомов. Всего позиций для атомов 108, мы этот кристалл случайно заполняем 32 атомами и считаем энергию, формулы для U и W точно правильные, но если это поможет, то могу их выписать сюда

Добавлено через 13 минут
Цитата Сообщение от mavarleyne Посмотреть сообщение
Необходимо найти энергию хим свзяей кристалла из 32 атомов. Всего позиций для атомов 108, мы этот кристалл случайно заполняем 32 атомами и считаем энергию, формулы для U и W точно правильные, но если это поможет, то могу их выписать сюда
И да, ожидается результат в районе 100 (как я понял от препода, он баклажан тот ещё, с ним ничего однозначно узнать нельзя)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.05.2022, 19:29
Помогаю со студенческими работами здесь

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

Преобразовать строку, заменив все двойные апострофы кавычками.
Дана строка s, содержащая менее чем 200 символов. Преобразовать данную последовательность символов, заменив все двойные апострофы...

Выделить из строки подстроки, заключенные в двойные круглые скобки
3. Алгоритм решения задачи Алгоритм “Преобразование символьной строки ” Внутрен. перемен. Stroka : строка {Строка символов} i :...

Заменить в строке двойные пробелы на одинарный пробел. Вывести количество замен
Заменить в строке двойные пробелы на одинарный пробел. Вывести количество замен.

Убрать двойные пробелы, а где одиночные - поставить вместо "*"
нужно составить программу, где двойной пробел заменяется одиночным, а там где уже стоит одиночный пробел поставить &quot;*&quot;. первая...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru