Показать сообщение отдельно
Старый 20.12.2012, 11:55   #1 (permalink)
hamchuk250894
Member
 
Регистрация: 09.12.2012
Сообщений: 45
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Паскаль, файлы

Посмотрите пожалуйста верно ли написана программа для таких вот заданий: Задание №1
Создать типизированный файл целых чисел. Записать в него с консоли последовательность целых чисел, конец последовательности (терминатор) – ноль, который не записывается в файл. Определить первое по порядку отрицательное и последнее положительное числа и их позиции в файле (нумерация данных в файле начинается с нуля). Предусмотреть случай, когда таких чисел в файле нет. Оставить в файле только числа, находящиеся между ними.
Program Variant_8;
var n, i, x, y: integer;
a:array[0..20] of integer;

begin

WriteLn('Laboratornaya rabota #8_1');
WriteLn('Variant #8');
WriteLn('IS-12-2');
WriteLn('Hamchuk Evgeniy');
WriteLn;

writeln('Input of numbers, the end input - 0');
assign(output, 'C:\users\STEAM\output.txt'); rewrite(output);

n := -1;
x := -1;
y := -1;
while(true) do
begin
read(i);
if i = 0 then
break;
write(i, ' ');
n := n + 1;
end;

close(output);
assign(input, 'C:\users\STEAM\output.txt’); reset(input);
for i := 0 to n do
begin
read(a[i]);
if (a[i] < 0) and (x < 0) then
x := i;
if a[i] > 0 then
y := i;
end;

close(input);
assign(output, 'C:\users\STEAM\output.txt’); rewrite(output);
if x = -1 then
writeln('There are no negative numbers')
else if y = -1 then
writeln(' There are no positive numbers')
else
for i := x + 1 to y - 1 do
write(a[i], ' ');
end.
Задание №2
Создать текстовый файл, в который построчно записать прямоугольный массив massivnm, заполненный целыми случайными числами в диапазоне от v_min до v_max. Размеры массива n и m задать константами. Границы диапазона v_min и v_max задать с консоли. Вывести на экран строку с минимальной суммой элементов и столбец с максимальной суммой элементов. При чтении из файла считать размеры массива неизвестными. Определить их при чтении файла.
Program Variant_8;
var n, m, i, j, v_min, v_max, min, max: integer;
s : array [1..20] of integer;
a:array[1..20, 1..20] of integer;

begin

WriteLn('Laboratornaya rabota #8_2');
WriteLn('Variant #8');
WriteLn('IS-12-2');
WriteLn('Hamchuk Evgeniy');
WriteLn;

writeln('Inter v_min и v_max');
readln(v_min, v_max);

assign(output, 'C:\users\STEAM\output.txt'); rewrite(output);
writeln('4 5');
for i := 1 to 4 do
begin
for j := 1 to 5 do
write(random(v_max - v_min+1)+ v_min, ' ');
writeln;
end;

close(output);
assign(input, 'C:\users\STEAM\output.txt'); reset(input);

readln(n, m);
min := 1;
max := 1;
for i := 1 to n do
begin
s[i] := 0;
for j := 1 to m do
begin
read(a[i, j]);
s[i] := s[i] + a[i, j];
end;
if s[i] < s[min] then
min := i;
end;
close(input);

for j := 1 to m do
begin
s[j] := 0;
for i := 1 to n do
s[j] := s[j] + a[i, j];
if s[j] > s[max] then
max := j;
end;

assign(output, 'C:\users\STEAM\answer.txt'); rewrite(output);
writeln('Stroka s min summoy elementov - ', min);
writeln('Stolbec s max summoy elementov - ', max);
close(output);
end.
Изображения
  
hamchuk250894 вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070