Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.03.2012, 22:16   #11
VIK_aka_TOR
Участник клуба
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Сообщений: 1,578
По умолчанию

Код:
program zad;
type mas=array of array of integer;
var
 i,j,sum:integer;
 n,m:integer;
 a : mas;
 begin
 writeln('vvestu rozmir massivu');
 readln(n);
 readln(m);
 setLength(A,n);
 for i:= 0 to n - 1  do
  setlengtH(A[i],m);
 
 for i:=0 to n -1 do
     for j:=0 to m -1 do
     a[i,j]:=random(50)+1;
for i:=0 to n - 1 do
begin
for j:=0 to m - 1 do
write(a[i,j]:3);
writeln;
end;
if m=n then
writeln ('true');
for i:=0 to n - 1 do
for j:=0 to m - 1 do
if a[i,j]>0 then
sum:=sum +a[i,j];
writeln('suma = ',sum);
readln;
end.
учтите что в динамических индексация начинается с нуля...
пишу код не только за печеньки
VIK_aka_TOR вне форума Ответить с цитированием
Старый 09.03.2012, 22:16   #12
technomaster
Пользователь
 
Регистрация: 09.03.2012
Сообщений: 15
По умолчанию

Цитата:
type mas=array of array of integer;
пишет что упущено "[" или "("

Последний раз редактировалось technomaster; 09.03.2012 в 22:22.
technomaster вне форума Ответить с цитированием
Старый 10.03.2012, 00:35   #13
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от technomaster Посмотреть сообщение
пишет что упущено "[" или "("
А у Вас какой Паскаль то?!

Потому как приведённый Вам выше пример, это не для Turbo Pascal, это для FPC/Delphi.

в обычном Паскале не было настоящих динамических массивов!

Для начала попробуйте проверить работоспособность и (если пример работает), то разобрать такой код:
Код:
program DynMass;
{$N+}{$R-}

{пример создания динамического массива через указатели
 "хакерский" вариант
}

type
  TypeElem = extended;
  TMas = array[1..1] of TypeElem;
  TDymMas = ^TMas;

var
  i, N : integer;
  MyDMas : TDymMas; 

begin
  WriteLn('Введите размер массива: ');
  Readln(N);

  if N<1 then begin WriteLn('Неверное число!'); Readln; Halt(1); end;

  {выделить память под массив}
  GetMem(MyDMas, N * SizeOf(TMas));

  {для примера введём значения с клавиатуры}
  WriteLn('Ввод данных.');
  for i:=1 to N do begin
    Write('Введите A[',i,'] : '); Readln(MyDMas^[i]);
  end;
  WriteLn;

  {выведем значения в обратном порядке - тоже просто для примера}
  for i:=N downto 1 do 
    Write(MyDMas^[i]:1:3,' ');
  WriteLn;

  {освободить занятую память}
  FreeMem(MyDMas, N * SizeOf(TMas));

  WriteLn('Example Done.');
  Readln;
end.
p.s. разумеется, что в вашем случае число N нужно будет определить, как FileSize(f), где F - это var f: file of integer;

p.p.s. для решения самой первой задачи данного топика ВООБЩЕ не нужны ни массивы, ни динамическая память.
решение должно выглядеть так:
Код:
var f : file of integer;
  i, a, FirstMax, FirstMaxIndex : integer;
begin
  Assign(f, 'MyFile.dat');
  Reset(f);
  FirstMaxIndex :=-1;
  for i:=1 to FileSize(f) do begin
    Read(f, a);
    if FirstMaxIndex<0 then begin
      FirstMaxIndex := i;
      FirstMax := a; 
    end
    else
      if a>FirstMax then  begin
      FirstMaxIndex := i;
      FirstMax := a; 
    end;
  end;
  Close(f);
 
  if FirstMaxIndex<0 then WriteLn('В файле не найдено чисел')
  else 
     WriteLn('Индекс первого максимального элемента ', FirstMaxIndex, ' максимальная величина при этом равна ', FirstMax);

  Readln;
end.

Последний раз редактировалось Serge_Bliznykov; 10.03.2012 в 00:37.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 10.03.2012, 13:05   #14
technomaster
Пользователь
 
Регистрация: 09.03.2012
Сообщений: 15
По умолчанию

у меня турбо паскаль 7.1
technomaster вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Типизированный файл целых чисел Pyxy Фриланс 1 23.12.2011 09:02
Дан файл вещественных чисел. Создать файл целых чисел, содержащий номера всех локальных максимумов в порядке возрастания zzz6 Помощь студентам 1 04.07.2011 12:59
Создать типизированный файл Asell Помощь студентам 1 26.04.2011 16:45
Как создать типизированный файл? Байконуровец Общие вопросы Delphi 8 26.01.2011 17:25
Как создать типизированный файл Kosya4ok Паскаль, Turbo Pascal, PascalABC.NET 3 16.12.2007 09:29