Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 03.04.2016, 20:00   #1 (permalink)
CTPEJlOK
Новичок
 
Регистрация: 01.04.2016
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Exclamation Программа в 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[i], A[i+k+1], …, A[n].
Следующие действия должны выполняться отдельными процедурами (и/или функциями):
1) заполнение массива случайными числами из заданного интервала;
2) вывод массива на экран;
3) заполнение массива нулями (инициализация);
4) сохранение массива в текстовый файл;
5) чтение массива из текстового файла;
6) удаление нескольких элементов из указанного места (со сдвигом);
7) добавление нескольких элементов в указанное место (со сдвигом). Процедуры (и/или функции) должны работать с массивами как с параметрами, но не как с глобальными переменными.
CTPEJlOK вне форума   Ответить с цитированием

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

Пожалуйста, не торопитесь решать все самостоятельно, просмотрите схожие проблемы

PascalABC: анимация
PascalABC: File1,16,31,46.
PascalABC, графика
PascalABC

Старый 03.04.2016, 20:41   #2 (permalink)
rew
PCHelp*****
 
Аватар для rew
 
Регистрация: 07.03.2011
Сообщений: 2,692
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 2307
По умолчанию

Цитата:
Сообщение от CTPEJlOK Посмотреть сообщение
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[i]);
close(fd)
end;
Цитата:
Сообщение от CTPEJlOK Посмотреть сообщение
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[i]);
end;
rew вне форума   Ответить с цитированием
Старый 13.05.2016, 20:53   #3 (permalink)
Начертательная
Member
 
Регистрация: 03.05.2016
Сообщений: 33
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 253
По умолчанию Помощь студентам

Ну цикл будет примерно таким
Код:
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
Начертательная вне форума   Ответить с цитированием
Ads

Яндекс

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

Метки
pascalabcnet

Опции темы
Опции просмотра

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

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




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

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