![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Winniepoohless |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 7 Пол: Мужской Реальное имя: Алексей Репутация: ![]() ![]() ![]() |
Задача уже обсуждалась в форуме (мне очень сильно помогли).
Часть написанной программы работала. Сейчас не могу составить работающую процедуру для записи в файл(совсем запутался ![]() Условие задачи: Написать программу для ввода, преобразования и вывода 3-х целочисленных массивов. Вариант преобразования: все элементы массива, величина которых попадает в заданный диапазон (а,b), заменить нулями. Алгоритм преобразования массива оформить в виде процедуры. a) программа с вводом данных с клавиатуры б) программа с вводом данных и записью результата в текстовый файл. Код: program Massivy; uses crt; const count1=2; count2=3; count3=4; var a,b,t:integer;f,g:text; m:array [1..count1] of integer; n:array [1..count2] of integer; p:array [1..count3] of integer; Procedure Input(var arr:array of integer;size:integer); var i:integer; begin for i:=0 to size -1 do begin write('element' #',i+1,': ');readln(arr[i]); end; end; Procedure Check(var arr:array of integer;size:integer;a,b:integer); var i:integer; begin writeln('Vvedite posledovatelno granitsy diapazona dlia poiska'); write('a= ':10);readln(a); write('b= ':10);readln(b); for i:=0 to size -1 do if (arr[i]>=a) and (arr[i]<=b) then begin arr[i]:=0; end; end; Procedure Print(var arr:array of integer;size:integer); var i:integer; begin for i:=0 to size -1 do begin writeln(arr[i]:10); end; end; Function Get_num(var f: text): integer; var X: integer; ch: char; begin get_num := -1; if not seekeof(f) then begin ch := #0; X := 0; while not (ch in ['0'..'9']) do read(f, ch); while (ch in ['0'..'9']) do begin X := X * 10 + (Ord(ch) - Ord('0')); read(f, ch); end; get_num := X; end; end; Procedure Rfile(var arr:array of integer;size:integer); var i:integer; begin Assign(f, 'c:\file.txt'); Reset(f); while not EoF(f) do begin Read(f); begin for i:=0 to size -1 do begin arr[i]:=Get_num(f); end; end; end; end; Procedure Wfile(var arr:array of integer); begin {var i:=integer;} Assign(g,'c:\file1.txt'); Rewrite(g); {Write(g,arr[i]);} end; begin writeln('Vyberite variant vvoda i vyvoda dannykh: 1-file,2-keyboard'); readln(t); if t=1 then begin {Rfile(m); Rfile(n); Rfile(p);} Check (m,count1,a,b); Check (n,count2,a,b); Check (p,count3,a,b); Wfile(m); Wfile(n); Wfile(n); else if t=2 then begin Input (m,count1); Input (n,count2); Input (p,count3); Check (m,count1,a,b); Check (n,count2,a,b); Check (p,count3,a,b); Print (m,count1); Print (n,count2); Print (p,count3); close(f);close(g); readln end; end. Сообщение отредактировано: Winniepoohless - 6.02.2008 15:58 |
Michael_Rybak |
![]()
Сообщение
#2
|
|||
Michael_Rybak ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 046 Пол: Мужской Реальное имя: Michael_Rybak Репутация: ![]() ![]() ![]() |
|
|||
![]() ![]() |
![]() |
Текстовая версия | 18.06.2025 17:11 |