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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.12.2015, 17:24   #1
akalinin
Новичок
Джуниор
 
Регистрация: 21.12.2015
Сообщений: 2
По умолчанию Работа с массивами и процедурами в Free Pascal

Доброго времени суток! Кто может помочь с исполнением каких-нибудь задач из нижеприведенных? Основной критерий: должны быть использованы процедуры и массивы. Всё остальное как удобнее. Заранее спасибо.

11.12.* Заполнить массив:
а) двадцатью первыми натуральными числами, делящимися нацело на 13 или на 17 и находящимися в интервале, левая граница которого равна 300;
б) тридцатью первыми простыми числами (простым называется натуральное число, большее 1, не имеющее других делителей, кроме единицы и самого себя).


11.34. В массиве хранятся сведения о количестве осадков, выпавших за каждый день июня. Определить:
а) в какой период выпало больше осадков: в первую половину июня или во вторую;
б) в какую декаду месяца выпало больше всего осадков.


11.53. Дан массив целых чисел.
а) Все элементы, кратные числу 10, заменить нулем.
б) Все нечетные элементы удвоить, а четные уменьшить вдвое.
в) Нечетные элементы уменьшить на m, а элементы с нечетными номерами увеличить на n.


11.67. В массиве хранятся сведения об общей стоимости товаров, проданных фирмой за каждый день марта. Определить количество дней, в которые стоимость проданных товаров превысила значение s. (в данной задаче есть решение, но я не понимаю, как добавить туда процедуру)

Код:
program _1167;
const n=31;
var i,S:integer;
    x: array[1..n] of integer;
begin
RANDOMIZE;
for i:=1 to n do
begin
x[i]:=random(9999);
write(x[i]:5);
end;
writeln;
readln(S);
writeln;
for i:=1 to n do
begin
if x[i]>S then
write(i:3);
end;
end.

11.106.* Дан массив целых чисел. Рассмотреть отрезки массива (группы идущих подряд чисел), состоящие из нечетных чисел. Получить наибольшую из длин рассматриваемых отрезков.


11.168.* Вставить число n между всеми соседними элементами, имеющими одинаковый знак.
Каким должен быть максимальный размер исходного массива?
akalinin вне форума Ответить с цитированием
Старый 21.12.2015, 20:16   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
11.106.* Дан массив целых чисел. Рассмотреть отрезки массива (группы идущих подряд чисел), состоящие из нечетных чисел. Получить наибольшую из длин рассматриваемых отрезков.
Код:
const n=100500;
var a:array[1..n] of integer; i,l,j:integer;
function next(i:integer):Integer;
begin
 while (i<=n) and odd(a[i]) do inc(i);
 Result:=i;
end;

begin
 for i:=1 to n do readln(a[i]); l:=0; j:=1;
 while i<n do begin j:=next(i); if (j-i)>l then l:=j-i; i:=j; end;
 Write(l); readln;
end.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.12.2015, 20:23   #3
akalinin
Новичок
Джуниор
 
Регистрация: 21.12.2015
Сообщений: 2
По умолчанию

Спасибо большое
akalinin вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа с 2 формами в free pascal kudzey Общие вопросы Delphi 6 21.08.2014 02:46
Работа с матрицами [Lazarus/Free pascal] studenteg Помощь студентам 1 23.10.2012 11:09
Работа с матрицей(Free Pascal) vaLERkAVV Помощь студентам 1 10.01.2012 20:45
Работа с матрицей(Free Pascal) vaLERkAVV Помощь студентам 1 20.12.2011 19:00
Работа с процедурами и функциями (Pascal) loxanet Помощь студентам 3 24.11.2011 21:55