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

> Прочтите прежде чем задавать вопрос!

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

 
 Ответить  Открыть новую тему 
> Процедуры
сообщение
Сообщение #1


Гость






помогите решить задачу:
Написать процедуру, считывающую из текстового файла массив чисел размера N. Если сумма этих чисел окажется четной , то увеличить размер массива на одну строку, заполненную случайными числами из диапазона от 5 до 30. Вывести массив на экран.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2





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

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


PROGRAM MATRIX;
USES CRT;
VAR A:ARRAY[1..100,1..100] OF INTEGER; {твоя матрица}
F:TEXT {текстовый файл с данными}
INITSTR, STR1:STRING;d:char;
N,DEL_X,DEL_Y,MAX,I,J,COUNT,CODE,RAZ_X, RAZ_Y:INTEGER;

BEGIN
textmode(3);
textbackground(0);
textcolor(15);
CLRSCR;
d:=#205;
ASSIGN(F,'MATRIX.TXT');RESET(F);
REPEAT BEGIN
readLN(f,INITSTR);
IF INITSTR='<==========>' THEN
{после нахождения этой строки считаем
что данные расположены за ней}
BEGIN
readLN(f,RAZ_X);{сначала в файле указан размер матрицы}
readLN(f,RAZ_Y);
FOR I:=1 TO RAZ_Y DO BEGIN
INITSTR:='';J:=0;
readLN(f,INITSTR);{далее считываем колличество строк
матрицы и разбиваем их на элементы}
REPEAT
J:=J+1;
IF (INITSTR[J]=' ') THEN BEGIN
COUNT:=COUNT+1;
val(STR1,A[COUNT,I],CODE);
STR1:='';
IF J=LENGTH(INITSTR) THEN COUNT:=0;
END;
IF (INITSTR[J]<>' ') THEN STR1:=STR1+INITSTR[J];
UNTIL (J=LENGTH(INITSTR));

END;
END;
END
UNTIL EOF(F);
CLOSE(F);
WRITELN('=========загружена матрица размером ',RAZ_X,'x',RAZ_Y,'=========');
WRITELN;
end.


структура файла matrix.txt
здесь может быть комментарий
снизу две 10 указывают на размер X и Y
ну а далее сама матрица
в конце строк матрицы обязательно должен быть пробел
<==========>
10
10
12 32 4 7 1 0 98 65 234 2
2 2 2 2 2 2 2 255 2 2
5 5 5 5 5 5 5 5 5 5
9 9 9 9 9 9 9 9 9 9
1 1 1 1 1 1 1 1 1 1
3 3 3 3 3 3 3 3 3 3
4 4 4 4 4 4 4 4 4 4
7 7 7 7 7 7 7 7 7 7
8 8 8 8 8 8 8 8 8 8
6 5 4 0 0 0 0 0 3 1


ВСЕ ТЕПЕРЬ ДЕЛАЙ С НЕЙ ЧТО ХОЧЕШЬ!!!

Теги не для тебя созданы?

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


--------------------
Господи! Сколько же еще не сделано...
А сколько же еще предстоит не сделать...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






kase666, матрицу можно нормально прочесть из файла без всяких сохраненных размерностей... Пример - здесь:
Запись и чтение фаила + матрица

И уж конечно можно обойтись без чтения в строку и извлечения из нее чисел...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4





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

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


Цитата(volvo @ 22.12.2005 17:17) *

kase666, матрицу можно нормально прочесть из файла без всяких сохраненных размерностей... Пример - здесь:
Запись и чтение фаила + матрица

И уж конечно можно обойтись без чтения в строку и извлечения из нее чисел...


ну да! круто...
помог бы с мультисписками-то...


--------------------
Господи! Сколько же еще не сделано...
А сколько же еще предстоит не сделать...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





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