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

Заменить нулями элементы массива между минимальным и максимальным, кроме их самих

25.09.2013, 19:18. Показов 2088. Ответов 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
28
29
30
procedure TForm3.Button6Click(Sender: TObject);
var
i,max,min,p,b:integer;
begin
Edit4.Text:=' ';
min:=M[1];
max:=M[1];
for i:=1 to n do
begin
if M[i]<min then
begin
min:=M[i];
p:=i;
end;
if M[i]>max then
begin
max:=M[i];
b:=i;
end;
end;
if p<b then
for i:=p+1 to b-1 do
M[i]:=0
else
for i:=b+1 to p-1 do
M[i]:=0;
for i:=0 to n-1 do
Edit4.Text := Edit4.Text + ' ' + IntToStr(M[i]);
end;
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.09.2013, 19:18
Ответы с готовыми решениями:

Заменить нулями элементы массива между минимальным и максимальным, кроме их самих
Заменить нулями элементы массива между минимальным и максимальным, кроме их самих.

Заменить нулями элементы массива между минимальным и максимальным, кроме них самих.
Дан вектор В. Заменить нулями элементы между минимальным и максимальным, кроме них самих.

Заменить нулями элементы массива между минимальным и максимальным, кроме них самих
Дан одномерный массив А(N), где N – заданное натуральное число. Массив получен методом...

Заменить нулями элементы между минимальным и максимальным кроме них самих
Здравствуйте, решите пожалуйста 2 задачи 1) Заменить нулями элементы между минимальным и...

10
пофигист широкого профиля
4753 / 3190 / 860
Регистрация: 15.07.2013
Сообщений: 18,477
25.09.2013, 19:58 2
Почему первый цикл от 1 до n, а последний от 0 до n-1?
0
0 / 0 / 1
Регистрация: 07.01.2013
Сообщений: 57
25.09.2013, 20:02  [ТС] 3
если последний от 1 писать ,то он не выводит первый элемент массива ,а если до n сделать тогда в конце появляется лишний элемент вообще неизвестное число,поэтому я поменяла
0
Почетный модератор
64303 / 47600 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
25.09.2013, 20:15 4
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
procedure TForm3.Button6Click(Sender: TObject);
var i,p,b,x:integer;
begin
p:=1;
b:=1;
for i:=1 to n do //найдем номера мин и макс
if M[i]<min then p:=i
else if M[i]>max then b:=i;
if p>b then //если мин дальше
 begin
  x:=p;
  p:=b; //обменяем местами
  b:=x
 end;
for i:=p+1 to b-1 do  M[i]:=0;//обнулим, если есть что..
Edit4.Text := Edit4.Text + ' ' + IntToStr(M[i]);
end;
Массив как понял статистический...
1
0 / 0 / 1
Регистрация: 07.01.2013
Сообщений: 57
25.09.2013, 20:41  [ТС] 5
так тоже не работает,просто набор цифр не из массива даже нулей нет
0
пофигист широкого профиля
4753 / 3190 / 860
Регистрация: 15.07.2013
Сообщений: 18,477
25.09.2013, 20:49 6
Цитата Сообщение от popcorn93 Посмотреть сообщение
если последний от 1 писать ,то он не выводит первый элемент массива
Какой первый элемент массива? M[0] что ли? Так он же нигде в алгоритме не учитывается! Ни в поиске минимального, ни в поиске максимального.
0
0 / 0 / 1
Регистрация: 07.01.2013
Сообщений: 57
25.09.2013, 20:58  [ТС] 7
Вот я сделала от 1 до n смотрите первый элемент не выводит даже и после минимального все обнуляет и в конце число из неоткуда появляется
Миниатюры
Заменить нулями элементы массива между минимальным и максимальным, кроме их самих  
0
59 / 59 / 12
Регистрация: 24.10.2012
Сообщений: 170
25.09.2013, 21:09 8
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
procedure TForm3.Button6Click(Sender: TObject);
  var i,p,b,x:integer;
begin
  p:=1;
  b:=1;
  for i:=2 to n do 
  begin
    if M[i]<M[p] then p:=i;
    if M[i]>M[b] then b:=i;
  end;
  if p>b then //если мин дальше
  begin
    x:=p;
    p:=b; //обменяем местами
    b:=x
  end;
  for i:=p+1 to b-1 do 
  begin 
    M[i]:=0;
    Edit4.Text := Edit4.Text + ' ' + IntToStr(M[i]);
  end;
end;
Добавлено через 3 минуты
Цитата Сообщение от popcorn93 Посмотреть сообщение
Вот я сделала от 1 до n смотрите первый элемент не выводит даже и после минимального все обнуляет и в конце число из неоткуда появляется
Дай процедуру где заполняешь массив.
0
0 / 0 / 1
Регистрация: 07.01.2013
Сообщений: 57
25.09.2013, 21:14  [ТС] 9
ошибку в 8 строчке выдает

Добавлено через 1 минуту
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
procedure TForm3.Button1Click(Sender: TObject);
 var
 i:integer ;
 begin
 randomize;
 N :=StrToInt(Edit1.Text);
 SetLength (M,N);
 Edit2.Text:=' ';
 for i:=0 to N-1 do
 begin
 M[i]:=Round(Sin(Random(40))*40);
 Edit2.Text:=Edit2.Text + ' ' + IntToStr (M[i]);
 end;
 end;
0
59 / 59 / 12
Регистрация: 24.10.2012
Сообщений: 170
25.09.2013, 21:17 10
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
procedure TForm3.Button6Click(Sender: TObject);
  var i,p,b,x:integer;
begin
  p:=0;
  b:=0;
  for i:=1 to n-1 do 
  begin
    if M[i]<M[p] then p:=i;
    if M[i]>M[b] then b:=i;
  end;
  if p>b then //если мин дальше
  begin
    x:=p;
    p:=b; //обменяем местами
    b:=x
  end;
  for i:=p+1 to b-1 do M[i]:=0;
  for i:=0 to n-1 do  Edit4.Text := Edit4.Text + ' ' + IntToStr(M[i]);
end;
1
0 / 0 / 1
Регистрация: 07.01.2013
Сообщений: 57
25.09.2013, 21:24  [ТС] 11
в результате тот же массив что и изначально дан(

Добавлено через 3 минуты
Все получилось,спасибо большое))
0
25.09.2013, 21:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.09.2013, 21:24
Помогаю со студенческими работами здесь

Заменить нулями элементы между минимальным и максимальным кроме них самих.
1.Заменить нулями элементы между минимальным и максимальным кроме них самих. 2. Заменить...

Заменить нулевые элементы массива между минимальным и максимальным кроме их самих
Здравствуйте, помогите пожалуйста составить задачи, очень нужно, заранее спасибо огромное. 1)Дан...

Заменить нулями элементы массива между минимальными и максимальными, кроме них самих
Дан 1- мерный массив A(N), где N - заданное натуральное число.Массив получен методом генерирования...

Заменить нулями элементы между минимальным и максимальным элементами массива
Дан массив целых чисел из N элементов. Необходимо заменить нулями элементы между минимальным и...


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

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