powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Несколько вопросов про массивы(pascal)
24 сообщений из 49, страница 2 из 2
Несколько вопросов про массивы(pascal)
    #39534477
BlackeAngel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
schi,
2 раза перебирать массив. Первый раз считаешь все не пустые строки, создаешь новый массив, в него пишешь
не пустые строки, возвращаешь новый массив. Вот и вся функция. Но застрял на синтаксисе :) на vb6.0, на java написал, на паскале не могу.
...
Рейтинг: 0 / 0
Несколько вопросов про массивы(pascal)
    #39534481
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlackeAngelschi,
2 раза перебирать массив. Первый раз считаешь все не пустые строки, создаешь новый массив, в него пишешь
не пустые строки, возвращаешь новый массив. Вот и вся функция. Но застрял на синтаксисе :) на vb6.0, на java написал, на паскале не могу.
Зачем два раза перебирать? Создаёшь новый массив с количеством строк равным старому. После этого проходишь по первому массиву, копируешь не пустые строки и считаешь их одновременно. После прохода корректируешь длину нового массива. Вуаля.
...
Рейтинг: 0 / 0
Несколько вопросов про массивы(pascal)
    #39534482
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но для этой задачи нафиг не упал двумерный массив, тут одномерного за глаза.
...
Рейтинг: 0 / 0
Несколько вопросов про массивы(pascal)
    #39534486
BlackeAngel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alekcvp,
Как это не упал?
Удалить пустые строки двумерного массива.
В этой теме о простых массивах не говорится, только о двумерных.
...
Рейтинг: 0 / 0
Несколько вопросов про массивы(pascal)
    #39534493
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlackeAngelalekcvp,
Как это не упал?
Удалить пустые строки двумерного массива.
В этой теме о простых массивах не говорится, только о двумерных.
Ну тогда, в принципе, то же самое, только в результирующем массиве у тебя будет массив массивов с разной длиной .
...
Рейтинг: 0 / 0
Несколько вопросов про массивы(pascal)
    #39534498
BlackeAngel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alekcvp,
А зачем массив массивов?
...
Рейтинг: 0 / 0
Несколько вопросов про массивы(pascal)
    #39534558
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlackeAngelalekcvp,
А зачем массив массивов?
Представь что у тебя в первой линии двумерного массива 20 строк, из них 5 пустые. А во второй - 20 строк, из которых 8 пустых. Как ты 12 строк запихнёшь в линию массива [x, 15], чтобы в ней не было пустых строк?
...
Рейтинг: 0 / 0
Несколько вопросов про массивы(pascal)
    #39534565
BlackeAngel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alekcvp,
Какая разница? В вашем примере размерность 20, не важно сколько пустых, если в строке хоть один элемент, то она не пустая, а вот когда ни одного, то пустая.
С Т О Л Б Ц Ы
Т 1 2 3 4 5 6 7
Р 3 8 в 5 9 11
О ы в + ь . 33э
К
И м
Строка К - пустая, остальные нет.
...
Рейтинг: 0 / 0
Несколько вопросов про массивы(pascal)
    #39534572
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlackeAngelalekcvp,
Какая разница? В вашем примере размерность 20, не важно сколько пустых, если в строке хоть один элемент, то она не пустая, а вот когда ни одного, то пустая.
С Т О Л Б Ц Ы
Т 1 2 3 4 5 6 7
Р 3 8 в 5 9 11
О ы в + ь . 33э
К
И м
Строка К - пустая, остальные нет.
Понятно. Ты бы уточнял, что "строка", имеется в виду строка таблицы, а не string.
Тогда ещё вопрос, что значит "строка К пустая", т.к. элементы массива не могут быть "пустыми", то что считается пустотой - пробел, #0 или что?
...
Рейтинг: 0 / 0
Несколько вопросов про массивы(pascal)
    #39534575
BlackeAngel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alekcvp,
Пустое - элемент зарезервирован, но не заполнен. Имеет значение null
...
Рейтинг: 0 / 0
Несколько вопросов про массивы(pascal)
    #39534577
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlackeAngelalekcvp,
Пустое - элемент зарезервирован, но не заполнен. Имеет значение null
В паскале нет null, за исключением указателей. Если у тебя массив символов, то там будет либо #0, либо мусор.
...
Рейтинг: 0 / 0
Несколько вопросов про массивы(pascal)
    #39534578
BlackeAngel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alekcvp,
Я не знаю что такое #0 :(
...
Рейтинг: 0 / 0
Несколько вопросов про массивы(pascal)
    #39534591
BlackeAngel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А Empty есть?
...
Рейтинг: 0 / 0
Несколько вопросов про массивы(pascal)
    #39534593
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlackeAngelalekcvp,
Я не знаю что такое #0 :(
#0 - это символ с кодом 0.
Для символьных есть только коды символов - от 0 до $FF(AnsiChar) или $FFFF (Unicode). Поэтому я и предлагал использовать массив строк - там проще определить что строка пустая.
...
Рейтинг: 0 / 0
Несколько вопросов про массивы(pascal)
    #39534596
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну или использовать PChar, там есть nil, но будет геморрой с управлением памятью. Или Variant, там есть Null, но это из пушки по воробьям.
...
Рейтинг: 0 / 0
Несколько вопросов про массивы(pascal)
    #39534608
BlackeAngel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alekcvp,
Ну как вариант еще длину строки.
Берем стринговый sum и складываем в него все содержимое iй строки, проверяем длину, если = 0 то пустая.

А так тип Variant судя по описанию очень привлекательный.
...
Рейтинг: 0 / 0
Несколько вопросов про массивы(pascal)
    #39534611
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlackeAngelalekcvp,
Ну как вариант еще длину строки.
Берем стринговый sum и складываем в него все содержимое iй строки, проверяем длину, если = 0 то пустая.
А так тип Variant судя по описанию очень привлекательный.
Это какая-то лабораторная работа что-ли? Иначе смысл требования именно двумерного массива непонятен.
...
Рейтинг: 0 / 0
Несколько вопросов про массивы(pascal)
    #39534612
BlackeAngel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alekcvp,
Нет, это пережитки прошлого ;)
Я привык к ним, к массивам, к их гибкости и многофункциональности.
...
Рейтинг: 0 / 0
Несколько вопросов про массивы(pascal)
    #39534625
schi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlackeAngelalekcvp,
Нет, это пережитки прошлого ;)
Я привык к ним, к массивам, к их гибкости и многофункциональности.

Вторую страницу уже видно про гибкость и функциональность. Задача какая решается ?
...
Рейтинг: 0 / 0
Несколько вопросов про массивы(pascal)
    #39534631
BlackeAngel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Несколько вопросов про массивы(pascal)
    #39534659
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlackeAngelschi,

http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1273748&msg=20859698
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
function Compact(const Source: TStringArray): TStringArray;
var
  Index: Integer;
  Count: Integer;
begin
  Count := 0;
  SetLength(Result, Length(Source));
  for Index := 0 to High(Source) do begin
    if Source[Index] = '' then Continue;
    Result[Count] := Source[Index];
    Inc(Count);
  end;
  SetLength(Result, Count);
end;


С удовольствием взгляну на "гибкий и функциональный" код для двумерного массива из Variant
...
Рейтинг: 0 / 0
Несколько вопросов про массивы(pascal)
    #39534682
schi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvp,

TSparseList
...
Рейтинг: 0 / 0
Несколько вопросов про массивы(pascal)
    #39534711
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
schi,

Гугл на него почему-то только иероглифами ссылки выдаёт.
...
Рейтинг: 0 / 0
Несколько вопросов про массивы(pascal)
    #39534720
schi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvpschi,

Гугл на него почему-то только иероглифами ссылки выдаёт.

grids.pas
...
Рейтинг: 0 / 0
24 сообщений из 49, страница 2 из 2
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Несколько вопросов про массивы(pascal)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]