Помощь - Поиск - Пользователи - Календарь
Полная версия: Процедуры
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
emil
помогите решить задачу:
Написать процедуру, считывающую из текстового файла массив чисел размера N. Если сумма этих чисел окажется четной , то увеличить размер массива на одну строку, заполненную случайными числами из диапазона от 5 до 30. Вывести массив на экран.
kase666
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
kase666, матрицу можно нормально прочесть из файла без всяких сохраненных размерностей... Пример - здесь:
Запись и чтение фаила + матрица

И уж конечно можно обойтись без чтения в строку и извлечения из нее чисел...
kase666
Цитата(volvo @ 22.12.2005 17:17) *

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

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


ну да! круто...
помог бы с мультисписками-то...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.