Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 04.04.2010
Сообщений: 34
1

Найти сумму элементов с нечетными индексами и произведение элементов с четными индексами

18.03.2012, 09:29. Показов 1128. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
в DELPHI задача решена, нужно перевести в PASCAL

Delphi
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
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;
 
type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Panel1: TPanel;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);
var mas:array[-1..10,-1..10] of -1..64;
x,y,n:byte;
i,j:integer;
num:longint;
s:string;
function step(x,y,n:byte):boolean;
begin
inc(num);
{if num mod 1000000=0 then
 begin
  Memo1.Lines.Add(IntToStr(num));
  Application.ProcessMessages;
 end;   }
Result:=false;
 if n=64 then
  begin
   if mas[x+1,y-2]=0 then
    begin
     mas[x+1,y-2]:=n;
     Result:=true;
    end;
 
   if mas[x+2,y-1]=0 then
    begin
     mas[x+2,y-1]:=n;
     Result:=true;
    end;
 
   if mas[x+2,y+1]=0 then
    begin
     mas[x+2,y+1]:=n;
     Result:=true;
    end;
 
   if mas[x+1,y+2]=0 then
    begin
     mas[x+1,y+2]:=n;
     Result:=true;
    end;
 
   if mas[x-1,y+2]=0 then
    begin
     mas[x-1,y+2]:=n;
     Result:=true;
    end;
 
   if mas[x-2,y+1]=0 then
    begin
     mas[x-2,y+1]:=n;
     Result:=true;
    end;
 
   if mas[x-2,y-1]=0 then
    begin
     mas[x-2,y-1]:=n;
     Result:=true;
    end;
 
   if mas[x-1,y-2]=0 then
    begin
     mas[x-1,y-2]:=n;
     Result:=true;
    end;
  end
else
 begin
  if mas[x+1,y-2]=0 then
   begin
    mas[x+1,y-2]:=n;
    if step(x+1,y-2,n+1) then
     begin
      Result:=true;
      exit;
     end
    else
     mas[x+1,y-2]:=0;
   end;
 
  if mas[x+2,y-1]=0 then
   begin
    mas[x+2,y-1]:=n;
    if step(x+2,y-1,n+1) then
     begin
      Result:=true;
      exit;
     end
    else
     mas[x+2,y-1]:=0;
   end;
 
  if mas[x+2,y+1]=0 then
   begin
    mas[x+2,y+1]:=n;
    if step(x+2,y+1,n+1) then
     begin
      Result:=true;
      exit;
     end
    else
     mas[x+2,y+1]:=0;
   end;
 
  if mas[x+1,y+2]=0 then
   begin
    mas[x+1,y+2]:=n;
    if step(x+1,y+2,n+1) then
     begin
      Result:=true;
      exit;
     end
    else
     mas[x+1,y+2]:=0;
   end;
 
  if mas[x-1,y+2]=0 then
   begin
    mas[x-1,y+2]:=n;
    if step(x-1,y+2,n+1) then
     begin
      Result:=true;
      exit;
     end
    else
     mas[x-1,y+2]:=0;
   end;
 
  if mas[x-2,y+1]=0 then
   begin
    mas[x-2,y+1]:=n;
    if step(x-2,y+1,n+1) then
     begin
      Result:=true;
      exit;
     end
    else
     mas[x-2,y+1]:=0;
   end;
 
  if mas[x-2,y-1]=0 then
   begin
    mas[x-2,y-1]:=n;
    if step(x-2,y-1,n+1) then
     begin
      Result:=true;
      exit;
     end
    else
     mas[x-2,y-1]:=0;
   end;
 
  if mas[x-1,y-2]=0 then
   begin
    mas[x-1,y-2]:=n;
    if step(x-1,y-2,n+1) then
     begin
      Result:=true;
      exit;
     end
    else
     mas[x-1,y-2]:=0;
   end;
 end;
end;
 
begin
 
for i:=-1 to 10 do
 for j:=-1 to 10 do
  if (i>=1)and(i<=8)and(j>=1)and(j<=8) then mas[i,j]:=0
   else mas[i,j]:=-1;
 
 
mas[1,1]:=1;
num:=0;
if step(1,1,2) then Memo1.Lines.Add('Есть путь')
 else Memo1.Lines.Add('Нет пути');   
Memo1.Lines.Add(IntToStr(num));
 
for i:=1 to 8 do
 begin
 s:='';
 for j:=1 to 8 do
  s:=s+' '+inttostr(mas[i,j]);
 Memo1.Lines.Add(s);
 end;
 
 
end;
 
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.03.2012, 09:29
Ответы с готовыми решениями:

Найти произведение элементов с нечетными индексами.
Помогите с массивоми 1) Дан массив целых чисел. Выяснить является ли р-й элемент массива...

Найти произведение элементов массива с нечетными индексами
найти произведение элементов массива p1, ...., pn с нечетными индексами

Найти сумму элементов с четными индексами и произведение элементов с нечетными индексами
Задан массив S(К). Найти сумму элементов с четными индексами и произведение элементов с нечетными...

Определить произведение элементов массива с четными индексами, и сумму элементов с нечетными индексами
В массиве вещественных чисел Z = (z1, z2, …, Zм) определить произведение P элементов с четными...

1
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
18.03.2012, 11:58 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
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;
var mas:array[-1..10,-1..10] of -1..64;
    i,j:integer;
    num:longint;
function step(x,y,n:byte):boolean;
var st:boolean;
begin
inc(num);
st:=false;
if n=64 then
  begin
   if mas[x+1,y-2]=0 then
    begin
     mas[x+1,y-2]:=n;
     st:=true;
    end;
   if mas[x+2,y-1]=0 then
    begin
     mas[x+2,y-1]:=n;
     st:=true;
    end;
   if mas[x+2,y+1]=0 then
    begin
     mas[x+2,y+1]:=n;
     st:=true;
    end;
   if mas[x+1,y+2]=0 then
    begin
     mas[x+1,y+2]:=n;
     st:=true;
    end;
   if mas[x-1,y+2]=0 then
    begin
     mas[x-1,y+2]:=n;
     st:=true;
    end;
 
   if mas[x-2,y+1]=0 then
    begin
     mas[x-2,y+1]:=n;
     st:=true;
    end;
   if mas[x-2,y-1]=0 then
    begin
     mas[x-2,y-1]:=n;
     st:=true;
    end;
   if mas[x-1,y-2]=0 then
    begin
     mas[x-1,y-2]:=n;
     st:=true;
    end;
  end
else
 begin
  if mas[x+1,y-2]=0 then
   begin
    mas[x+1,y-2]:=n;
    if step(x+1,y-2,n+1) then
     begin
      st:=true;
      exit;
     end
    else
     mas[x+1,y-2]:=0;
   end;
  if mas[x+2,y-1]=0 then
   begin
    mas[x+2,y-1]:=n;
    if step(x+2,y-1,n+1) then
     begin
      st:=true;
      exit;
     end
    else
     mas[x+2,y-1]:=0;
   end;
  if mas[x+2,y+1]=0 then
   begin
    mas[x+2,y+1]:=n;
    if step(x+2,y+1,n+1) then
     begin
      st:=true;
      exit;
     end
    else
     mas[x+2,y+1]:=0;
   end;
  if mas[x+1,y+2]=0 then
   begin
    mas[x+1,y+2]:=n;
    if step(x+1,y+2,n+1) then
     begin
      st:=true;
      exit;
     end
    else
     mas[x+1,y+2]:=0;
   end;
  if mas[x-1,y+2]=0 then
   begin
    mas[x-1,y+2]:=n;
    if step(x-1,y+2,n+1) then
     begin
      st:=true;
      exit;
     end
    else
     mas[x-1,y+2]:=0;
   end;
  if mas[x-2,y+1]=0 then
   begin
    mas[x-2,y+1]:=n;
    if step(x-2,y+1,n+1) then
     begin
      st:=true;
      exit;
     end
    else
     mas[x-2,y+1]:=0;
   end;
  if mas[x-2,y-1]=0 then
   begin
    mas[x-2,y-1]:=n;
    if step(x-2,y-1,n+1) then
     begin
      st:=true;
      exit;
     end
    else
     mas[x-2,y-1]:=0;
   end;
  if mas[x-1,y-2]=0 then
   begin
    mas[x-1,y-2]:=n;
    if step(x-1,y-2,n+1) then
     begin
      st:=true;
      exit;
     end
    else
     mas[x-1,y-2]:=0;
   end;
 end;
Step:=st;
end;
 
begin
clrscr;
for i:=-1 to 10 do
 begin
  for j:=-1 to 10 do
   begin
    if (i>=1)and(i<=8)and(j>=1)and(j<=8) then mas[i,j]:=0
    else mas[i,j]:=-1;
   end;
 end;
mas[1,1]:=1;
num:=0;
if step(1,1,2) then writeln('Есть путь')
else writeln('Нет пути');
writeln(num);
writeln;
for i:=1 to 8 do
 begin
  for j:=1 to 8 do
  write(mas[i,j]:3);
  writeln;
 end;
readln
end.
Добавлено через 15 минут
Интересно что работает только в Турбо Паскале, а в АВС и Фрее не желает....
0
18.03.2012, 11:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.03.2012, 11:58
Помогаю со студенческими работами здесь

В массиве определить произведение элементов с четными индексами и сумму элементов с нечетными индексами
Создание многомодульных программ ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ. -Составить программу,содержащую...

Для массива из N элементов вычесть из суммы элементов с нечетными индексами сумму элементов с четными индексами
Здравствуйте уважаемые форумчане. Как решить эту задачу? &quot;Для массива из N элементов вычесть из...

Задан массив А(9).найти произведение чисел с четными индексами и сумму с нечетными индексами.
Задан массив А(9).найти произведение чисел с четными индексами и сумму с нечетными индексами.

Найти сумму максимального значения элементов с четными индексами и минимального значения элементов с нечетными индексами в одномерном массиве
дан одномерный массив А.найти мах(a2,a4..)+мин(a1,a3) int main() { int y; cin&gt;&gt;N; for(int i=0;...

Определить, делится ли сумма элементов массива с чётными индексами на сумму элементов с нечётными индексами
Привет Ребята! помогите с решением! в долгу не останусь) задано натуральное число n и массив и n...

Вычислить среднее арифметическое положительных элементов с четными индексами и произведение отрицательных с нечетными индексами
Вычислить среднее арифметическое положительных элементов с четными индексами и произведение...


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

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