Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.69/16: Рейтинг темы: голосов - 16, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 18.06.2013
Сообщений: 37

Преобразовать массив таким образом,чтобы элементы, лежащие в интервале [a,b], располагались в начале

18.06.2013, 19:16. Показов 3617. Ответов 45
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дан одномерный массив из n целых чисел найти сумму после минимального. Преобразовать массив таким образом,чтобы элементы лежащие в интервале[a,b] располагались в начале а остальные потом массива.

вот это моя задача! я сделал первое задание и вывел его в стрингрид теперь мне нужно преобразовать это массив и вывести его в другой массив!
я не могу этого память как это сделать!
помогите пожалуйста!
заранее спасибо
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.06.2013, 19:16
Ответы с готовыми решениями:

Преобразовать массив таким образом, чтобы сначала располагались все элементы, равные нулю, а потом - все остальные
Вот задание:Преобразовать массив таким образом, чтобы сначала располагались все элементы, равные нулю, а потом - все остальные.Я создал...

Преобразовать массив таким образом,чтобы элементы лежащие в интервале[a,b] располагались в конце массива.
Дан одномерный массив. Преобразовать массив таким образом,чтобы элементы лежащие в интервале располагались в конце массива.

Преобразовать массив таким образом, чтобы сначала располагались все элементы, целая часть которых лежит в интервале [а,b]
в одномерном массиве, состоящем из п вещественных элементов, вычислить: Преобразовать массив таким образом, чтобы сначала располагались...

45
0 / 0 / 0
Регистрация: 18.06.2013
Сообщений: 37
20.06.2013, 15:37  [ТС]
Студворк — интернет-сервис помощи студентам
это я понимаю , самое главное же в стрингрид вывести
0
Pascal, Delphi, C++
 Аватар для Taftis
215 / 128 / 91
Регистрация: 01.12.2012
Сообщений: 628
20.06.2013, 15:57
Pascal
1
stringgrid1.cells[i,0]:=a[i];
0
0 / 0 / 0
Регистрация: 18.06.2013
Сообщений: 37
20.06.2013, 16:17  [ТС]
var
a,b,i,tmp:Integer;
begin
a:= StrToInt(edt1.text);
b:=StrToInt(edt2.text);
i:=1;
repeat
tmp:=m[i];
m[i]:=m[a];
m[a]:=tmp;
i:=I+1;
a:=a+1;
until a<=b ;
strngrd2.cells[i,0]:=IntToStr(a[i]); вот тут ошибка

end;

Добавлено через 19 секунд
посмотри по программе пожалуйста
0
Pascal, Delphi, C++
 Аватар для Taftis
215 / 128 / 91
Регистрация: 01.12.2012
Сообщений: 628
20.06.2013, 16:26
у тебя массив тут
Цитата Сообщение от help8 Посмотреть сообщение
m[i];
а там

Цитата Сообщение от help8 Посмотреть сообщение
(a[i])
Добавлено через 32 секунды
стринггрид нужно заполнять в цикле
1
0 / 0 / 0
Регистрация: 18.06.2013
Сообщений: 37
20.06.2013, 16:30  [ТС]
не работает((((((
0
0 / 0 / 0
Регистрация: 18.06.2013
Сообщений: 37
20.06.2013, 16:35  [ТС]
29-30.rar
посмотри пожалуйста
0
Pascal, Delphi, C++
 Аватар для Taftis
215 / 128 / 91
Регистрация: 01.12.2012
Сообщений: 628
20.06.2013, 16:38
да конечно не работает твою прогу по нормальному с 0 писать надо а я сейчас занят
1
0 / 0 / 0
Регистрация: 18.06.2013
Сообщений: 37
20.06.2013, 16:41  [ТС]
Цитата Сообщение от Taftis Посмотреть сообщение
да конечно не работает твою прогу по нормальному с 0 писать надо а я сейчас занят
а что там неправильного?

ты сможешь сегодня посмотреть?
0
Pascal, Delphi, C++
 Аватар для Taftis
215 / 128 / 91
Регистрация: 01.12.2012
Сообщений: 628
20.06.2013, 16:44
в
Pascal
1
2
3
4
о первых
for i:=1 to n do
strngrd2.cells[i,1]:=IntToStr(m[i]);
вне репит антил
1
0 / 0 / 0
Регистрация: 18.06.2013
Сообщений: 37
20.06.2013, 16:52  [ТС]
заполняется, везде нули
0
Pascal, Delphi, C++
 Аватар для Taftis
215 / 128 / 91
Регистрация: 01.12.2012
Сообщений: 628
20.06.2013, 17:16
а это потому что ты должен передать массив стрингрида 1 в процедуру
Pascal
1
2
for i:=1 to n do
m[i]:=stringgrid.cells[i,1];
0
0 / 0 / 0
Регистрация: 18.06.2013
Сообщений: 37
20.06.2013, 17:26  [ТС]
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
a,b,i,tmp:Integer;
begin
a:= StrToInt(edt1.text);
b:=StrToInt(edt2.text);
i:=1;
for i:=1 to n do
m[i]:=StrToInt(strngrd1.cells[i,1]) ;
repeat
tmp:=m[i];
m[i]:=m[a];
m[a]:=tmp;
i:=I+1;
a:=a+1;
until a<=b  ; {
for i:=1 to 15 do
strngrd2.cells[i,1]:=IntToStr(m[i]); }
Добавлено через 35 секунд
так выбивает прогу
посмотри пожалуйста
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33440 / 21542 / 8245
Регистрация: 22.10.2011
Сообщений: 36,973
Записей в блоге: 12
20.06.2013, 20:59
help8,

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
  a:= StrToInt(edt1.text);
  b:=StrToInt(edt2.text);
 
  for i:=1 to n do 
    m[i]:=StrToInt(strngrd1.cells[i,1]);
 
  // Упорядочиваем старым добрым "пузырьком", только правильно пишем условие
  for i := 1 to n do
    for j := n downto i + 1 do
    begin
      // или if ((m[j-1]<a) and (m[j-1]>b)) and ((m[j]>=a) and (m[j]<=b))
      // или так (не забудь подключить в Uses модуль Math):
      if not InRange(m[j - 1], a, b) and InRange(m[j], a, b) then
      begin
        T := m[j - 1]; m[j - 1] := m[j]; m[j] := T;
      end;
  end;
 
  for i:=1 to n do
    strngrd2.cells[i,1]:=IntToStr(m[i]);
1
0 / 0 / 0
Регистрация: 18.06.2013
Сообщений: 37
20.06.2013, 22:10  [ТС]
спасибо, но я попробывал двумя способом в стрингриде ничего нет((
0
Pascal, Delphi, C++
 Аватар для Taftis
215 / 128 / 91
Регистрация: 01.12.2012
Сообщений: 628
20.06.2013, 22:18
снеси прогу и с нуля напишы
0
0 / 0 / 0
Регистрация: 18.06.2013
Сообщений: 37
20.06.2013, 22:58  [ТС]
ребят, в стрингрид выводит но неправильно(
не понятно как-то
надоел наверно всем уже
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33440 / 21542 / 8245
Регистрация: 22.10.2011
Сообщений: 36,973
Записей в блоге: 12
20.06.2013, 23:15
help8, следи за руками: на форме - только 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
procedure TForm1.Button32Click(Sender: TObject);
var a, b : integer;
    i, j, T : Integer;
    m : array of integer;
begin
  a:= StrToInt(edt1.text);
  b:=StrToInt(edt2.text);
  n := strngrd1.ColCount - 1;
  SetLength(m, n + 1);
 
  for i:=1 to n do
    m[i]:=StrToInt(strngrd1.cells[i,1]);
 
  // Упорядочиваем старым добрым "пузырьком", только правильно пишем условие
  for i := 1 to n do
    for j := n downto i + 1 do
    begin
      // не забудь подключить в Uses модуль Math
      if not InRange(m[j - 1], a, b) and InRange(m[j], a, b) then
      begin
        T := m[j - 1]; m[j - 1] := m[j]; m[j] := T;
      end;
  end;
 
  for i:=1 to n do
    strngrd2.cells[i,1]:=IntToStr(m[i]);
end;
Вот что получается:



Что я не так сделал, что у меня работает, а у тебя - нет?
0
0 / 0 / 0
Регистрация: 18.06.2013
Сообщений: 37
20.06.2013, 23:21  [ТС]
ну у меня примерно также

только не правильно же это
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33440 / 21542 / 8245
Регистрация: 22.10.2011
Сообщений: 36,973
Записей в блоге: 12
20.06.2013, 23:44
У тебя - нет. У меня - правильно. Вот я и спрашиваю, чем ты изуродовал мой код, что он у тебя не работает? Присоединяй проект полностью (в архиве, только удали весь мусор, EXE-шники, и временные файлы) - посмотрим, что не так.
0
Pascal, Delphi, C++
 Аватар для Taftis
215 / 128 / 91
Регистрация: 01.12.2012
Сообщений: 628
21.06.2013, 07:32
ахаха
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.06.2013, 07:32
Помогаю со студенческими работами здесь

Преобразовать массив таким образом, чтобы сначала располагались все положительные элементы
Преобразовать массив таким образом, чтобы сначала располагались все положительные элементы, а потом — все отрицательные (элементы, равные...

Преобразовать массив таким образом, чтобы сначала располагались все нулевые элементы
В двумерном массиве, состоящем из NxN вещественных элементов, вычислить: Преобразовать массив таким образом, чтобы сначала располагались...

Преобразовать массив таким образом, чтобы сначала располагались все положительные элементы
Усливие: Дан целочисленный массив размера n преобразовать его таким образом,что бы с начало располагались все положительные элементы,а...

Преобразовать массив таким образом, чтобы сначала располагались все неотрицательные элементы
1. Дан одномерный массив, состоящий из N вещественных элементов. Преобразовать массив таким образом, чтобы сначала располагались все...

Массив: Преобразовать массив таким образом, чтобы сначала располагались все элементы > 0, а потом < 0...
Преобразовать одномерный целочисленный массив таким образом, чтобы сначала располагались все положиТельные элементы, а...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Гайд, как ворваться в вайб-кодинг в мае 2026
Noname2331 17.05.2026
Простите за получившееся полотно текста, я даже не знаю, как его разбить на главы. Тут, что называется, ни добавить ни убавить, одна сцена одним дублем. На моих глазах недавно случилось чудо. Как. . .
[golang] Алгоритм «Хак Госпера»
alhaos 17.05.2026
Алгоритм «Хак Госпера» Хак Госпера (Gosper's Hack) — алгоритм нахождения следующего по величине числа с тем же количеством установленных бит. Придуман Биллом Госпером в 1970-х, опубликован в. . .
Рисование бинарного древа до 6-го колена на js, svg.
russiannick 17.05.2026
<svg width="335" height="240" viewBox="0 0 335 240" fill="#e5e1bb"> <style> <!]> </ style> <g id="bush"> </ g> </ svg> function fn(){ let rost;/ / высота древа let xx=165,yy=210,w=256;
FSharp: interface of module
DevAlt 16.05.2026
Интерфейс модуля F# позволяет управлять доступностью членов, содержащихся в реализации модуля. По-умолчанию все члены модуля доступны: module Foo let x = 10 let boo () = printfn "boo" . . .
Хитросплетение родственных связей пантеона греческих богов.
russiannick 14.05.2026
Однооконник, позволяющий узреть и изучить отдельных героев древней Греции. <!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible". . .
[golang] Угол между стрелками часов
alhaos 12.05.2026
По заданным значениям часа и минуты необходимо определить значение меньшего угла между стрелками аналогового циферблата часов. import "math" func angleClock(hour int, minutes int) float64 { . . .
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html и его же старой инструкции по установке Lazarus с gtk2. . .
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер. Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru