0 / 0 / 0
Регистрация: 02.04.2013
Сообщений: 12
1

Если элемент массива четный, то прибавить к нему первый элемент массива, если нечетный - то последний. В чем ошибка?

02.04.2013, 18:51. Показов 1889. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите решить: Если элемент массива четный, то прибавить к нему первый элемент массива, если нечетный- то последний. Самый первый и последний элементы массива не изменять. Вот как я ее решала, но делфи выдает ошибку что мало фактических параметров.
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
type ta=array [1..10] of integer;
procedure Ms(i:integer;a:ta);
begin
randomize;
for i:=1 to 10 do
a[i]:=random(10);
end;
procedure proverka(i:integer;a:ta);
begin
for i:=2 to 9 do
if a[i] mod 2=0 then a[i]:=a[i]+a[1]
else a[i]:=a[i]+a[10];
end;
procedure wiwod (i:integer;a:ta);
begin
for i:=1 to 10 do
end;
procedure TForm1.Button1Click(Sender: TObject);
var
 a:array [1..10] of integer;
 i:integer;
begin
 Ms(IntToStr(StringGrid1.Cells[i]),a[i]),
 proverka,
 wiwod(a[i]:=IntToStr(StringGrid2.Cells[i]));
end;
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.04.2013, 18:51
Ответы с готовыми решениями:

Если элемент массива четный — прибавить к нему первый, если нечетный — последний элемент
здравствуйте еще раз)) Спасибо за то что помогли с прошлой задачей огромной)) можно еще одну)...

Если элемент массива четный, то прибавить к нему первый элемент, а если нечетный - последний.
Если значение элемента массива четно, то прибавить к нему первый элемент массива, а если нечетно -...

Для двумерного массива. Если элемент четный, то прибавить к нему первый, если нечетный — последний элементы массива
Для двумерного массива. Если элемент четный, то прибавить к нему первый, если нечетный — последний...

Если элемент массива четный, то прибавить к нему первый, если нечетный - последний элементы массива
Написать программу изменения элементов массива. Если элемент четный, то прибавить к нему первый,...

10
3944 / 1869 / 337
Регистрация: 16.03.2012
Сообщений: 3,880
02.04.2013, 19:10 2
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
type ta=array [1..10] of integer;
procedure Ms(a:ta);
Var
  i : Integer;
begin
  randomize;
  for i:=1 to 10 do
  a[i]:=random(10);
end;
 
procedure proverka(a:ta);
Var
  i : Integer;
begin
  for i:=2 to 9 do
  if a[i] mod 2=0 then a[i]:=a[i]+a[1]
  else a[i]:=a[i]+a[10];
end;
 
procedure wiwod (SG:TStringGrid;a:ta);
Var
  i : Integer;
begin
  for i:=1 to 10 do
  SG.Cells[i]:=IntToStr(a[i]);
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var
 a:ta;
begin
 Ms(a);
 proverka;
 wiwod(StringGrid2,a);
end;
 
end.
0
11 / 11 / 7
Регистрация: 28.10.2012
Сообщений: 84
02.04.2013, 19:15 3
Цитата Сообщение от Irina St Посмотреть сообщение
Помогите решить: Если элемент массива четный, то прибавить к нему первый элемент массива, если нечетный- то последний. Самый первый и последний элементы массива не изменять. Вот как я ее решала, но делфи выдает ошибку что мало фактических параметров.
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
type ta=array [1..10] of integer;
procedure Ms(i:integer;a:ta);
begin
randomize;
for i:=1 to 10 do
a[i]:=random(10);
end;
procedure proverka(i:integer;a:ta);
begin
for i:=2 to 9 do
if a[i] mod 2=0 then a[i]:=a[i]+a[1]
else a[i]:=a[i]+a[10];
end;
procedure wiwod (i:integer;a:ta);
begin
for i:=1 to 10 do
end;
procedure TForm1.Button1Click(Sender: TObject);
var
 a:array [1..10] of integer;
 i:integer;
begin
 Ms(IntToStr(StringGrid1.Cells[i]),a[i]),
 proverka,
 wiwod(a[i]:=IntToStr(StringGrid2.Cells[i]));
end;
end.
Из того, что пока заметил так это неправильная передача по ссылке.
попробуй так:
Кликните здесь для просмотра всего текста
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
procedure Ms(i:integer;var a:ta);
begin
randomize;
for i:=1 to 10 do
a[i]:=random(10);
end;
 
procedure proverka(i:integer;a:ta);
begin
for i:=2 to 9 do
if a[i] mod 2=0 then a[i]:=a[i]+a[1]
else a[i]:=a[i]+a[10];
end;
 
 
procedure TForm1.Button1Click(Sender: TObject);
var
 a:array [1..10] of integer;
 i:integer;
begin
 Ms(IntToStr(StringGrid1.Cells[i]),a[i]),
 proverka,
 wiwod(a[i]:=IntToStr(StringGrid2.Cells[i]));
end;
 
end.
0
0 / 0 / 0
Регистрация: 02.04.2013
Сообщений: 12
02.04.2013, 19:18  [ТС] 4
Zede, по вашему программному коду мне делфи выдает ту же самую ошибку, которая у меня и была, не хватает фактических параметров.
0
Дзæуджыхъæу
232 / 204 / 148
Регистрация: 20.09.2012
Сообщений: 421
Записей в блоге: 1
02.04.2013, 19:30 5
StringGrid1.Cells[i,0]
1
3944 / 1869 / 337
Регистрация: 16.03.2012
Сообщений: 3,880
02.04.2013, 19:33 6
Да, у меня в коде строку 25 нужно записать так:
Delphi
1
SG.Cells[0,i]:=IntToStr(a[i]);
или
Delphi
1
SG.Cells[i,0]:=IntToStr(a[i]);
0
0 / 0 / 0
Регистрация: 02.04.2013
Сообщений: 12
02.04.2013, 19:53  [ТС] 7
Цитата Сообщение от Одиночка Посмотреть сообщение
Да, у меня в коде строку 25 нужно записать так:
Delphi
1
SG.Cells[0,i]:=IntToStr(a[i]);
или
Delphi
1
SG.Cells[i,0]:=IntToStr(a[i]);
увы, но программа у меня все равно не работает, в stringGrid1 он ничего не записывает, а в stringGrid2 он вообще набор цифр показывает..
0
3944 / 1869 / 337
Регистрация: 16.03.2012
Сообщений: 3,880
02.04.2013, 20:00 8
Не догадался, что вы в StringGrid1 деоаете вывод исходного массива. Тогда так:
Delphi
1
2
3
4
5
6
7
8
9
10
11
procedure Ms(SG:TStringGrid;a:ta);
Var
  i : Integer;
begin
  randomize;
  for i:=1 to 10 do
  begin
    a[i]:=random(10);
    SG.Cells[0,i]:=IntToStr(a[i]);
  end;
end;
И вызов:
Delphi
1
Ms(StringGrid1,a);
А во второй грид выдаются результаты выполнения вашей задачи.
0
0 / 0 / 0
Регистрация: 02.04.2013
Сообщений: 12
03.04.2013, 10:44  [ТС] 9
ну кто-нибудь помогите правильно решить эту задачу!пожалуйста!ну очень срочно нужно, все выше приведенные примеры работают не правильно, что делать???
0
Модератор
3490 / 2613 / 741
Регистрация: 19.09.2012
Сообщений: 7,974
03.04.2013, 11:01 10
.....
Вложения
Тип файла: rar 111.rar (1.2 Кб, 14 просмотров)
1
0 / 0 / 0
Регистрация: 02.04.2013
Сообщений: 12
03.04.2013, 18:57  [ТС] 11
Цитата Сообщение от gorfil Посмотреть сообщение
.....
спасибо большое,программа отлично работает!
0
03.04.2013, 18:57
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.04.2013, 18:57
Помогаю со студенческими работами здесь

Если очередной элемент массива чётный, то прибавь к нему первый, если нечётный — прибавить последний
Дан одномерный массив состоящий из n элементов. Если очередной элемент чётный, то прибавь к нему...

Если индекс элемента массива четный, то элемент возвести в квадрат, если нечетный – удвоить
Дан одномерный массив размерности 20. Заполнить его случайными числами на отрезке . Сформировать...

В одномерном массиве, если первый элемент положительный, то поменять местами с последним, иначе прибавить к нему третий элемент
Такое дело..помочь надо с парой задач..зачет получить, поможИте :) ____________________ В...

Найдите наименьший чётный элемент массива. Если такого нет то выведите первый элемент
Найдите наименьший чётный элемент массива. Если такого нет то выведите первый элемент Решите...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

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