|
0 / 0 / 0
Регистрация: 02.11.2021
Сообщений: 10
|
||||||
Как значение Length(list[i]) string, присвоить значение s[i,1] integer?03.11.2021, 15:55. Показов 2248. Ответов 10
Метки нет (Все метки)
Имеется прекрасная работающая программа:
Хотя list.Count, также является string, но присваивается для значения integer, и продолжает иметь не обнулённое значение. Как сделать, чтобы значение Length(list[i]) string присваивалось после цикла? Или может быть нужен другой модуль для подсчёта кол-ва букв в каждом слове. Но может быть можно что-то поменять в данном варианте, чтобы значения не обнулялись после цикла подсчета кол-ва букв в каждом слове. Спасибо.
0
|
||||||
| 03.11.2021, 15:55 | |
|
Ответы с готовыми решениями:
10
Как присвоить типу char значение string? Как присвоить значение вектора string массиву? |
|
0 / 0 / 0
Регистрация: 02.11.2021
Сообщений: 10
|
|
| 04.11.2021, 10:56 [ТС] | |
|
видимо я плохо пояснила мою проблему. Эта вставка не мой труд, но труд какого-то профессионала в программировании на Делфи.
Мой вопрос был в том, как может эта программа, или другая, не обнулять значения после просчёта букв в каждом слове. Потому что если даже мне удаётся в delphi xe 5 присвоить s[i,1]:=Length(list[i]) string, то сохраняется только одно значение s[i,1], к примеру s[1,1] сохраняется, а остальные значения s[2,1] и т.д., равны нулю. Так мой вопрос в том, как сделать, чтобы после цикла for i := 0 to list.Count-1 do Memo1.Lines.Add('Длина '+IntToStr(i+1)+'-го слова = '+IntToStr(Length(list[i]))); list.Free; end; все значения Length(list[i]) присвоенные к s[i,1], были сохранены? Участвовали в следующих расчётах? Спасибо.
0
|
|
|
8 / 4 / 4
Регистрация: 20.10.2021
Сообщений: 11
|
|||||||||
| 04.11.2021, 12:35 | |||||||||
Сообщение было отмечено ar777 как решение
Решение
1
|
|||||||||
|
0 / 0 / 0
Регистрация: 02.11.2021
Сообщений: 10
|
||||||||||||||||
| 04.11.2021, 19:49 [ТС] | ||||||||||||||||
|
Всё прекрасно, но, мне нужен цикл for i := 1 to Length(t) do
Если сделать как ниже, то просчет будет со 2-го слова, и расчет закончится.
Всё прекрасно, но, мне нужен цикл for i := 1 to Length(t) do Если сделать как ниже, то просчет будет со 2-го слова, и расчет закончится:
Или можно переделать для нормального цикла:
Спасибо.
0
|
||||||||||||||||
|
8 / 4 / 4
Регистрация: 20.10.2021
Сообщений: 11
|
||||||||
| 04.11.2021, 21:37 | ||||||||
Сообщение было отмечено ar777 как решение
Решение
Переменная s содержит введенное предложение в текстовое поле. Далее текст из s делится на слова и эти слова записываются в list. Теперь List это массив из слов.
Было бы хорошо, если бы вы более точно сформулировали, что вам нужно Добавлено через 8 минут
1
|
||||||||
|
0 / 0 / 0
Регистрация: 02.11.2021
Сообщений: 10
|
||||||
| 05.11.2021, 12:24 [ТС] | ||||||
|
Как я понимаю, сделать for i := 1 to Length(t) do не получится для :
Добавлено через 1 минуту слава Богу, что я стала инженершей, а не программисткой Добавлено через 1 минуту большое, огромное спасибо, что мне помогают. Вам также счастливым кто-то помогут.
0
|
||||||
|
Модератор
|
|||
| 05.11.2021, 16:37 | |||
|
На всякий случай, s: String, т.е. (грубо упрощенно для ShortString) s: array [0..255] of Char, количество измерений у этого массива ровно одно. Что такое s[i,1] -- элемент двумерного массива -- тайна сия пока велика есть. Приоткроете завесу сей страшной тайны? Добавлено через 10 минут Смотрим дальше. list: TStringList, угу, list[i] -- i-я строка в списке list, Length(list[i]) -- длина i-й строки из списка list, целое число между прочим. Куда ее нужно присвоить, какой целой переменной или какому целочисленному элементу массива или целочисленному полю записи/объекта/класса?
0
|
|||
|
0 / 0 / 0
Регистрация: 02.11.2021
Сообщений: 10
|
||||||
| 05.11.2021, 17:01 [ТС] | ||||||
|
for i := 1 to Length(t) do
Length(t) - это длина строки, куда как я понимаю выводятся слова. В принципе это стандартное выражение в Делфи, куда выводятся слова. Мой расчёт не оканчивается на подсчёте букв в словах, расчёт продолжается. Дело в этом. как затем цифры складываются, это как говорится Бог дал. Там помощь не нужна. За основу моего расчёта взят цикл for i := 1 to Length(t) do но затем увидела прекрасное короткое решение подсчёта кол-ва слов и букв в каждом слове, которое уважаемые программисты дополнили очень здорово, но цикл начинается с for i := 0 to list.Count-1 do. Так вот, иногда Делфи недоволен, что i:=0. Поэтому и был мой вопрос о том, можно ли сделать цикл не for i := 0 to list.Count-1 do, а цикл for i := 1 to Length(t) do. Т.к. в другом варианте работает именно цикл for i := 1 to Length(t) do, но там нет просчёта далее:
Мне просто хочется понять, можно ли для лучшего короткого цикла с for i := 0 to list.Count-1 do, применить цикл for i := 1 to Length(t) do. Благодарю вас.
0
|
||||||
|
8 / 4 / 4
Регистрация: 20.10.2021
Сообщений: 11
|
||||
| 05.11.2021, 17:23 | ||||
|
Выложите весь код без пропусков
0
|
||||
|
Модератор
|
|||||||||
| 05.11.2021, 17:42 | |||||||||
Сообщение было отмечено ar777 как решение
РешениеВот тут-то вас и непонятно. Смотрим на фрагмент в сообщении #8: (1) взяли строку из Edit1, дополнили пробелом (2) бежим по строке, если видим пробел, добавляем в Memo1 строчки: номер + ' слово ' + количество + 'символов' Что там делает s[i,1], как объявлен и зачем нужен -- осталось далеко за кадром. Покажете? В стартовом сообщении вам предложили не резать строку на слова руками, а получить список слов в list: TStringList одним единственным вызовом ExtractStrings([';', ',','.','?','!',':',' '], [' '], PChar(s), list); а затем добавить в Memo1 те самые строчки: номер + ' слово ' + количество + 'символов', пробежав по готовому списку слов в list. При этом слова у вас от list[0] до list[list.Count-1], а их длины, очевидно, Length(list[i]). Показывайте уже, что там у вас в коде на самом деле, как объявлено то самое загадочное s. Нет, оно наверняка у вас есть где-то там, вот только из-за одноименной локальной переменной s: String вот то ваше двумерное s внутри TForm1.Button1Click не видно (см. область видимости переменных). Еще лучше -- привести заодно и задание целиком, чтоб уж не оставалось сомнений никаких. Добавлено через 8 минут Ну или если вопрос все-таки был, почему s[i,1]:=нечто приводит к сообщению об ошибке, то достаточно внутреннюю s переименовать как-то иначе.
1
|
|||||||||
|
0 / 0 / 0
Регистрация: 02.11.2021
Сообщений: 10
|
|
| 06.11.2021, 13:59 [ТС] | |
|
Благодарю,
пока попробую сделать цикл for i := 0 to list.Count-1 do Добавлено через 1 минуту Благодарю, попробую сделать в цикле for i := 0 to list.Count-1 do может быть сегодня получится.
0
|
|
| 06.11.2021, 13:59 | |
|
Помогаю со студенческими работами здесь
11
Как присвоить переменной типа string значение из textBox1? Как присвоить переменной типа String значение argv[0]? Как присвоить переменной типа string значение из файла
Метод Симпсона - попытка присвоить значение integer переменной типа real Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
|
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений.
9TO2GP2bpX4
a42b81fb172ffc12ca589c7898261ccb/
https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/
Слева синяя линия -. . .
|
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-text-sdl3-c. zip
finish-text-sdl3-cpp. zip
|
|
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
|
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo
Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло.
Но на выплатах по больничным это. . .
|
Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Данные берутся из. . .
|
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y
Z4Tv2zpXVVo
https:/ / github. com/ shumilovas/ med2. git
|