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

Прочитать строку и записать в матрицу

05.02.2011, 11:20. Показов 2275. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет! пишу прогу, которая подсчтывает матрицу, практически все написал, но возникла одна проблема.....
как прочитать строки, в которых даны числа, разделенные пробелом, и записать в матрицу...
то есть дана строка 5 76 45 123
мне нужно записать эту строку в матрицу, чтобы было следующее:

A[1,1]:=5 A[1,2]:=76 A[1,3]:=45 A[1,4]:=123 и т.д.

буду благодарен

Добавлено через 2 минуты
все остальное уже сделано...неизвестные матрицы программа находит
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.02.2011, 11:20
Ответы с готовыми решениями:

Записать и прочитать строку
помогите. как записать строку в любой файл(exe, png ...) и прочитать ее

Прочитать и записать нужную строку в файл
Подскажите пожалуйста, как в perl. Прочитать из файла вторую строку, кот. находится по пути: 1\2\3\4\1.txt и записать в файл: 2.txt

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

7
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
05.02.2011, 11:23
Если конкретно этот случай
reset(f);
Delphi
1
2
3
for i:=1 to 4 do
read(f,a[1,i]);
closefile(f);
Добавлено через 2 минуты
Обычно матрицу в файле пишут так
Code
1
2
3
4
5
3 4  //размеры матрицы
1 2 3 4 //сама матрица
5 6 7 8
1 2 3 4
5 6 7 8
Читаем
Delphi
1
2
3
4
5
6
reset(f);
read(f,n);
read(f,m);
for i:=1 to n do
for j:=1 to m do
read(f,a[i,j]);
0
0 / 0 / 1
Регистрация: 23.08.2010
Сообщений: 66
05.02.2011, 11:31  [ТС]
немного не так, у меня строка задана в МЕМО, то есть значения матрицы пользователь ввел в МЕМО, из МЕМО программа должна прочитать матрицу и начать решать ее.....
прочитать файл для меняне проблема...
в МЕМО каждое значение матрицы отделено пробелом,
мне думал- читать строку до пробела посимвольно, и записывать в матрицу значение до пробела, потом переходить к следующему значению после пробела, но как это сделать???

Добавлено через 4 минуты
Да, ты прав. Именно так у меня матрица и записана, я просто показал первую строку...
Как я понял тебя- можно записывать строки матрицы из МЕМО в файл, а потом из файла доставать и записывать уже как матрицу....
А есть ли путь напрямую? из МЕМО в матрицу?
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
05.02.2011, 11:33
Да, читать построчно и парсить. Но мне с файлом кажется проще, не нужно преобразовывать строку в числа.
0
0 / 0 / 1
Регистрация: 23.08.2010
Сообщений: 66
05.02.2011, 11:35  [ТС]
Что значит парсить? подскажи, пожалуйста...
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
05.02.2011, 11:46
Сейчас, прикину чтобы правильно, никогда не вводил матрицу из Мемо, куда проще из StringGrid.

Добавлено через 9 минут
Вот, проверил, работает.
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
procedure TForm1.Button1Click(Sender: TObject);
var a:array of array of integer;
    n,m,i,j:byte;
    s:string;
begin
s:=Memo1.Lines[0];
n:=StrToInt(copy(s,1,pos(' ',s)-1));
delete (s,1,pos(' ',s));
m:=StrToInt(s);
setlength(a,n,m);
for i:=0 to n-1 do
 begin
  s:=Memo1.Lines[i+1]+' ';
  for j:=0 to m-1 do
   begin
    a[i,j]:=StrToInt(copy(s,1,pos(' ',s)-1));
    delete (s,1,pos(' ',s));
   end;
 end;
for i:=0 to n-1 do
   begin
     for j:=0 to m-1 do
     memo2.Text:=memo2.Text+inttostr(a[i,j])+'  ';
     memo2.Text:=memo2.Text+#13+#10;
   end;
end;
0
0 / 0 / 1
Регистрация: 23.08.2010
Сообщений: 66
05.02.2011, 13:04  [ТС]
ага, сейчас проверю.....
в StringGride я смогу написать сам, но раз начал в МЕМО охота добить до конца...

Добавлено через 1 час 15 минут
в твоей процедуре какая-то ошибка....
но ничего страшного, я усебя в справочнике вот что нашел-
очень элегентное решение проблемы:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
var t:TStringList;
begin
t:=TStringList.create; //создаём класс
t.text:=stringReplace('Ваша строка для разделения',' ',#13#10,[rfReplaceAll]);//мы заменяем все пробелы на символы конца строки
//теперь можно убедится что у вас строка разбина на элементы:
showmessage(t[0]);
showmessage(t[1]);
showmessage(t[2]);
showmessage(t[3]);
...
//после работы надо уничтожить класс
t.free;
Добавлено через 1 минуту
Нашел элегантное решение проблемы
очень красиво по-моему мнению:

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
var t:TStringList;
begin
t:=TStringList.create; //создаём класс
t.text:=stringReplace('Ваша строка для разделения',' ',#13#10,[rfReplaceAll]);//мы заменяем все пробелы на символы конца строки
//теперь можно убедится что у вас строка разбина на элементы:
showmessage(t[0]);
showmessage(t[1]);
showmessage(t[2]);
showmessage(t[3]);
...
//после работы надо уничтожить класс
t.free;
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
05.02.2011, 13:08
в твоей процедуре какая-то ошибка...
Это у тебя в мозгу ошибка.
Во вложении проект, на картинке результат...
Миниатюры
Прочитать строку и записать в матрицу  
Вложения
Тип файла: rar Ввод матрицы из Мемо.rar (166.5 Кб, 32 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.02.2011, 13:08
Помогаю со студенческими работами здесь

Прочитать xml файл и записать его в строку
Добрый день, Мне необходимо сделать парсер валют с ЦБР, я сделал что бы он переходил по ссылке скачивал информацию xml и записывал...

Как прочитать строку из едита и записать ее в массив char
Как прочитать строку из едита и записать ее в массив char?

Записать строку символов в матрицу
Задание такое: Используя шифр перестановки, закодировать фразу следующим образом: исходный текст записать построчно в матрицу, а вывести...

записать текст в матрицу по строкам, а затем переписать по спирали от центра. Прочитать зашифрованный текст
Зашифровать текст следующим образом: записать его в матрицу по строкам, а затем переписать по спирали от центра. Прочитать зашифрованный...

Введенную с клавиатуры строку A записать в обратном порядке в строку B. Строку B вывести на экран
Введенную с клавиатуры строку A записать в обратном порядке в строку B. Строку B вывести на экран.


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru