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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.11.2017, 19:44   #1
Romeshek
Пользователь
 
Регистрация: 29.09.2017
Сообщений: 33
По умолчанию Pascal ABC.NET[Указатель]

Подскажите, как данную программу реализовать через указатель, и если можно, то с комментариями.


Код:
var a:array[1..10] of integer; 
s,k,n,i,F:integer; 
BEGIN 
s:=0; 
k:=0; 
Write('Введите F = '); 
readln(F); 
writeln ('Введите элем. массива :'); 
for i:=1 to 10 do 
begin 
readln(a[i]); 
if a[i] > 0 then 
k:= k + 1; 
if (i mod 3=0) and (a[i] <> F) then 
s := s + a[i]; 
end; 
Writeln('Cумма = ' ,s); 
writeln('Кол-Во элементов больше нуля = ',k); 
end.
Romeshek вне форума Ответить с цитированием
Старый 28.11.2017, 00:14   #2
СтудПом
Форумчанин
 
Регистрация: 08.11.2017
Сообщений: 347
По умолчанию

Конкретно вряд ли кто подскажет. Проще написать программу. Если хотите написать самостоятельно, то надо читать учебник дальше - динамические структуры.

В общем:
-вместо массива элементов, надо создать "список" элементов
-элемент состоит из "полезных" данных (в вашем случае это будет одно поле integer) и поля со ссылкой на следующий элемент

Элемент списка - это запись с особенным полем содержащим ссылку на такой же элемент.

При построении списка надо выделять память для записи, а перед выходом из программы - уничтожать.
СтудПом вне форума Ответить с цитированием
Старый 28.11.2017, 07:24   #3
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

А можно проще:

Код:
type
  TIntArray = array [1..10] of integer;
  PIntArray = ^TIntArray;
И дальше работать с указателем на массив
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 28.11.2017, 09:31   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Sciv Посмотреть сообщение
И дальше работать с указателем на массив
можно. но, с учётом того, что в Pascal ABC.NET есть нормальные динамические массивы, практической пользы в этом мало.


Цитата:
Сообщение от Romeshek Посмотреть сообщение
как данную программу реализовать через указатель
указатель на что? На массив? На элементы массива? Или вообще нужно без массива сделать, используя динамические структуры (связный список)?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 28.11.2017, 14:40   #5
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Pascal ABC.NET есть нормальные динамические массивы
Ну я этого не знал
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 28.11.2017, 21:28   #6
Romeshek
Пользователь
 
Регистрация: 29.09.2017
Сообщений: 33
По умолчанию

Цитата:
указатель на что? На массив? На элементы массива? Или вообще нужно без массива сделать, используя динамические структуры (связный список)?
Я так понял, что на массив.
Romeshek вне форума Ответить с цитированием
Старый 29.11.2017, 08:27   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Romeshek Посмотреть сообщение
Я так понял, что на массив.
пост #3.
указатель на статический массив.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
pascal abc.net алексей костиков Помощь студентам 0 12.10.2017 20:02
Pascal ABC.NET gogomon93 Помощь студентам 4 01.12.2013 17:56
Pascal ABC.NET BuTaJI Помощь студентам 1 26.04.2011 20:10
Pascal ABC net DiLLe Паскаль, Turbo Pascal, PascalABC.NET 1 08.06.2010 23:20
Pascal ABC .NET no4_sniper Паскаль, Turbo Pascal, PascalABC.NET 0 17.10.2009 00:21