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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.05.2015, 09:11   #1
Владимир163
 
Регистрация: 25.02.2015
Сообщений: 6
По умолчанию напишите пожалуйста коментарии

Код:
var
  f: file of integer;
  a: array of integer;
  n, signed, unsigned: integer;
 
begin
  write('Кол-во элементов в файле: ');
  readln(n);
  SetLength(a, n);
  for var i := 0 to n - 1 do
    a[i] := random(-10, 10);
  assign(f, 'file');
  rewrite(f);
  for var i := 0 to n - 1 do
    write(f, a[i]);
  reset(f);
  writeln('Файл:');
  while not eof(f) do
  begin
    var i: integer;
    read(f, i);
    write(i:5);
  end;
  for var i := 0 to n - 1 do 
  begin
    if a[i] < 0 then a[i] += 2;
    if a[i] < 0 then inc(unsigned)
    else if a[i] > 0 then inc(signed);
  end;
  rewrite(f);
  for var i := 0 to n - 1 do
    write(f, a[i]);
  reset(f);
  writeln(#13#10, 'Новый файл:');
  while not eof(f) do
  begin
    var i: integer;
    read(f, i);
    write(i:5);
  end;
  writeln(#13#10, 'Кол-во отрицательных компонентов: ', unsigned);
  writeln('Кол-во положительных компонентов: ', signed);
end.

Последний раз редактировалось Poma][a; 25.05.2015 в 09:20.
Владимир163 вне форума Ответить с цитированием
Старый 25.05.2015, 09:26   #2
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

Цитата:
комментарии
Смотри-ка, написал.
В чем проблема? Что тут комментировать? Простейшая программа подсчета числа отрицательных и положительных компонентов в типизированном файле.
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Старый 25.05.2015, 09:29   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
Описываем переменки
var
Для файла целых
  f: file of integer;
Для массива целых
  a: array of integer;
И еще какую-то чухню техническую
  n, signed, unsigned: integer;
 
Начинаем программу
begin
Просим ввести
  write('Кол-во элементов в файле: ');
И вводим
  readln(n);
Разворачиваем массив длинной, которую только что ввели
  SetLength(a, n);
В цикле его наполняем случайными числами
  for var i := 0 to n - 1 do
    a[i] := random(-10, 10);
Открыв-создав файл
  assign(f, 'file');
  rewrite(f);
Записываем в него эти числа
  for var i := 0 to n - 1 do
    write(f, a[i]);
Переоткрыв файл на чтение
  reset(f);
  writeln('Файл:');
Считываем из него числа
  while not eof(f) do
  begin
Это фигня какая то...
    var i: integer;
Считав цисла - выведем на экран
    read(f, i);
    write(i:5);
  end;
После циклом, котрый тоже выглядит странно
  for var i := 0 to n - 1 do 
  begin
Пройдемся по массиву и проверим его положительные и отрицательные
Подсчитаем их кол-во и положительные увеличим на 2
    if a[i] < 0 then a[i] += 2;
    if a[i] < 0 then inc(unsigned)
    else if a[i] > 0 then inc(signed);
  end;
Перезапишем в файл измененный массив, где положительные увеличены
  rewrite(f);
  for var i := 0 to n - 1 do
    write(f, a[i]);
И опять измененный файл считаем, выведя на экран
  reset(f);
  writeln(#13#10, 'Новый файл:');
  while not eof(f) do
  begin
    var i: integer;
    read(f, i);
    write(i:5);
  end;
А так же отчитаемся сколько положительны и отрицательных
  writeln(#13#10, 'Кол-во отрицательных компонентов: ', unsigned);
  writeln('Кол-во положительных компонентов: ', signed);
end.

Такой код может прокатить в современных версиях паскаля (возможно), но канонические догмы он уж точно нарушает.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Напишите пожалуйста Коментарии к программе Владимир163 Паскаль, Turbo Pascal, PascalABC.NET 1 14.05.2015 04:31
Напишите коментарии к листингу программы Владимир163 Паскаль, Turbo Pascal, PascalABC.NET 1 10.05.2015 10:33
Напишите пожалуйста програмку !!! ilfat11 Помощь студентам 2 22.04.2015 15:06
Напишите 2 проги пожалуйста Денис213 Паскаль, Turbo Pascal, PascalABC.NET 12 10.06.2009 18:13