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

Удаление по названию из упорядоченного массива

28.03.2013, 11:57. Показов 551. Ответов 7
Метки нет (Все метки)

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
31
function TSection.FindNews(_NewsName: string):string;
var
 i:byte;
begin
  for i:=1 to GetCount do
    if NewsArray[i].GetTitleName = _NewsName Then
    begin
      Result :=i;
      Exit;
    end;
  Result := 0;
end;
 
 
function TSection.DeleteNews(_NewsName:string): boolean;       
var
  i,tmp: Byte;
begin
  Result := False;
  if count <> 0 then
  begin
    tmp := FindNews(_NewsName:string);
    if tmp <> 0 then
    begin
      for i:=tmp to Count-1 do NewsArray[i] := NewsArray[i+1];
      NewsArray[Count] := nil;
      Dec(Count);      
      Result := True;
    end;
  end;
 end;
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.03.2013, 11:57
Ответы с готовыми решениями:

Удаление повторяющихся элементов из упорядоченного массива
Как (не используя set) в отсортированном массиве удалить повторяющиеся элементы? Как проверить, что...

Удаление элемента из упорядоченного массива и вставка нового значения
Дано упорядоченное по возрастанию массив целых чисел А (n), натуральное число k &lt;= N и целое число...

Построение упорядоченного преддерева из упорядоченного дерева
Здравствуйте! Ребята, нужна помощь! Нужно написать рекурсивную функцию, которая из...

Определить, будет ли средний элемент упорядоченного массива больше, меньше или равен среднему арифметическому всех элементов массива
Дана задача. Я ее почти решила. Вот только не могу записать, как определить, будет ли средний...

7
2664 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
28.03.2013, 12:00 2
Доверь это дело классу TStringList - он все это сделает за тебя сам.
0
0 / 0 / 0
Регистрация: 21.08.2012
Сообщений: 24
28.03.2013, 14:39  [ТС] 3
Цитата Сообщение от mss Посмотреть сообщение
Доверь это дело классу TStringList - он все это сделает за тебя сам.
попробую,спасибо)

Добавлено через 1 час 21 минуту
вот что получилось(понимаю что не совсем правильно):
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
function TSection.FindNews(_NewsName: string):string;
var
 i:byte;
 StrList:TStringList;
begin
StrList:= TStringList.Create(_NewsName:string);
  for i:=1 to StrList.Count-1 do
    if NewsArray[i].GetTitleName = _NewsName Then
    begin
      Result :=StrList[i];
      Exit;
    end;
  Result := 0;
end;
 
 
function TSection.DeleteNews(_NewsName:string): boolean;       
var
  i: Byte;
  Lst:TStringList;
begin
  Result := False;
  if count <> 0 then
  begin
    Lst := FindNews(_NewsName:string);
    if Lst:=NewsName then
    begin
      for i:=Lst[index] to Count-1 do NewsArray[i] := NewsArray[i+1];
      NewsArray[Count] := nil;
      Dec(Count);      
      Result := True;
    end;
  end;
 end;
Все так же надеюсь на вашу помощь...
0
2664 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
28.03.2013, 15:05 4
Цитата Сообщение от Slippin Посмотреть сообщение
TStringList.Create(_NewsName:string);
Это что за ?

И про стринглист вообще-то было упомянуто в противовес массиву, а не в довесок.
0
0 / 0 / 0
Регистрация: 21.08.2012
Сообщений: 24
28.03.2013, 17:24  [ТС] 5
TStringList.Create(_NewsName:string);
сглупил признаю....

в том то и проблема что у меня структура - динамическая очередь упорядоченных массивов и было бы очень просто удалить элемент по индексу из массива,но преподаватель требует по названию (ума не приложу как это сделать)
0
2664 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
28.03.2013, 17:44 6
тогда забудь про стринглист.

а что такое TSection ? класс, инкапсулирующий данные и методы доступа к данным упорядоченного массива что ли ?
0
0 / 0 / 0
Регистрация: 21.08.2012
Сообщений: 24
28.03.2013, 23:04  [ТС] 7
да,TSection это класс массивов в котором хранятся стринговые объекты TNews
0
2664 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
28.03.2013, 23:37 8
Цитата Сообщение от Slippin Посмотреть сообщение
стринговые объекты
Что это за ?
Как конкретно описаны классы TSection и TNews ?
0
28.03.2013, 23:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.03.2013, 23:37
Помогаю со студенческими работами здесь

Обработка упорядоченного массива
Плиз помогите очень сильно надо

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

Подсчитать количество различных чисел среди элементов упорядоченного массива
Подскажите, как подсчитать кол-во различных чисел сред элементов массива. Т.е. если дан массив 2 2...

Проверить, можно ли путём вычёркивания элементов из упорядоченного массива А получить Б
Есть два массива отсортированных массива. Нужно проверить можно ли путём вычёркивания элементов из...


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

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