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

Найти первый и второй отрицательный элемент

31.10.2012, 13:23. Показов 1874. Ответов 6
Метки нет (Все метки)

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
procedure TForm1.Button2Click(Sender: TObject);
var
m:integer;
i1:integer;
i2:integer;
begin
i1:=0;
i2:=0;
//первый отрицательный
for i:=0 to 10 do
begin
if (i1=0) and (a[i] < 0) then i1:=i;
end;
if i1 <> 0 then
Memo1.Lines.Add('первый'+ FloatToStr(a[i1]));
 
//второй отрицательный
for i:=1 to 10 do
begin
if (i2=0) and (a[i-1] < 0) then i2:=i;
end;
if i2 <> 0 then
Memo1.Lines.Add('второй '+ FloatToStr(a[i2]));
end;
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.10.2012, 13:23
Ответы с готовыми решениями:

Найти первый и второй отрицательный элемент
Подправьте код пожалуйста procedure TForm1.Button2Click(Sender: TObject); var i, i1, i2, j :...

В заполненном массиве найти первый отрицательный элемент и поменять его местами с максимальным
В заполненном массиве найти первый отрицательный элемент и поменять его местами с максимальным.

Найти первый и второй отрицательный элемент в массиве
for (int i = 0; i &lt; n; i++) { if (mas &lt; 0) firstot = mas; } for (int i = firstot; i &lt; n; i++){...

Найти первый отрицательный элемент массива и первый положительный элемент и поменять их местами
Найти первый отрицательный элемент массива и первый положительный элемент и поменять их местами.

6
angstrom
31.10.2012, 13:27 2
Так устроит?
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
procedure TForm1.Button2Click(Sender: TObject);
var
  m, i1, i2 : integer;
begin
  i1 := 0;
  i2 := 0;
 
  for i := 0 to 10 do
  begin
    if (i1 = 0) and (a[i] < 0) then
      i1 := i;
    if (i1 <> 0) and (i2 = 0) and (a[i] < 0) then
      i2 := i;
  end;
 
  if i1 <> 0 then
    Memo1.Lines.Add('первый'+ FloatToStr(a[i1]));
 
  if i2 <> 0 then
    Memo1.Lines.Add('второй '+ FloatToStr(a[i2]));
end;
0 / 0 / 0
Регистрация: 31.10.2012
Сообщений: 29
31.10.2012, 13:41  [ТС] 3
Он выводит первый отрицательный в первой сторке MEMO и тоже самое во второй сторке

Добавлено через 2 минуты
Там мне кажется надо массив заново проходить только что бы он перепрыгивал i1. но как это сделать я не могу догадаться(
0
angstrom
31.10.2012, 13:48 4
Немного ошибся.
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 TForm1.Button6Click(Sender: TObject);
var
  m, i, i1, i2 : Integer;
  a : array[1..10] of Integer;
begin
  i1 := 0;
  i2 := 0;
 
  Randomize;
  for i := 1 to 10 do
    a[i] := Random(100) - 50;
 
  for i := 1 to 10 do
  begin
    if (i1 = 0) and (a[i] < 0) then
      i1 := i;
    if (i1 <> i) and (i2 = 0) and (a[i] < 0) then
      i2 := i;
  end;
 
  if i1 <> 0 then
    Memo1.Lines.Add('ïåðâûé = ' + FloatToStr(a[i1]));
 
  if i2 <> 0 then
    Memo1.Lines.Add('âòîðîé = ' + FloatToStr(a[i2]));
end;
0 / 0 / 0
Регистрация: 31.10.2012
Сообщений: 29
31.10.2012, 13:52  [ТС] 5
Заработало!!!!)))) Спасибо огромное
0
angstrom
31.10.2012, 13:53 6
Если всё-таки массив должен начинаться с 0, то инициализцию провести так:
Delphi
1
2
3
4
5
6
7
8
9
  i1 := -1;
  i2 := -1;
...
  if i1 >= 0 then
    Memo1.Lines.Add('первый = ' + FloatToStr(a[i1]));
 
  if i2 >= 0 then
    Memo1.Lines.Add('второй = ' + FloatToStr(a[i2]));
end;
0 / 0 / 0
Регистрация: 31.10.2012
Сообщений: 29
31.10.2012, 13:55  [ТС] 7
Это да. Это я уже поставил. Но все равно еще раз спасибо
0
31.10.2012, 13:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.10.2012, 13:55
Помогаю со студенческими работами здесь

Найти первый отрицательный элемент в каждой строке матрицы и последний четный элемент в каждом столбце
Дан двумерный массив двухбайтовых знаковых целочисленных элементов 5*8. Полагаем,что в каждой...

Массив: Найти первый отрицательный элемент в каждой строке и последний четный элемент в каждом столбце.
Дан двумерный массив двухбайтовых знаковых целочисленных элементов 5*8. Полагаем,что в каждой...

Найти первый отрицательный элемент в массиве
помогиете пожалуйста.....не понимаю как это сделать....посмотрите файл

Найти первый отрицательный элемент массива
Найти первый отрицательный элемент в массиве целых чисел. Массив записать в файл.


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

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