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

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

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

> Процедуры
emil
сообщение 22.12.2005 0:05
Сообщение #1


Гость






помогите решить задачу:
Написать процедуру, считывающую из текстового файла массив чисел размера N. Если сумма этих чисел окажется четной , то увеличить размер массива на одну строку, заполненную случайными числами из диапазона от 5 до 30. Вывести массив на экран.
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 3)
kase666
сообщение 22.12.2005 17:09
Сообщение #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 - 7.11.2006 17:35


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


Гость






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

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





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

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


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

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

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


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


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

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

 



- Текстовая версия 30.07.2025 23:43
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"