Лидеры рейтинга

ID: 259041

Алексеев Владимир Николаевич

Мастер-Эксперт

379

Россия, пос. Теплоозёрск, ЕАО


ID: 401284

Михаил Александров

Советник

378

Россия, Санкт-Петербург


ID: 401888

puporev

Профессор

216

Россия, Пермский край


ID: 405338

vovaromanov.jr

1-й класс

130


ID: 400669

epimkin

Профессионал

112


ID: 242862

Hunter7007

Мастер-Эксперт

30

Россия, Омск


ID: 137394

Megaloman

Мастер-Эксперт

26

Беларусь, Гомель


8.10.2

13.10.2021

JS: 2.10.2
CSS: 4.6.0
jQuery: 3.6.0
DataForLocalStorage: 2021-10-19 15:16:08-standard


Создание программ на языках Pascal, Delphi и Lazarus.

Администратор раздела: Зенченко Константин Николаевич (Старший модератор)

Консультация онлайн # 108645

Раздел: Pascal / Delphi / Lazarus
Автор вопроса: Mamontenok
Дата: 09.11.2007, 06:42 Консультация закрыта
Поступило ответов: 1

Уважаемые эксперты! Помогите пожалуйста с решением нескольких задачек... В принципе, они несложные, просто мне очень не хватает времени их решить... Я приехал в город из сельской местности, поступил в институт, но Паскаля у нас в школе не было! Я смог решать задачи более низкого уровня(ветвление, циклы и др.) но эти - не могу додуматься... Может вы сможете?

1. Дан одномерный целочисленный массив B(n) и натуральное число n. Для каждого из элементов массива B выяснить, сколько раз оно входит в эту последовательность. Результат представить в виде:
**a1 встречается k1 раз** При печати не должно быть повторяющихся строк.

2. Дана последовательность из n вещественных чисел. Упорядочить последовательность по убыванию методом пузырька: последовательно сравниваются пары соседних элементов xk и xk+1 (k=1,2,...,n-1) и, если xk< xk+1, то они переставляются; тем самым наименьший элемент окажется на своем месте в конце массива; затем этот метод применяется ко всем элементам, кроме последнего, и т. д.

3. Дано натуральное число n. Вычислить:
Z=ln(1+ln(2+...+ln((n-1)!+ln(n)!))).

4. Дана матрица D(n,m).
Найти максим. элемент заштрихованной области (см. приложение):

Приложение:

Ответ # 192850 от Зиновьев Дмитрий Владимирович
Здравствуйте, Mamontenok!
1.
VAR a: array of integer;
isit: boolean;
count: integer;
i: integer;
j : integer;
begin
// Помещаем в массив а разные элементы
for i := 0 to n - 1 do
begin
isit := false;
for j := 0 to Length(a)-1 do
begin
if b[i] = a[j] then isit := true;
end
if not isit then
begin
SetLength(a, Length(a) + 1);
a[Length(a) - 1] := b[j];
end;
end
// Если хотите, сортируйте, QuickS(a, 0, Length(a) - 1)
//Выводим элементы
for j := 0 to Length(a) - 1 do
begin
count := 0;
for i := 0 to n - 1 do
if b[i] = a[j] then inc(count);
Writeln(a[j], ' встречается ', count, ' раз'); //Вывод не помню, кажется так :)
end;
ReadLn;
end;

2. Возьмите какой-нибудь учебник по Паскалю, во всех учебниках описан данный метода, иногда даже с кодом, или
http://www.excode.ru/art4490p1.html (за качество не ручаюсь, но на правду похоже)

3.
function fact(i: integer): integer;
var j: integer;
begin
result := 1;
for j := 2 to i do Result := Result * j;
end;
z:= 0;
for i := n downto 1 do
begin
z := ln(fact(i) + z);
end;
И рекомендация, не проверяйте на больших n, факториал очень быстро растет

4.
var i, j, max: integer;
begin
max := a[0,0];
for i := 0 to n - 1 do
for j := 0 to m - 1 do
if i < j then
if max < a[i, j] then max := a[i;,j]

Все
Если у вас из другой области максимум находится, то мы по разному выводим массивы, и уловие i < j замените на условие i > j
Удачи.

Зиновьев Дмитрий Владимирович

Посетитель
09.11.2007, 10:01
Мини-форум консультации # 108645
Нет сообщений в мини-форуме
Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Лучшие эксперты раздела

puporev

Профессор

Рейтинг: 216

Зенченко Константин Николаевич

Старший модератор

Рейтинг: 122

Gluck

8-й класс

Рейтинг: 61

Лысков Игорь Витальевич

Мастер-Эксперт

Рейтинг: 0

Асмик Гаряка

Советник

Рейтинг: 0

Орловский Дмитрий

Мастер-Эксперт

Рейтинг: 0