Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
 Аватар для ololo111
166 / 52 / 36
Регистрация: 13.04.2012
Сообщений: 620

Добавление сортировки

03.04.2019, 21:50. Показов 3704. Ответов 98
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
не хватает процедуры сортировки имён в алфавитном порядке...
вот сама программа
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
//Uses Crt;
type
  TPElem = ^TElem;
  TElem = record
    Data : string;
      Left,Right: TPElem;
  end; 
  
var
  T,S : TPElem;
  i,k:byte;
  N:string;
  
procedure AddToTree( var T: TPElem; N:string); {ВВОД}
begin
  if T = nil then begin
    New(T);
    T^.Data := N;
     T^.Left := nil;
     T^.Right := nil;
   Exit; end; 
  if N < T^.Data then
     AddToTree(T^.Left, N)
  else 
     AddToTree(T^.Right, N);
end; 
// //
function Search(T:TPElem; N:string):TPElem; {ПОИСК}
var
P:TPElem;  
begin
  if T=nil then  
     begin
       Search:=nil;  
       exit; 
     end;
  if N=T^.Data then 
    P:=T 
     else 
       if N < T^.Data then
          P:=Search(T^.Left,N) 
       else     {иначе }
         P:=Search(T^.Right,N); 
  Search:=P;
end;
// //
procedure Lkp(T:TPElem);  {ВЫВОД}
begin
  if T=nil then 
   exit;    
  Lkp(T^.Left);  
  write('  ',T^.Data);
  Lkp(T^.Right);  
end;
// //
 begin
    while true do
    begin
        writeLn('Выберите действие');
        writeLn('1 - Добавление');
        writeLn('2 - Поиск'); 
        writeLn('5 - Вывод');
        writeLn('6 - Очистка');
        writeLn('7 - Exit');
       var ans := ReadLnString('Ваш выбор:').Trim;
      if ans.Length > 0 then
        case ans[1] of
            '1' :          {ВВОД}
             begin
             // ClrScr;
               Write('Задайте количество сотрудников: ');
               Readln(k);
              for i := 1 to k do
                begin
                 Write('Введите имя: ');
                 Readln(N);
                 AddToTree(T,N);
                end; 
             end;
         '2': begin      {ПОИСК}
               writeln('Имя для поиска');
               readln(N);
               S:=Search(T,N);
                  if S <> nil then
                    writeln('Найден')
                  else writeln('Такого элемента нет!');
              end;
    '5' :begin         {ВЫВОД}
      //  ClrScr;
    Write('Список: ');
    if T = nil then
    writeln('пуст... ')
    else begin
        Lkp(T);
        writeln;
       end; end;
        '6' : begin
              T:=nil;
     //         ClrScr;
              writeln('Список очищен... ');
              end;
          '7' : exit
        end;  
    end;
end.
есть у кого нибудь хотя бы пример? хоть посмотреть как такая процедура выглядит, а то везде только массивы да списки.... а как в дереве такое выглядит, нигде не пишется и не объясняется, опять надо у бога спрашивать...
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.04.2019, 21:50
Ответы с готовыми решениями:

Разработайте рекурсивную процедуру сортировки последовательности методом быстрой сортировки Хоара
Помогите!!!! Дана последовательность чисел a1, a2, ... , an. Разработайте рекурсивную процедуру сортировки последовательности методом...

Написать программу сортировки массива с помощью алгоритма внешней сортировки
1. Дан текстовый файл, в котором записана последовательность целых чисел. Написать программу сортировки массива с помощью алгоритма внешней...

Расставить элементы массива в порядке возрастания методом сортировки выбором и сортировки простыми вставками
Здрасьте еще раз!С прошедшим вас праздником! я глупая и бестолковая опять пришла к вам на спасение. задачка вот простенькая, но вся...

98
 Аватар для Sun Serega
2356 / 1459 / 526
Регистрация: 07.04.2017
Сообщений: 4,798
29.04.2019, 20:07
Студворк — интернет-сервис помощи студентам
Коды никто никогда не сохраняет. Их вычисляют когда нужно узнать куда сувать элемент, или для проверки существования элемента.
0
 Аватар для ololo111
166 / 52 / 36
Регистрация: 13.04.2012
Сообщений: 620
29.04.2019, 20:35  [ТС]
как же тогда таблицу с хэшем создавать, мне же по идеи надо куда-то всё это записать, чтобы потом было где искать.... а так получается у меня при вводе слова вычисляется его хэш, и сразу перезаписывается хэшем нового слова... я думал этот хэш надо отдельно заносить в какой-нибудь список, чтобы считывать его потом от туда, для того же поиска по хэшу....
0
 Аватар для Sun Serega
2356 / 1459 / 526
Регистрация: 07.04.2017
Сообщений: 4,798
29.04.2019, 20:38
Перечитайте внимательно моё объяснение азов хаш-сетов. Я распинался не для того чтоб вы тупые вопросы задавали, а как раз для обратного.
0
 Аватар для ololo111
166 / 52 / 36
Регистрация: 13.04.2012
Сообщений: 620
29.04.2019, 23:43  [ТС]
вроде бы всё работает, но по моему как-то жестко получилось, можно ли это сделать как-то легче, даже и не знаю...

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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
const
  MAX = 255;
type
     Cell = record
       CellName: string[2];
       next: integer;
     end;
var
  Mass:array[0..MAX] of Cell;
  name: Cell;
  Y,N,Z: string;
// 
procedure InitMass;          { инициализация физического массива }
  var
   t:integer;
  begin
    for t:=0 to MAX do
   begin
     mass[t].CellName:='empty';
     mass[t].next:= -1;
   end;
end;
//    
function HashIndex(Y: String): integer;        {Вычисление хэша}
var
  i: integer;
begin;
  Result:=0;
  for i:=0 to Length(Y)-1 do begin;
    Result:=(Result+word(Y[i+1]));
    end;
   HashIndex:=Round(Frac(Result*0.61)*100);
end;
// 
procedure Store(N:string);        {вставка значения элемента }
   var
    loc, i : integer;
  begin
   N:=IntToStr(HashIndex(Y));
   loc := StrToInt(N);
    if loc>MAX then Writeln('Расположение за пределами')
     else
    begin
       if (mass[loc].Cellname = 'empty') or
        (mass[loc].Cellname = N) then
        begin
          mass[loc].Cellname:= N;
        end else 
         begin
          while(mass[loc].next <>0) do
           loc := mass[loc].next;
           i := loc;
           while ((i<MAX) and (mass[loc].Cellname='empty'))
            do i := i+1;
             if(i = MAX) then
             begin
               Writeln('Хэш заполнен');
              end else
             begin
               mass[i].Cellname:= N;
               mass[loc].next := i;
             end;
        end;
     end;
end;
//
function Find(Z:string):integer;     {поиск физического адреса ячейки}
   var
    loc:integer;
    begin
      Z:=IntToStr(HashIndex(Y));
      loc :=  StrToInt(Z);
      while (mass[loc].CellName<>Z) and
          (loc <> 0) do loc:=mass[loc].next;
      if(loc = 0) then
     begin
       WriteLn('Не найдено');
       exit
     end else Find := loc;
      writeln('Найдено, хэш: ', loc);
end;
Добавлено через 1 минуту
мда, только зрение испортил.... столько сидеть за монитором
0
 Аватар для Sun Serega
2356 / 1459 / 526
Регистрация: 07.04.2017
Сообщений: 4,798
30.04.2019, 00:12
Зачем вы всё же сделали свою HashIndex? Почему не использовать стандартный .GetHashCode, которые есть абсолютно у каждого типа, даже пользовательского (хотя у пользовательских они могут быть далеки от идеала, но всё ещё лучше того что у вас).

По коду:

Цитата Сообщение от ololo111 Посмотреть сообщение
CellName: string[2]
А потом вы присваиваете туда строки длинной больше 2. Нет, их не обрежет, и в основном это будет нормально работать. Просто нефиг вообще [2] ставить, это только для file of T используется (и он уже как раз обрежет если попытаться сохранить в файл строку больше 2 символов), а так - компилятор заменяет все string[n] на просто string.

Цитата Сообщение от ololo111 Посмотреть сообщение
Mass:array[0..MAX] of Cell;
Ну и зачем вы продолжаете использовать эту фигню, которая статичные массив. У вас уже нумерация с 0 идёт, напишите:
Pascal
1
  Mass := new Cell[Max+1];
И всё будет работать так же, но лучше, ибо статичные массивы - зло.

Цитата Сообщение от ololo111 Посмотреть сообщение
mass[t].CellName:='empty';
Если кто то введёт строку empty - вы получите неправильное поведение. Лучше присваивайте nil, что значит ссылку на отсутствующие данные (оно всегда ссылается на адрес 0).

Цитата Сообщение от ololo111 Посмотреть сообщение
N:=IntToStr(HashIndex(Y));
loc := StrToInt(N);
Что? Почему? Зачем???

Цитата Сообщение от ololo111 Посмотреть сообщение
if loc>MAX then Writeln('Расположение за пределами')
А правильно:
Pascal
1
loc := loc and $FF;
или, то же самое только медленнее:
Pascal
1
loc := loc mod 256;
Это возьмёт только последние 8 бит адреса, чтоб у каждой строки был нормальный адрес, помещающийся в массив.
А то что у вас - большинство строк не примет.

И так же со строкой с хешкодом 255, когда место уже заполнено. Надо продолжать перечислять с индекса 0.
Да, если попытаться добавить больше 256 строк - получите бесконечный цикл. Поэтому надо запоминать сколько сейчас элементов добавлено, и если не помещается - сразу об этом говорить. А вот в HashSet в таком случае - размер Mass увеличивается в 2 раза, индексы всех элементов пересчитываются и побитовая маска ($FF из кода выше) заменяется, чтоб учесть это.

Ну и в Find, тоже, те же проблеммы

---

В остальном - алгоритм вроде правильный, если эти проблемы исправить.

Не по теме:


Цитата Сообщение от ololo111 Посмотреть сообщение
только зрение испортил.... столько сидеть за монитором
Вот не надо мне тут, 16-18 часов каждый день сижу, а зрение идеальное. По моему опыту - только у тех кто жалуется оно и ухудшается, эффект плацебо в общем. Хотя каплями для глаз лучше пользоваться, от греха.

1
 Аватар для ololo111
166 / 52 / 36
Регистрация: 13.04.2012
Сообщений: 620
30.04.2019, 18:38  [ТС]
Цитата Сообщение от Sun Serega Посмотреть сообщение
N:=IntToStr(HashIndex(Y));
loc := StrToInt(N);
Что? Почему? Зачем???
там работа с Loc требует integer, а N требует string....

а если так сделать,
Цитата Сообщение от Sun Serega Посмотреть сообщение
Mass := new Cell[Max+1];
то и
Цитата Сообщение от Sun Serega Посмотреть сообщение
if loc>MAX then Writeln('Расположение за пределами')
А правильно:
PascalВыделить код
1
loc := loc and $FF;
или, то же самое только медленнее:
PascalВыделить код
1
loc := loc mod 256;
это всё получается не нужно....

Цитата Сообщение от Sun Serega Посмотреть сообщение
Почему не использовать стандартный .GetHashCode
я просто так и не понял как он работает и как его использовать
0
 Аватар для Sun Serega
2356 / 1459 / 526
Регистрация: 07.04.2017
Сообщений: 4,798
30.04.2019, 18:43
Цитата Сообщение от ololo111 Посмотреть сообщение
а N требует string
а объявлять переменные типа integer вы не умеете, понятно)))

Цитата Сообщение от ololo111 Посмотреть сообщение
я просто так и не понял как он работает и как его использовать
Что понимать, берёте переменную любого типа и добавляете к её имени это (с точкой). И так получаете хеш-код. Обычная функция как .ToString, которая есть у каждого типа, в том числе пользовательского.
0
 Аватар для ololo111
166 / 52 / 36
Регистрация: 13.04.2012
Сообщений: 620
30.04.2019, 19:18  [ТС]
Цитата Сообщение от Sun Serega Посмотреть сообщение
а объявлять переменные типа integer вы не умеете, понятно)))
тогда прийдётся так всё переделать:
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
    
const
  MAX = 100;
    Cell = record
       CellName: integer;
       next: integer;
     end;
var
  Mass := new Cell[Max+1];
  name: Cell;
  n,z : integer;
  Y: string;
// 
procedure InitMass;          { инициализация физического массива }
  var
   t:integer;
  begin
    for t:=0 to MAX do
   begin
     mass[t].CellName:=0;
     mass[t].next:= -1;
   end;
end;
//    
function HashIndex(Y: String): integer;        {Вычисление хэша}
var
  i: integer;
begin;
  Result:=0;
  for i:=0 to Length(Y)-1 do begin;
    Result:=(Result+word(Y[i+1]));
    end;
   HashIndex:=Round(Frac(Result*0.61)*100);
end;
// 
procedure Store(N:integer);        {вставка значения элемента }
   var
    loc, i : integer;
  begin
   N := HashIndex(Y);
   loc := N;
    if loc>MAX then Writeln('Расположение за пределами')
     else
    begin
       if (mass[loc].Cellname = 0) or
        (mass[loc].Cellname = N) then
        begin
          mass[loc].Cellname:= N;
        end else 
         begin
          while(mass[loc].next <>0) do
           loc := mass[loc].next;
           i := loc;
           while ((i<MAX) and (mass[loc].Cellname=0))
            do i := i+1;
             if(i = MAX) then
             begin
               Writeln('Хэш заполнен');
              end else
             begin
               mass[i].Cellname:= N;
               mass[loc].next := i;
             end;
        end;
     end;
end;
//
function Find(Z:integer):integer;     {поиск физического адреса ячейки}
   var
    loc:integer;
    begin
      Z := HashIndex(Y);
      loc := Z;
      while (mass[loc].CellName<>Z) and
          (loc <> 0) do loc:=mass[loc].next;
      if(loc = 0) then
     begin
       WriteLn('Не найдено');
       exit
     end else Find := loc;
      writeln('Найдено, хэш: ', loc);
end;
0
 Аватар для ololo111
166 / 52 / 36
Регистрация: 13.04.2012
Сообщений: 620
02.05.2019, 15:00  [ТС]
мне вот не понятно, а почему этот массив хэша только на 90 элементов? даже если я 1000 поставлю, всёравно 90 будет? а если я сделаю хэш не двухзначным, а пятизначным числом? как мне сделать таблицу хэша неограниченной?
я массив хэша через writeln вывожу, и там 90 ячеек только
0
 Аватар для Sun Serega
2356 / 1459 / 526
Регистрация: 07.04.2017
Сообщений: 4,798
02.05.2019, 15:23
Я же вам говорил, когда элементы не помещаются - надо перевыделять память, увеличивая объём. Вы сделали объём константным - теперь не жалуйтесь что его не хватает.
0
 Аватар для ololo111
166 / 52 / 36
Регистрация: 13.04.2012
Сообщений: 620
02.05.2019, 16:16  [ТС]
О, я немного переделал программу, а как такой вариант?
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
const
  MAX = 100;
    Cell = record
       CellName: integer;
       next: integer;
     end;
var
  Mass := new Cell[Max+1];
  name: Cell;
  Y: string;
//
procedure InitMass;           { инициализация массива }
  var
   t:integer;
  begin
    for t:=0 to MAX do
   begin
     mass[t].CellName:=0;
     mass[t].next:= 0;
   end;
end;
//    
function HashIndex(Y: String): integer;        {Вычисление хэша}
var
  i: integer;
begin;
  Result:=0;
  for i:=0 to Length(Y)-1 do begin;
    Result:=(Result+word(Y[i+1]));
    end;
   HashIndex:=Round(Frac(Result*0.61)*100);
end;
// 
procedure Store(loc:integer);          {вставка значения элемента }
  begin
   loc := HashIndex(Y);
       if (mass[loc].Cellname = 0) then
        begin
          mass[loc].Cellname:= loc;
        end else 
         if (mass[loc].Cellname = loc) then
         begin
          inc(mass[loc].next);
          writeln('Совпадение хэша');
        end;
end;
//
function Find(loc:integer):integer;        {поиск адреса ячейки}
    begin
      loc := HashIndex(Y);
      if mass[loc].CellName<>loc then
     begin
       WriteLn('Не найдено');
       exit
     end else Find := loc;
      writeln('Найдено, хэш: ', loc,',',mass[loc].next);
end;
//
function Del(loc:integer):integer;        {удаление элемента хэша}
    begin
      loc := HashIndex(Y);
      if mass[loc].CellName<>loc then
     begin
       WriteLn('Не найдено');
       exit
     end else
     if mass[loc].next = 0
      then mass[loc].CellName:=0 
       else begin
     if mass[loc].next>0 
      then dec(mass[loc].next);
       writeln('Совпадение хэша уменьшено на 1');
       end;
end;
//
по моему так по лучше, учитывая что у меня хэш двухзначный.... тогда и количество элементов в таблице не надо ставить больше 100,, т.к. я поставил счётчик на подсчёт схожих элементов,
0
257 / 149 / 70
Регистрация: 29.07.2018
Сообщений: 1,254
02.05.2019, 16:20
ololo111, если я не ошибаюсь,хэши не так работают,там для всех элементов разные хэш-значения(но это не точно)
0
 Аватар для ololo111
166 / 52 / 36
Регистрация: 13.04.2012
Сообщений: 620
02.05.2019, 16:25  [ТС]
Цитата Сообщение от Пс Посмотреть сообщение
если я не ошибаюсь,хэши не так работают,там для всех элементов разные хэш-значения(но это не точно)
так а если элементы одинаковы, то и хэш одинаков...
0
257 / 149 / 70
Регистрация: 29.07.2018
Сообщений: 1,254
02.05.2019, 16:27
ololo111, вы уверены?Если да,то значит я ошибаюсь
0
 Аватар для ololo111
166 / 52 / 36
Регистрация: 13.04.2012
Сообщений: 620
02.05.2019, 16:30  [ТС]
Цитата Сообщение от Пс Посмотреть сообщение
вы уверены
нет, я так и не понял ничего про хэш, кроме того что это зашифрованный вид данных
0
257 / 149 / 70
Регистрация: 29.07.2018
Сообщений: 1,254
02.05.2019, 16:34
ololo111, вот именно,шифровать данные для того и придумали,что бы уберечь данные от посторонних глаз,и если бы одинаковые данные имели бы одинаковые хэш-значения,было бы легко дешифровывать их.
0
 Аватар для Sun Serega
2356 / 1459 / 526
Регистрация: 07.04.2017
Сообщений: 4,798
02.05.2019, 18:09
Цитата Сообщение от ololo111 Посмотреть сообщение
так а если элементы одинаковы, то и хэш одинаков...
А, вы про это... Хашсеты никогда не сохраняют копии одного и того же элемента. Так и задумано, и этим часто пользуются.

Добавлено через 8 минут
Цитата Сообщение от ololo111 Посмотреть сообщение
нет, я так и не понял ничего про хэш, кроме того что это зашифрованный вид данных
Не совсем, в том то и дело что это не шифр чтоб
Цитата Сообщение от Пс Посмотреть сообщение
уберечь данные от посторонних глаз
Хеш-код 2 одинаковых элементов как раз всегда будет одинаковый.

Хеш-код - это укороченное представление данных. Для хаш-сетов их сохраняют всегда в целом числе на 32 бит, потому что это удобно. Хашсет с элементами - байтами на 2^31 элементов это уже 2 гигабайта оперативки, а это ещё не считая что бакеты тоже что то да занимают, поэтому 32-битного хеш-кода вполне хватает.

Так же хеш-коды, к примеру, используют в блокчейне. Каждая криптографическая транзакция - это какой то тип данных. В ней хранится хеш-код предыдущей транзакции и все данные о том кто кому что дал. А основной смысл почему их так сложно взломать - хеш-код следующей транзации вычисляется из данных о самой транзации и хеш-кода предыдущей. Поэтому если хакер хочет заменить данные 1 транзации - ему придётся пересчитать все хеш-коды всех следующий транзаций и заменить это всё на большинстве компьютеров в сети одновременно, что нереально.
0
 Аватар для ololo111
166 / 52 / 36
Регистрация: 13.04.2012
Сообщений: 620
06.05.2019, 21:16  [ТС]
ребят, подскажите что-за ерунда, при добавлении не нулевых элементов из таблицы хэша в список, почему-то создаётся список только с одним последним элементом, по отладчику смотрел, вроде всё идёт как надо, а в итоге в выводе только один последний элемент....
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
procedure Rdata(loc:integer);
 begin
  for loc:=0 to 99 do
   if mass[loc].Cellname > 0 then
    begin
     if np=nil then 
   begin
    new(np); 
    PN:=np;
   end else begin
    PN:=np;
       while PN^.Rnext<>nil do
      PN:=PN^.Rnext; 
    new(PN^.Rnext);
    PN:=PN^.Rnext;
    end;
   PN^.Rnext:=nil;
   PN^.Rdata:=mass[loc].Cellname;
   end;
     end;
//       
 procedure Print(PN:PNode);                      
   begin
    write('Список:  ');
  if PN=nil then
  begin
    writeln('пуст.');
    exit;
  end;
  while PN<>nil do
  begin
    Write(PN^.Rdata, ' ');
    PN:=PN^.Rnext;
  end;
  writeln;
end;
0
 Аватар для ololo111
166 / 52 / 36
Регистрация: 13.04.2012
Сообщений: 620
07.05.2019, 17:31  [ТС]
а всё разобрался
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.05.2019, 17:31

Добавление сортировки
дана задача, основное написанно но нет сортировки... Разработать программу формирования ведомости об успеваемости студентов. Каждая...

Добавление времени сортировки
Доброго времени суток. Я начинающий. Столкнулся с проблемой, не могу разобраться никак со вставкой таймеров. Мне необходимо вставить время...

Добавление сортировки в готовый код
Здрасвтвуйте. Помогите пожалуйста. Нужно сформированный массив перед выводом на экран упорядочить по возрастанию. program lab3a; ...

Добавление кнопки сортировки в проект
Помогите добавить кнопку сортировки в проект, которая будет сортировать фамилии абонентов в алфавитном порядке. Заранее спасибо.

Добавление флага в алгоритм сортировки способом пузырька (С++)
Всем добрый вечер. Помогите пожалуйста добавить флажок в этот алгоритм. Идея – если при выполнении метода пузырька не было обменов,...


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

Или воспользуйтесь поиском по форуму:
99
Ответ Создать тему
Новые блоги и статьи
SUNO Ai - Река Без Дна
zorxor 31.07.2026
Автор стихотворения - астрофизик Марина Катыс Ссылка на сгенерированную музыкальную композицию: https:/ / suno. com/ song/ 6f6e5464-b290-4650-be6c-44c85f8d8013 Я говорю, что Время- как вода течет. . .
Из невошедшего на форум (диалог с ИИ-гугла)
zorxor 29.07.2026
А вот, что интересно, сказал мне ИИ-гугла: Этот текст — эмоциональный пост пользователя под ником zorxor на интернет-форуме (вероятно, посвященном мистике, непознанному или альтернативной науке). . . .
Был праздник вчера, а я и не знал.
kumehtar 28.07.2026
27. 07. 2026г. Intel Core 2 Duo исполнилось 20 лет Новости компьютерного мира и их обсуждение (4) Салют, шампанское, овации! :drink:
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр. Дословно, отклонённая. . .
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2. Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru