• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Программа в PascalABC.NET

  • Автор темы Автор темы CTPEJlOK
  • Дата начала Дата начала

CTPEJlOK

Ученик
Регистрация
1 Апр 2016
Сообщения
3
Реакции
0
Баллы
0
Программа в PascalABC.NET

Текст задания:
Составить процедуру (или функцию), которая переставляет в обратном порядке k элементов массива A, начиная i-го (числа i и k задается пользователем): A[1], A[2], …, A[i–1], A[i+k], A[i+k–1], …, A[i+1], A, A[i+k+1], …, A[n].
Следующие действия должны выполняться отдельными процедурами (и/или функциями):
1) заполнение массива случайными числами из заданного интервала;
2) вывод массива на экран;
3) заполнение массива нулями (инициализация);
4) сохранение массива в текстовый файл;
5) чтение массива из текстового файла;
6) удаление нескольких элементов из указанного места (со сдвигом);
7) добавление нескольких элементов в указанное место (со сдвигом). Процедуры (и/или функции) должны работать с массивами как с параметрами, но не как с глобальными переменными.
 
4) сохранение массива в текстовый файл;
procedure mastofile(arr: mas; fd: file of integer);
var i: integer;
begin
rewrite(fd);
for i:=0 to length(arr)-1 do
write(fd, arr);
close(fd)
end;
5) чтение массива из текстового файла;
procedure filetomas(fd: file of integer);
var i: integer; arr: mas;
begin
reset(fd);
setlength(arr, filesize(fd));
for i:=0 to high(arr) do
read(fd, arr);
end;
 
Помощь студентам

Ну цикл будет примерно таким
Код:
for j:=i to (k-i) div 2 do 
begin
  Buf:=A[j];
  A[j]:=A[k-j+i];
  A[k-j+i]:=Buf;
end
 
Назад
Сверху