Форум программистов, компьютерный форум, киберфорум
D (DLang)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.96/71: Рейтинг темы: голосов - 71, средняя оценка - 4.96
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446

Как быстро проверить массив на наличие равных элементов

05.02.2015, 22:17. Показов 15566. Ответов 51

Студворк — интернет-сервис помощи студентам
Можно написать такую функцию:
C++
1
2
3
4
5
6
int busy(int j) {
    foreach (i; 0 .. j)
        if (a[i] == a[j])
            return 0;
    return 1;
}
Но меня интересует: есть ли в D уже готовые функции, которые возвращают 0/1 или индексы равного элемента одинаковых элементов массива.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.02.2015, 22:17
Ответы с готовыми решениями:

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

Проверить наличие в нем хотя бы двух равных между собой элементов
Здраствуйте! Задано массив A ( n ) . Проверить наличие в нем хотя бы двух равных между собой элементов . Немогу написать код.Написал,...

Проверить массив на наличие нулевых элементов, в первый из этих элементов записать число
Мне нужно проверить массив на наличие в нем элементов со значением 0. А потом в первый из этих элементов со значением 0 записать число.

51
Заблокирован
08.03.2015, 18:17
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
А вы продемонстрируйте, а я потом решу, что лучше использовать.
Dennis Ritchie, а самому открыть
http://dlang.org/
и посмотреть сложно? Вы же D - программист, а не я:
Java
1
2
3
4
5
6
7
8
9
10
11
import std.stdio;
import std.algorithm;
import std.range;
 
void main() {
 
    int[] array = [2, 3, 3, 4, 5 ];
    int index = 3;
 
    writeln(find((take(array,index)~drop(array,index+1)),4).length>0);
}
Code
1
false
http://ideone.com/pXEGVW
1
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38161 / 21096 / 4306
Регистрация: 12.02.2012
Сообщений: 34,680
Записей в блоге: 14
08.03.2015, 19:50
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Зато количество символов в записи метода поиска можно уменьшить
- не понял... Если задача формулируется так: найти индексы элементов массива, совпадающих с заданным числом (и массив не отсортирован), то сложность этой задачи O(n), а решение ее тривиально - перебор.
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
08.03.2015, 19:58  [ТС]
Цитата Сообщение от Catstail Посмотреть сообщение
- не понял...
Цитата Сообщение от Catstail Посмотреть сообщение
найти индексы элементов массива, совпадающих с заданным числом
А я теперь понял, почему вы подредактировали тему.
Нет. Задача состоит в том, чтобы проверить массив на наличие одинакового элемента (числа или строки) элементов, совпадающих с заданным значением. Вам знакома функция count() в C++?
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38161 / 21096 / 4306
Регистрация: 12.02.2012
Сообщений: 34,680
Записей в блоге: 14
08.03.2015, 20:05
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
А я теперь понял, почему вы подредактировали тему.
- и опять подредактирую - "не одинакового элемента", а элементов, совпадающих с заданным значением. Писать "одинакового элемента" неграмотно.
0
Заблокирован
08.03.2015, 20:06
Цитата Сообщение от Catstail Посмотреть сообщение
Если задача формулируется так: найти индексы элементов массива, совпадающих с заданным числом (и массив не отсортирован), то сложность этой задачи O(n), а решение ее тривиально - перебор.
Catstail, Имеется ввиду экономия времени на написание программы - по максимуму использовать стандартные функции. Для спортивных программистов это очень важно.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38161 / 21096 / 4306
Регистрация: 12.02.2012
Сообщений: 34,680
Записей в блоге: 14
08.03.2015, 20:10
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Вам знакома функция count() в C++
- именно это она и делает.

Добавлено через 3 минуты
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
Имеется ввиду экономия времени на написание программы - по максимуму использовать стандартные функции. Для спортивных программистов это очень важно.
- Бога ради... Если целевая функция - реализовать как можно быстрее, то наверное.
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
08.03.2015, 20:23  [ТС]
Цитата Сообщение от Catstail Посмотреть сообщение
- и опять подредактирую
Наконец-то, нашёлся на этом форуме человек, который знает русский язык лучше, чем я.
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
а самому открыть
Ev_Hyper, и так часто открываю. Просто испытываю 50%-ую трудность чтения по-английски. Когда английский подтяну, тогда будет проще.
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
Вы же D - программист, а не я:
Поэтому только что я и придумал способ, который проще записать, чем ваш :
C++
1
2
3
4
5
6
7
8
9
import std.stdio;
import std.algorithm;
 
void main() {
 
    auto a = [3, 5, 8];
 
    writeln(find(remove(a, 1), 5).length != 0);     // prints false
}
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
по максимуму использовать стандартные функции. Для спортивных программистов это очень важно.
Важно, но не очень и не для всех.
Цитата Сообщение от Catstail Посмотреть сообщение
- именно это она и делает.
Не совсем. Она возвращает количество элементов, совпадающих с заданным значением. Но мне в отличие от функции count() не нужно проверять количество, совпадающих элементов. Мне нужно проверить массив на наличие хотя бы одного элемента, совпадающего по значению с данным, и вернуть true (а лучше первый индекс совпадающего элемента, хотя возникнет проблема с возвратом нулевого индекса, ведь он занят под false) или false. Да, вот так всё у меня сложно.
0
Заблокирован
08.03.2015, 20:32
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Поэтому только что я и придумал способ, который проще записать, чем ваш
Dennis Ritchie, такое поведение нормально?
Java
1
2
3
4
5
6
7
8
9
10
import std.stdio;
import std.algorithm;
 
void main() {
 
    auto a = [3, 5, 8];
 
    writeln(find(remove(a, 1), 5).length != 0);     // prints false
    writeln(a);
}
Code
1
2
false
[3, 8, 8] //???
http://ideone.com/grupRJ
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38161 / 21096 / 4306
Регистрация: 12.02.2012
Сообщений: 34,680
Записей в блоге: 14
08.03.2015, 20:33
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Но мне в отличие от функции count() не нужно проверять количество, совпадающих элементов. Мне нужно проверить массив на наличие хотя бы одного элемента, совпадающего по значению с данным, и вернуть true (а лучше первый индекс совпадающего элемента, хотя возникнет проблема с возвратом нулевого индекса, ведь он занят под false) или false. Да, вот так всё у меня сложно.
- господи! Вся проблема решается вот таким "сложным" кодом:

C
1
2
3
4
5
6
int isIn(int v, int *arr, int n)
{
   int i;
   for (i=0; i<n; i++) if (arr[i]==v) return i;
   return -1;
}
"Мы верим твердо
в героев спорта!
Нам победа как воздух нужна!
Мы хотим всем рекордам
наши звонкие дать имена!" - песня советских лет...
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
08.03.2015, 20:41  [ТС]
Цитата Сообщение от Catstail Посмотреть сообщение
Вся проблема решается вот таким "сложным" кодом:
Нет. Не решается. Вы забыли про один нюанс. А что, если совпадающий элемент - это строка? Ваша функция не сработает.
То ли дело стандартная find() (универсальная). Вам же придётся писать гомогенную функцию с темплейтами, чтобы она стала универсальной.
Цитата Сообщение от Catstail Посмотреть сообщение
песня советских лет...
Да, спортивное программирование не зря так названо. Уж поверьте.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38161 / 21096 / 4306
Регистрация: 12.02.2012
Сообщений: 34,680
Записей в блоге: 14
08.03.2015, 20:47
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
А что, если совпадающий элемент - это строка?
- а с какого перепуга строка окажется в int-массиве? И опять "совпадающий элемент"... Не "совпадающий", а "искомый". Если язык позволяет хранить в одном массиве и числа и строки, все достаточно просто. Алгоритм тот же.

Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Да, спортивное программирование не зря так названо.
- а в чем его суть в таком случае? Помнить как можно больше стандартных функций?
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
08.03.2015, 21:01  [ТС]
Цитата Сообщение от Catstail Посмотреть сообщение
- а в чем его суть в таком случае? Помнить как можно больше стандартных функций?
Главная суть - знание алгоритмов и эффективное их применение.
Цитата Сообщение от Catstail Посмотреть сообщение
- а с какого перепуга строка окажется в int-массиве?
Потребности со временем меняются. Вот и у меня появилась потребность проверять не только int-, но и string-массивы.
В D наконец-то избавились от такого ненужного понятия, как map:
C++
1
string[string] array;
Цитата Сообщение от Catstail Посмотреть сообщение
И опять "совпадающий элемент"...
Когда писал, то знал, что вы опять докопаетесь до этого слова (мне просто лень было подобрать нужное)...
Цитата Сообщение от Catstail Посмотреть сообщение
Если язык позволяет хранить в одном массиве и числа и строки, все достаточно просто.
Такого ещё не придумали, насколько я знаю, но всё же универсальные функции лучше. В индексах позволяет:
C++
1
int[string][int] array;
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38161 / 21096 / 4306
Регистрация: 12.02.2012
Сообщений: 34,680
Записей в блоге: 14
08.03.2015, 21:33
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Главная суть - знание алгоритмов и эффективное их применение.
- не ощущаю этого по дискуссии. Алгоритм решения этой задачи ничтожен и не стОит серьезного обсуждения.

Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
вы опять докопаетесь до этого слова (мне просто лень было подобрать нужное)
- мои обязанности состоят в том, чтобы следить за порядком в разделе (а порядок включает грамотность). "Лень подбирать" - рассматриваю, как хамство.

Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Такого ещё не придумали,
- такое уже давно придумали... В PHP, к примеру или в VB/VBA или в JavaScript-е. В VB есть контейнерный тип данных Variant, который может хранить что угодно. Поэтому в VB/VBA задача имеет очевидное решение:

Visual Basic
1
2
3
4
5
6
7
8
9
Function Find(A() as variant, v as Variant) As Variant
  for i%=1 to Ubound(A,1)
      if A(i%)=v then 
         Find=i%
         Exit function
      end if
  Next i%
  Find=False
End Function
Эта функция может вернуть индекс первого вхождения, а может логическое False (нет совпадений).

Добавлено через 7 минут
А вот как это же выглядит в Лиспе:

Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
(defun find (arr el &optional (p 0))
  (cond ((null arr) nil)
        ((equal el (car arr)) p)
        (t (find (cdr arr) el (+ p 1)))))
 
==> find
 
(find '(1 4.5 "проба" a t 3/4) 4.5)
 
==> 1 ;; элемент стоит в поз. 1 (нумерация с нуля)
 
(find '(1 4.5 "проба" a t 3/4) 77)
 
==> NIL ;; элемент не найден
 
(find '(1 4.5 "проба" a t 3/4) "проба")
 
==> 2 ;; стоит в поз. 2
 
(find '(1 4.5 "проба" a t 3/4) 3/4)
 
==> 5 ;; стоит в поз. 5
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
08.03.2015, 22:25  [ТС]
Цитата Сообщение от Catstail Посмотреть сообщение
"Лень подбирать" - рассматриваю, как хамство.
Если вы считаете это хамством, то вы не современны. Может быть, и эту фразу будете рассматривать, как хамство?
Цитата Сообщение от Catstail Посмотреть сообщение
а порядок включает грамотность
Грамотность включает в себя совмещение правил русского языка и интернет-сленга, касается даже учителей русского языка. Если не умеете перейти на интернет-сленг, там где это уместно, то вы не грамотны (слова известного русского языковеда). Слово "совпадающий" никак не изменило смысл мною сказанного, и вы без труда поняли меня. В чём неграмотность? Ну, конечно, это хорошо, что вы следите за грамотностью. По-моему, кроме вас, за грамотностью русского языка не следит не один из модераторов (поэтому с неграмотностью в интернете бесполезно бороться). Теперь я, зная о том, что вы следите за грамотностью в этом разделе, буду стараться писать грамотно (и это я писал без всякого хамства).

Не по теме:

P.S. Когда я учился в школе, я был олимпиадником по русскому языку (и не только), выиграл областную олимпиаду и на этом остановился. Мне часто казалось, что люди в интернете очень не грамотны. А потом, в один прекрасный момент, я понял, что бороться с неграмотностью в интернете - это бред.


Цитата Сообщение от Catstail Посмотреть сообщение
В VB есть контейнерный тип данных Variant
В D тоже есть (я имел в виду поддержку таких массивов на уровне самого ЯП, что-то вроде string-int[] array):
C++
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
import std.stdio;
import std.variant;
 
alias IntOrStr = Algebraic!(int, string);
 
IntOrStr[] makeIntOrStrArray(T...)(T vals)
{
    import std.algorithm;
    import std.array;
    
    auto result = new IntOrStr[](T.length);
    foreach (i, val; vals)
    {
        result[i] = IntOrStr(val);
    }
    
    return result;
}
 
void main()
{
    IntOrStr[] arr = makeIntOrStrArray(4, "five", 5, "f", "k", 6, "example", 7);
 
    writeln(arr);   // prints [4, "five", 5, "f", "k", 6, "example", 7]
}
P.S. Спасибо, я раньше не знал для чего нужен этот заголовочный файл std.variant, хотя вас успели опередить на официальном форуме D. Просто я ещё не владею темплейтами и гомогенными функциями, чтобы это самому написать.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38161 / 21096 / 4306
Регистрация: 12.02.2012
Сообщений: 34,680
Записей в блоге: 14
08.03.2015, 22:51
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Грамотность включает в себя совмещение правил русского языка и интернет-сленга, касается даже учителей русского языка. Если не умеете перейти на интернет-сленг, там где это уместно, то вы не грамотны (слова известного русского языковеда).
- вы лучше не спорьте... Сленг - это специфический набор слов. А у вас - элементарное неумение выражать свои мысли. Ваше неумение можно назвать воинствующим (не хочу - лень). Да, это форма хамства.

Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Когда я учился в школе, я был олимпиадником по русскому языку (и не только)
- не верю! Человек, любящий и знающий русский язык, знает смысл слов и употребляет их к месту. Вижу, я вас задел... А вы не нарывайтесь, просто пишите грамотно. И ни у кого не будет претензий. Могу дать добрый совет старшего: аргументы должны легко подтверждаться. Ну как я проверю, что вы в школе были олимпиадником по русскому языку? Такие аргументы обычно высказывают подростки. "Учитесь властвовать собой" - это знаете, откуда?

Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
По-моему, кроме вас, за грамотностью русского языка не следит не один из модераторов (поэтому с неграмотностью в интернете бесполезно бороться).
- не скажите... На респектабельных сайтах вы безграмотности не найдете. Вот я и хочу, чтобы киберфорум был респектабельным.
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
08.03.2015, 23:30  [ТС]
Цитата Сообщение от Catstail Посмотреть сообщение
Да, это форма хамства.
ОК.
Цитата Сообщение от Catstail Посмотреть сообщение
Человек, любящий и знающий русский язык
Кто вам сказал, что я его люблю?
Цитата Сообщение от Catstail Посмотреть сообщение
Вижу, я вас задел...
Нет. Меня смогли задеть только в разделе "Священные войны".
Цитата Сообщение от Catstail Посмотреть сообщение
"Учитесь властвовать собой" - это знаете, откуда?
Нет. Не люблю читать художественную литературу (даже презираю так же, как и отечественный кинематограф), поэтому пришлось глянуть в интернете.
Цитата Сообщение от Catstail Посмотреть сообщение
- не верю!
Этим задели. Доказательства последуют через несколько дней...
Ещё задели неприязнью к хакерам в одной теме на форуме (слышали про "золотого" хакера из России? Я считаю, что он гений). Больше ничем вы меня не задели.
Цитата Сообщение от Catstail Посмотреть сообщение
Вот я и хочу, чтобы киберфорум был респектабельным.
Тогда надо, чтобы все модераторы киберфорума следили за грамотностью.
0
08.03.2015, 23:45

Не по теме:

Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Доказательства последуют через несколько дней
- не трудитесь... Это доказать невозможно. Ну покажете вы скан чего-нибудь. Что подтвердит, что он ваш? Да и странно. Олимпиадник по русскому языку русский язык не любит, слова подбирать ленится. Хорош олимпиадник!..

Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Не люблю читать художественную литературу (даже презираю так же, как и отечественный кинематограф), поэтому пришлось глянуть в интернете.
- приятно иметь дело с такими
культурными людьми.

Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Ещё задели неприязнью к хакерам в одной теме на форуме (слышали про "золотого" хакера из России? Я считаю, что он гений).
- и что? Многие преступники являются весьма умными людьми. Вот слово "гений" я бы употреблять в данном контексте поостерегся. Т.к. полностью согласен с одним известным автором, который сказал "Гений и злодейство - две вещи несовместные" (посмотрите в Сети).

Впрочем, дискуссия отошла слишком далеко от языка D.

0
Заблокирован
08.03.2015, 23:50
Dennis Ritchie, а мой вопрос из поста:
https://www.cyberforum.ru/post7315631.html
вы почему проигнорировали?
0
08.03.2015, 23:53

Не по теме:

Ev_Hyper, это я виноват

0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
09.03.2015, 00:18  [ТС]
Цитата Сообщение от Ev_Hyper" Посмотреть сообщение
такое поведение нормально?
Не знаю. Спрошу на официальном форуме. Может быть, и нормальное. А, может быть, и нет. Ведь D до сих пор находится в активной разработке.
Цитата Сообщение от Catstail Посмотреть сообщение
Ну покажете вы скан чего-нибудь.
Хорошо. Фото сотни грамот показывать вам бесполезно. Скажете, что у меня цветной принтер, и что я сам всё это быстро напечатал.
А это тоже не моё, или я на 3D-принтере напечатал, который купил за 300 тысяч рублей, или скажете, что я быстро у кого-то одолжил?
Миниатюры
Как быстро проверить массив на наличие равных элементов  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.03.2015, 00:18
Помогаю со студенческими работами здесь

Проверить двумерный массив на наличие отрицательных элементов
Если в массиве есть хоть один отрицательный элемент, нужно, чтоб на экран вывелось сообщение &quot;You have negative elements in your...

Проверить массив на наличие в нем положительных элементов
Здравствуйте, дорогие форумчане. Помогите с программой. Условие: переписать положительные элементы массива x, до последнего вхождения...

Проверить массив на наличие в нем элементов со значениями 25 и 45
Написать программу на языке VBA, которая проверяет массив элементов M(i), в котором 30 значений, на наличие в нем элементов со значениями...

Как проверить весь массив на наличие строки?
Как проверить весь массив на наличие строки? если строки нету- записать Добавлено через 14 минут строка всегда динамическая string...

Как проверить массив на наличие имен с базы mysql
У меня есть база в mysql names, состоящая из 30 имен, и есть массив massnames, в котором 5 имен. Как сделать, чтобы данные с базы смерялись...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
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 - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru