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

Найти самую короткую строку и удалить ее

27.03.2013, 23:10. Показов 2753. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
работа со строками . пожалуйста нужна срочная помощь.
Разработать программу, которая делает короткую строку пустой. код Delhi.
 Комментарий модератора 
Темы объединены.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.03.2013, 23:10
Ответы с готовыми решениями:

Определить самую длинную и самую короткую строку файла
помогите пожалуйста,нужно сделать прогу что бы считывало с файла строки ,определяло самую длинную и самую короткую строку и потом эти...

Выделить самую короткую строку в массиве
Приложение, предлагающее пользователю ввести массив строк и выдающее минимальную длину строки в массиве строк. Выделить самую короткую...

Удалить из файла самую короткую строку
Удалить из файла самую короткую строку сформировать новый файл

19
 Аватар для Resst
34 / 27 / 6
Регистрация: 31.03.2012
Сообщений: 115
27.03.2013, 23:18
А почему в раздел C# тогда обращаетесь?
З.Ы. Что значит "короткая строка"? Форумчанам на картах Таро гадать - эта строка короткая, а эта - нет?
0
0 / 0 / 0
Регистрация: 27.03.2013
Сообщений: 14
27.03.2013, 23:27  [ТС]
извиняюсь что не в тот раздел обратился, просто недавно зарегился ещё не освоил . ну у меня задании написано так *Разработать программу, которая делает короткую строку пустой* я так понял что программа из нескольких строк должна найти самую короткую (ту в которой меньше всего символов) и удалить её.
0
Почетный модератор
Эксперт по компьютерным сетямЭксперт Windows
 Аватар для magirus
28049 / 15785 / 983
Регистрация: 15.09.2009
Сообщений: 67,752
Записей в блоге: 78
27.03.2013, 23:35
перенесено....
0
 Аватар для Resst
34 / 27 / 6
Регистрация: 31.03.2012
Сообщений: 115
27.03.2013, 23:36
Смотри: имеется массив строк.
Тебе надо найти самую короткую. Для этого создаешь переменную и присваиваешь ей заведомо самое большое значение. Это будет значение, с которым ты будешь сравнивать (max_len)
Также потребуется еще одна переменная - позиция строки в массиве(index_st)
Потом пробегаешь по массиву строк и если длина строки меньше значения твоей переменнной:
1. Записываешь длину строки в max_len
2. Записываешь №позиции в index_st
Если нет - то ничего не делаешь
В итоге в массив[index_st] записываешь пустое значение.
0
angstrom
27.03.2013, 23:43
В Днльфи понятие короткая строка двусмысленно. ShortString также называется короткая строка.
0 / 0 / 0
Регистрация: 27.03.2013
Сообщений: 14
27.03.2013, 23:52  [ТС]
спасибо большое ну вроде бы понятно ,только я не понял одного , как сделать найденную короткую строку пустой?не могли бы вы пояснить, пожалуйста? если можно то покажите это каким нибудь отрывком из кода. а дальше пойму сам. спасибо большое заранее
0
angstrom
27.03.2013, 23:54
Delphi
1
2
3
4
5
var
  St : String;
...
  // пустая строка
  St := '';
 Аватар для Resst
34 / 27 / 6
Регистрация: 31.03.2012
Сообщений: 115
28.03.2013, 00:00
oleg199526, я дельфи не знаю, если честно.
Записать в нее пустое значение
На C# это так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
            string[] arr = { "Fgfdgdfg", "fdgfgfg", "fff", "e222" };
            int index = 0;
            int lengh = Int32.MaxValue;
 
            for (int i = 0; i < arr.Length; i++)
            {
                if (arr[i].Length < lengh)
                {
                    index = i;
                    lengh = arr[i].Length;
                }
            }
            arr[index] = "";
0
angstrom
28.03.2013, 00:01
Цитата Сообщение от Resst Посмотреть сообщение
я дельфи не знаю
Смотри выше.
Пишу на Delphi...иногда
 Аватар для cotseec
1423 / 1278 / 286
Регистрация: 03.12.2012
Сообщений: 3,914
Записей в блоге: 5
28.03.2013, 00:03
тоже самое - ищется самое короткое слово в массиве в цикле
C#
1
2
3
4
5
         if (arr[i].Length < lengh)
                {
                    index = i;
                    lengh = arr[i].Length;
                }
и записывается пустое значение
Цитата Сообщение от Resst Посмотреть сообщение
C#
1
arr[index] = "";
0
 Аватар для Resst
34 / 27 / 6
Регистрация: 31.03.2012
Сообщений: 115
28.03.2013, 00:58
angstrom, зачем?...
0
angstrom
28.03.2013, 01:08
Цитата Сообщение от oleg199526 Посмотреть сообщение
как сделать найденную короткую строку пустой
Я уже писал про двусмысленность выражения "короткая строка" в Дельфи. Сделать же пустой, значит присвоить ей ''.
0 / 0 / 0
Регистрация: 27.03.2013
Сообщений: 14
31.03.2013, 01:14  [ТС]
подскажите пожалуйста как Разработать программу, которая делает короткую строку пустой. код в Delhi
работа со строками . пожалуйста нужна срочная помощь.
Разработать программу, которая делает короткую строку пустой. код Delhi.
0
angstrom
31.03.2013, 01:18
Что значит пустой и что значит короткую?
Это?
Delphi
1
2
3
4
var
  St : ShortString;
begin
  St := '';
0 / 0 / 0
Регистрация: 27.03.2013
Сообщений: 14
31.03.2013, 01:22  [ТС]
на сколько я понимаю я должен создать массив строк.
далее создаем переменную и присваивам ей заведомо самое большое значение. Это будет значение, с которе мы мыбудем сравнивать (max_len)
Также потребуется еще одна переменная - позиция строки в массиве(index_st)
Потом пробегам по массиву строк и если длина строки меньше значения переменнной:
1. Записываем длину строки в max_len
2. Записываем №позиции в index_st
Если нет - то ничего не делаем
В итоге в массив[index_st] записываем пустое значение.
вот только не получается это реализовать в Delhi. помогите пожалуйста) заранее спасибо_

Добавлено через 3 минуты
да) ну пустая это та где нет символов . та из всех строк в которой меньше всего символов та есть короткая
0
angstrom
31.03.2013, 01:22
Предыдущая тема не устроила?
0 / 0 / 0
Регистрация: 27.03.2013
Сообщений: 14
31.03.2013, 01:28  [ТС]
я не могу в делфи не как это реализовать((
0
Я не экстрасенс
 Аватар для barbudo59
382 / 339 / 34
Регистрация: 22.01.2013
Сообщений: 1,126
31.03.2013, 01:47
Давайте Ваш код, а иначе
Цитата Сообщение от oleg199526 Посмотреть сообщение
не как
0
 Аватар для Mawrat
13113 / 5894 / 1708
Регистрация: 19.09.2009
Сообщений: 8,809
31.03.2013, 02:59
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Вот, например, решение с двумя Мемо:
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
38
39
40
41
42
43
procedure TForm1.Button1Click(Sender: TObject);
var
  i, j, Len, LenMin : Integer;
  Arr : array of Integer;
begin
  //Список строк в Мемо2 делаем таким же, как в Мемо1.
  Memo2.Lines.Assign(Memo1.Lines);
  //Если в Мемо1 нет строк, то выходим.
  if Memo1.Lines.Count = 0 then Exit;
 
  //Первую строку (её индекс = 0) считаем наименьшей по длине.
  LenMin := Length(Memo2.Lines[0]);
  //Количество строк с наименьшей длиной = 1.
  j := 1;
  //Устанавливаем размер массива.
  SetLength(Arr, j);
  //Записываем индекс строки с наименьшей длиной в массив.
  Arr[j - 1] := 0;
  //Перебор остальных строк в Мемо1 и поиск индексов строк с наименьшей длиной.
  for i := 0 + 1 to Memo2.Lines.Count - 1 do begin
    //Длина очередной строки.
    Len := Length(Memo2.Lines[i]);
    //Если длина оказалась меньше текущей наименьшей, то эта длина становится
    //новой текущей наименьшей длиной.
    if Len < LenMin then begin
      LenMin := Len;     //Новая наименьшая длина.
      j := 1;            //Количество строк с наименьшей длиной теперь = 1.
      SetLength(Arr, j); //Устанавливаем размер массива.
      Arr[j - 1] := i;   //Записываем в массив индекс строки с наименьшей длиной.
    //Если длина текущей строки оказалась равной текущей наименьшей, то добавляем
    //индекс этой строки в массив.
    end else if Len = LenMin then begin
      Inc(j);
      SetLength(Arr, j); //Устанавливаем размер массива.
      Arr[j - 1] := i;   //Записываем в массив индекс строки с наименьшей длиной.
    end;
  end;
 
  //Теперь в массиве Arr содержатся индексы строк с наименьшей длиной.
  //Читаем из массива записанные значения индексов и строки под этими индексами
  //делаем пустыми.
  for i := 0 to j - 1 do Memo2.Lines[Arr[i]] := '';
end;
Миниатюры
Найти самую короткую строку и удалить ее  
Вложения
Тип файла: rar Обнуление самых коротких строк-01.rar (165.3 Кб, 1 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.03.2013, 02:59
Помогаю со студенческими работами здесь

В текстовом файле удалить самую короткую строку
При решении задач должны выполняться следующие требования: - Текстовый файл формируется в любом текстовом редакторе и должен содержать не...

Удалить из массива строк самую короткую строку
Сформировать массив строк разной длины. Удалить из него самую короткую строку.

Удалить из файла самую короткую строку (сформировать новый файл)
Удалить из файла самую короткую строку (сформировать новый файл).

Сформировать массив строк. Удалить из него самую короткую строку
Сформировать массив строк. Удалить из него самую короткую строку

Сформировать массив строк. Удалить из него самую короткую строку
Помогите пожалуйста. Сформировать массив строк. Удалить из него самую короткую строку


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru