Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 19.12.2012, 16:25   #1 (permalink)
Jogi
Новичок
 
Регистрация: 19.12.2012
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Файлы в Паскаль

Доброго времени суток. помогите пожалуйста нужно составить 2 програмки в паскаль.Буду очень благодарен:
Задание 1
Создать типизированный файл целых чисел. Записать в него с консоли последовательность целых чисел, конец последовательности (терминатор) – ноль, который не записывается в файл. Определить вторые по значению минимальное и максимальное числа и их позиции в файле (нумерация данных в файле начинается с нуля). Предусмотреть случай, когда таких чисел в файле нет. Оставить в файле только числа, находящиеся между ними.
Задание 2
Создать текстовый файл, в который построчно записать квадратный массив massivnn, заполненный целыми случайными числами в диапазоне от v_min до v_max. Размер массива n задать константой. Границы диапазона v_min и v_max задать с консоли. Прочитать из созданного файла все диагонали, параллельные побочной, и вывести их на экран построчно. При чтении из файла считать размер массива неизвестным. Определить его при чтении файла.
Jogi вне форума   Ответить с цитированием

Старый 19.12.2012, 16:25
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Вы можете поискать решение проблемы в других аналогичных темах

Типизированные файлы, Паскаль
Текстовые файлы, Паскаль
Паскаль, текстовые файлы

Старый 20.12.2012, 03:16   #2 (permalink)
Jogi
Новичок
 
Регистрация: 19.12.2012
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Unhappy

Помогите пожалуйста уж очень надо
Jogi вне форума   Ответить с цитированием
Старый 20.12.2012, 03:40   #3 (permalink)
Léon
С# - learn or die
 
Аватар для Léon
 
Регистрация: 17.12.2011
Сообщений: 2,438
Записей в дневнике: 8
Сказал(а) спасибо: 21
Поблагодарили 49 раз(а) в 11 сообщениях
Репутация: 19701
По умолчанию

Цитата:
Сообщение от Jogi Посмотреть сообщение
Помогите пожалуйста уж очень надо
Jogi, посмотрите тему Кто-нибудь может помочь с решением?
Léon вне форума   Ответить с цитированием
Старый 20.12.2012, 08:56   #4 (permalink)
Jogi
Новичок
 
Регистрация: 19.12.2012
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

11Angelav спасибо))
Jogi вне форума   Ответить с цитированием
Старый 20.12.2012, 09:29   #5 (permalink)
Jogi
Новичок
 
Регистрация: 19.12.2012
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Прочитать из созданного файла все диагонали, параллельные побочной, и вывести их на экран построчно.
Подскажите пожалуйста как мне это сделать))
Jogi вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 20.12.2012, 10:05   #6 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Jogi Посмотреть сообщение
Прочитать из созданного файла все диагонали, параллельные побочной, и вывести их на экран построчно.
Подскажите пожалуйста как мне это сделать))
Это действительно непросто. Вот здесь: Помогите, пожалуйста, написать на языке Pascal, желательно попроще в процедуре Calc_Vect решается аналогичная задача, правда там ищутся максимумы по таким диагоналям, Вам же нужно просто вывести их элементы в файл. Попробуйте сами.
Vladimir_S вне форума   Ответить с цитированием
Старый 20.12.2012, 10:32   #7 (permalink)
Jogi
Новичок
 
Регистрация: 19.12.2012
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

посмотрите пожалуйста так ли я сделал?))
Код HTML:
Const
 N=5;

Type
 Mtr=Array[1..N,1..N] of Integer;


Var
 Matrix:Mtr;

 p,q:byte;
          Max:Integer;
 i,j,k:byte;
 M:Mtr;

Begin

k:=0;
 for j:=1 to N do
  begin
   Max:=M[1,j];
   for i:=1 to j do if M[i,j-i+1]>Max then Max:=M[i,j-i+1];
   Inc(k);

  end;
 for i:=2 to N do
  begin
   Max:=M[i,N];
   for j:=N downto i do if M[N-j+i,j]>Max then Max:=M[N-j+i,j];
   Inc(k);

  end;
Jogi вне форума   Ответить с цитированием
Старый 20.12.2012, 10:47   #8 (permalink)
Jogi
Новичок
 
Регистрация: 19.12.2012
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

сделал я не так, да и все равно как сделать одну нормальную программу для 2-го задания из этих 2-х я не понимаю((
Код:
uses crt;
const n=5;
      m=7;
var a:array[1..n,1..m] of integer;
    vmin,vmax,i,j,x,y,mx,mn,imx,jmx,imn,jmn,z:integer;
    f:text;
begin
clrscr;
randomize;
assign(f,'123.txt');
rewrite(f);
repeat
writeln('Введите границы диапaзона чисел:');
readln(vmin,vmax);
until vmin<vmax;
{создаем файл}
for i:=1 to n*m do
 begin
  x:=vmin+random(vmax-vmin+1);
  write(f,' ',x);{пишем числа через пробел}
  if (i mod m=0)and(i<n*m) then writeln(f);{новая строка}
 end;
writeln('Исходный массив:');
reset(f);
y:=0;{определим кол. чисел в 1 строке}
while not eoln(f) do
 begin
  read(f,x);
  y:=y+1;
 end;
close(f);
reset(f);
{прочитаем всю матрицу}
x:=0;
while not eof(f) do
 begin
  x:=x+1;
  for j:=1 to y do
   begin
    read(f,a[x,j]);
    write(a[x,j]:5);
   end;
  writeln
end;
close(f);
writeln;
{найдем мин и макс с координатами}
mn:=a[1,1];imn:=1;jmn:=1;
mx:=a[1,1];imx:=1;jmx:=1;
for i:=1 to x do
for j:=1 to y do
 begin
  if a[i,j]<mn then
   begin
    mn:=a[i,j];
    imn:=i;
    jmn:=j;
   end;
  if a[i,j]>mx then
   begin
    mx:=a[i,j];
    imx:=i;
    jmx:=j;
   end;
 end;
writeln('Минимальный  элемент [',imn,',',jmn,']=',mn);
writeln('Максимальный элемент [',imx,',',jmx,']=',mx);
writeln;
{обменяем их и выведем новый массив}
z:=a[imn,jmn];a[imn,jmn]:=a[imx,jmx];a[imx,jmx]:=z;
writeln('Обмен минимального и максимального:');
for i:=1 to x do
 begin
  for j:=1 to y do
  write(a[i,j]:5);
  writeln;
 end;
readln
end.
Код:
Const
 N=5;

Type
 Mtr=Array[1..N,1..N] of Integer;


Var
 Matrix:Mtr;

 p,q:byte;
          Max:Integer;
 i,j,k:byte;
 M:Mtr;

Begin

k:=0;
 for j:=1 to N do
  begin
   Max:=M[1,j];
   for i:=1 to j do if M[i,j-i+1]>Max then Max:=M[i,j-i+1];
   Inc(k);

  end;
 for i:=2 to N do
  begin
   Max:=M[i,N];
   for j:=N downto i do if M[N-j+i,j]>Max then Max:=M[N-j+i,j];
   Inc(k);

  end;
 Randomize;
 For p:=1 to N do
  begin
   For q:=1 to N do
    begin
     Matrix[p,q]:=10-Random(20);
     Write(Matrix[p,q]:4);
    end;
   Writeln;
  end;
 Writeln;

 For p:=1 to 2*N-1 do
 Readln;
End.
Jogi вне форума   Ответить с цитированием
Старый 20.12.2012, 14:55   #9 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Jogi Посмотреть сообщение
сделал я не так, да и все равно как сделать одну нормальную программу для 2-го задания из этих 2-х я не понимаю((
Охо-хо, беда с вами... Ладно, ловите:
Код:
Var
 MassivNN,M:Array[1..5,1..5] of Integer;
 v_min,v_max,Dummy:Integer;
 i,j,k,N:byte;
 f:Text;

Begin
 Assign(f,'123.txt');
 Rewrite(f);
 Randomize;
 Write('v_min= ');
 Readln(v_min);
 Write('v_max= ');
 Readln(v_max);
 for i:=1 to 5 do
  begin
   for j:=1 to 5 do
    begin
     MassivNN[i,j]:=v_min+Random(v_max-v_min);
     write(MassivNN[i,j]:4);
     write(f,MassivNN[i,j]:4);
    end;
   writeln;
   writeln(f);
  end;
 Close(f);
 Writeln;
 Reset(f);
 N:=0;
 Repeat
  read(f,Dummy);
  Inc(N);
 Until EoLn(f);
 Reset(f);
 For i:=1 to N do
  For j:=1 to N do
   read(f,M[i,j]);
 Close(f);
 for j:=1 to N do
  begin
   for i:=1 to j do write(M[i,j-i+1]:4);
   writeln;
  end;
 for i:=2 to N do
  begin
   for j:=N downto i do write(M[N-j+i,j]:4);
   writeln;
  end;
 Readln
End.
Vladimir_S вне форума   Ответить с цитированием
Старый 24.12.2012, 12:00   #10 (permalink)
vitjok
Member
 
Регистрация: 29.09.2012
Сообщений: 72
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

не могли бы вы сделать свой скрипт к этой пограмме))
vitjok вне форума   Ответить с цитированием
Ads

Яндекс

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


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 07:58.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.