Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 09.04.2015
Сообщений: 3

Помогите в написании функции

25.04.2006, 22:24. Показов 2543. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Такой вид она имеет в DELPHI:
-------------------------------
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
Function a_b:boolean;      
var k,i,j:byte;            
Z_a,Z_b:predpr;
d:boolean;
Begin
Nul(Z_a); Nul(Z_b);
alfa[1]:=0;
Z_a[1]:=1;
k:=1;
Repeat
d:=1=1;
for i:=1 to Na do
if Z_a[i]=1 then
for j:=1 to Nb do
if (p[i,j]>-1) and (Z_b[j]=0) then
begin
   Z_b[j]:=1;
   betta[j]:=c[i,j]-alfa[i];
   inc(k);
   d:=1=2;
end;
for i:=1 to Nb do
if Z_b[i]=1 then
for j:=1 to Na do
if (p[j,i]>-1) and (Z_a[j]=0) then
begin
   Z_a[j]:=1;
   alfa[j]:=c[j,i]-betta[i];
   inc(k);
   d:=1=2;
end;
Until (k>=Na+Nb) or d;
 
if d then
begin
   i:=1;
   While (Z_a[i]=1) and (i<Na) do
   begin
      inc(i);
      d:=true;
   end;
   
   j:=1;
   While (Z_b[j]=0) and (j<Nb) do
   begin
      inc(j);
      d:=true;
   end;
   p[i,j]:=0;
   write(fpout,' p[',i,',',j,']=',p[i,j]);
   if ((j >= Nb) and ( right_or_not = 'no' )) then write(fpout,' ôèêò. ');
end;
 
a_b:=d;
end;
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.04.2006, 22:24
Ответы с готовыми решениями:

Помогите сообразить при написании одной функции
Необходимо написать функцию по возврату количества дней отсрочек действия расчета пени на интервале; Пока есть: Функция...

Помогите в написании программы (C++)
За каждый ход генерируется случай n-ое число от 0 до 6 (моделируется выпадание игрального кубика). На основании полученного числа...

Ребят помогите в написании
Составить программу, которая формирует одномерный массив из средних арифметических элементов каждой строки заданного двухмерного массива.

9
0 / 0 / 0
Регистрация: 09.04.2015
Сообщений: 3
25.04.2006, 22:25  [ТС]
Мне вожно описание ее, а не тело!
0
6 / 6 / 3
Регистрация: 17.10.2007
Сообщений: 1,119
25.04.2006, 23:42
Eto ee priblizitel'nyj vid v VB6.
A chto ona delaet: v ciklax schitaet uslovno massivi, zachem-to pereustanavlivaet boolean "d", delaet ee TRUE, kogda ona uzhe i tak TRUE. Zatem vozvraschaet kak znachenie funkcii a_b.

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
Private Function a_b() As Boolean
    Dim k As Byte
    Dim i As Byte
    Dim j As Byte
    Dim Z_a(Na) As Variant
    Dim Z_b(Na) As Variant
    Dim d As Boolean
    
    Nul (Z_a) '?
    Nul (Z_b) '?
    
    alfa(1) = 0
    Z_a(1) = 1
    k = 1
    
    Do
        d = True
        
        For i = 1 To Na
            If Z_a(i) = 1 Then
                 For j = 1 To Nb
                    If P(i, j) > -1 And Z_b(j) = 0 Then
                       Z_b (j) = 1
                        betta(j) = c(i, j) - alfa(i)
                        inc (k)
                        d = False
                    End If
                 Next j
            End If
        Next i
        
        For i = 1 To Nb
            If Z_b(i) = 1 Then
                For j = 1 To Na
                    If P(j, i) > -1 And Z_a(j) = 0 Then
                        Z_a(j) = 1
                        alfa(j) = c(j, i) - betta(i)
                        inc (k)
                        d = False
                    End If
                Next j
            End If
        Next i
        
    Loop Until k >= Na + Nb Or d
    
    If d Then
        i = 1
        
        Do While Z_a(i) = 1 And i < Na
            inc (i)
            d = True
        Loop
        
        j = 1
        Do While Z_b(j) = 0 And j < Nb
            inc (j)
            d = True
        Loop
        
        P(i, j) = 0
        Debug.Print "write(fpout,' p[',i,',',j,']=',p[i,j])"
        If (j >= Nb) And (right_or_not = "no") Then
            Debug.Print "ôèêò." 'write(fpout,' ôèêò. ');
 
        End If
    End If
    
    a_b = d
    
End Function
 
vladconn
0
133 / 57 / 2
Регистрация: 23.11.2024
Сообщений: 687
17.12.2024, 17:18
Мне вожно описание ее
Попробуем описать её словами русского языка.

====

В Delphi нет встроенного типа "predpr".
это пользовательский тип, объявленный в конкретном проекте или библиотеке,
и не является частью стандартной библиотеки Delphi.

"Predpr", вероятно, является пользовательским типом объявления для "процедуры-предиката" или "функции-предиката"
В некоторых конкретных диалектах или библиотеках Pascal.

В этом контексте процедура-предикат - это процедура, которая возвращает логическое значение,
указывающее, является ли определенное условие истинным или ложным.
Часто используется для представления логического условия или теста.

В данном коде Z_a и Z_b объявлены как predpr,
что предполагает, что они являются процедурами-предикатами, которые возвращают логические значения.

Строка "if Z_a[i]=1 then" предполагает, что Z_a является массивом, а не функцией.
В этом случае "predpr" вероятно является типом, объявленным для массива

====

Из кодировки Windows-1252 строка `ôèêò`. соответствует строке "конец." в кодировке UTF-8.

====

Функция, которую вы показали, является частью алгоритма, который решает задачу о потоке в сети.
Это алгоритм, который находит максимальный поток в сети, где есть источник и сток, и где
каждое ребро имеет определённую пропускную способность.

Функция, которую вы показали, является частью алгоритма Форд-Фалкерсона,
который является одним из наиболее известных алгоритмов для решения этой задачи.

В частности, функция, которую вы показали, является частью процедуры поиска увеличивающего пути в сети.
Она ищет путь от источника к стоку, который можно использовать для увеличения потока в сети.

Функция работает следующим образом:
- Она инициализирует массивы Z_a и Z_b, которые используются для хранения информации о ребрах сети.
- Она ищет ребра, которые можно использовать для увеличения потока в сети.
- Если она находит такое ребро, она обновляет информацию в массивах Z_a и Z_b.
- Если она не может найти такое ребро, она возвращает значение, указывающее на то, что поток в сети не может быть увеличен.

Похожими алгоритмами являются
алгоритм Эдмондса-Карпа
алгоритм Диница

Добавлено через 11 минут
a_b: boolean - булево значение функции
k, i, j: byte - целочисленные переменные для индексации
Z_a, Z_b: predpr - предикатные переменные (вероятно, массивы)
d: boolean - булево значение условия цикла
alfa, betta: массивы (тип не указан, но вероятно float или int)
c: двумерный массив (тип не указан, но вероятно float или int)
p: двумерный массив (вероятно float или int)
fpout: файловый поток для вывода
right_or_not: строковая константа

Добавлено через 2 часа 3 минуты
В версии Delphi 2009 были добавлены ключевые слова true и false,
был добавлен новый тип данных Boolean, который может принимать значения true или false.

В случае с ключевыми словами и типами данных, такими как Boolean, регистр не имеет значения.
Boolean, BOOLEAN, boolean - все это одно и то же.

В более ранних версиях Delphi для логических значений использовались целые числа 0 и 1,
где 0 соответствовало false, а любое ненулевое значение соответствовало true.

Возможно, что мы видим тут более раннюю/древнюю версию, а boolean - это тип, определяемый пользователем.

Ну и это логично, так как дата создания топика это 2006-04-25, что меньше, чем 2009.
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
18.12.2024, 20:23
Tupiel Reuschin, и к чему здесь этот вброс?
0
 Аватар для vvm28
771 / 538 / 67
Регистрация: 22.12.2013
Сообщений: 2,497
Записей в блоге: 26
21.12.2024, 20:51
Цитата Сообщение от nozzz Посмотреть сообщение
Помогите в написании функции
Вам нужно переписать на java?
Проще сформулировать задачу и написать что вы хотите получить в итоге.
То есть сформулировать задачу и переписать код с нуля.
1. Постановка задачи. Что нужно сделать и какой нужно получить результат?
Так вы сможете сами решить задачу. Другие смогут вам помочь быстрее.
Правильно заданный вопрос - уже половина ответа.

Не по теме:

Будьте попроще и люди к вам потянутся.

0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
21.12.2024, 20:53
vvm28, 18 лет уж прошло...
0
21.12.2024, 21:03

Не по теме:

Цитата Сообщение от iSmokeJC Посмотреть сообщение
18 лет уж прошло...
Ну.. дык я с просонья и написал. Тема поднялась, а я не посмотрел на дату топистартера.
Моя невнимательность. Признаю свою оплошность.

0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6136 / 2830 / 1039
Регистрация: 01.06.2021
Сообщений: 10,324
09.01.2025, 19:45
Цитата Сообщение от iSmokeJC Посмотреть сообщение
18 лет уж прошло...
интересно...

ТС был зарегистрирован 09.04.2015, но вопрос создан 25.04.2006. Видимо, это глюк.
0
09.01.2025, 19:57

Не по теме:

Цитата Сообщение от Royal_X Посмотреть сообщение
ТС был зарегистрирован 09.04.2015, но вопрос создан 25.04.2006. Видимо, это глюк.
Машину времени изобрел и использует.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.01.2025, 19:57
Помогаю со студенческими работами здесь

Помогите в написании программы(массив)
Дан массив целых чисел. Вывести те из них, индексы которых являются числами Фибоначчи. В си совсем новичок. Сам пытался разобраться,...

Помогите в написании макроса сверки и заполнения
Макрос должен сверять две таблицы по одному одном столбцу, если во второй таблице нет такого значения как в первой то это значение...

ПОМОГИТЕ в написании пояснительной записки за короткий срок?
необходимо написать пояснительную записку к программе!!!

При написании программы выходит ошибка, помогите разобраться
При написании программы выходит ошибка, помогите разобраться в ней Error using inline/subsref (line 12) Not enough inputs to...

Ошибка в написании функции
Добрый вечер ,никак не могу правильно записать в экселе формулу. Постоянно выдает ошибку #ИМЯ. Сама формула на пикче


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru