IPB
ЛогинПароль:

> Правила раздела!

1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!

> Запись в конец строки ?
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 13
Пол: Мужской

Репутация: -  -4  +


//

Сообщение отредактировано: unic -


--------------------
Изображение
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






Цитата
собстно почему она возникает ?
Потому что until c='#13'; и until c=#13; - это очень разные вещи... Ну, и не забывай, конечно, память под T выделять, а то ошибка будет другая...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 13
Пол: Мужской

Репутация: -  -4  +


Всем огромное спасибо , нашел проблемы .

1) используя функцию setlength , я брал переменную i:=2 , тк отсчет в массивах начинается с 0 , получался массив размером 1 , эту же переменную использовал и при записи данных t[i] , те записывал во вторую ячейку , которой не существовало .

2) Избавился от while not eof(f) , оставив только repeat until eof(f);

и еще раз спасибо что нашли время для ответов на мои глупые вопросы .


Рабочая версия :

uses crt;

var t:array of string;
n:array of integer;
f:text;
i,h,a,b,z:integer;
s:string;
m:char;
begin

// Заносим строки в массив //

i:=2;
assign(f,'data.txt');
reset(f);
repeat
setlength(t,i);
readln(f,t[i-1]);
inc(i);
until eof(f);
setlength(n,i);

// Собираем среднее арифметическое

reset(f);
i:=i-2;
for h:=1 to i do
begin
repeat
read(f,m);
until m=' ';
repeat
read(f,m);
until m=' ';
readln(f,a,b,z);
n[h]:=round((a+b+z)/3);
end;
close(f);
//Начинаем записывать в файл
rewrite(f);
for h:=1 to i do begin
str(n[h],s);
writeln(f,t[h],' Средний балл :',' ',s);
end;
close(f);
writeln('Программа успешно выполнена');
readkey;
end.




Текстовый файл:

Цитата

Вася Васильев 33 55 22
Иван иванов 67 22 88
Петр Петров 11 13 66


Сообщение отредактировано: unic -


--------------------
Изображение
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
unic   Запись в конец строки ?   10.03.2011 20:37
Lapp   никак не соображу каким образом можно записать в к…   10.03.2011 23:07
unic   //   11.03.2011 2:09
Lapp   выбрал другой путь - через массив типа stringМожно…   11.03.2011 2:49
volvo   Потому что until c='#13'; и until c=#13; -…   11.03.2011 3:04
unic   Всем огромное спасибо , нашел проблемы . 1) испол…   11.03.2011 3:31
Вячеслав Л.   Надо ужимать время редактирования. Сколько можно ч…   11.03.2011 16:43
Lapp   Надо ужимать время редактирования. Сколько можно ч…   11.03.2011 20:07
Вячеслав Л.   Хорошо. Я только боюсь, что unic все равно своего…   12.03.2011 18:54
Unconnected   Можно отвечать только через сутки каждый раз) Вооб…   12.03.2011 20:14
unic   Удалил лишь по тому что считал свой вопрос уж боль…   12.03.2011 20:29
Вячеслав Л.   Подумай, что произойдет с форумом, если каждый, к…   12.03.2011 21:06
Unconnected   Я считаю, это вранье. Ничего правдоподобнее прид…   12.03.2011 21:19
unic   я здесь регистрировался только чтобы задать вопрос…   12.03.2011 23:41
Вячеслав Л.   К чему тогда был этот пост? Нельзя было просто из…   13.03.2011 19:59


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.04.2024 11:22
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name