Форум программистов, компьютерный форум, киберфорум
Священные войны
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.70/254: Рейтинг темы: голосов - 254, средняя оценка - 4.70
Заблокирован
12.02.2015, 12:06
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Ev_Hyper, но я ужаснулся результату, от написанной мной программы.
Dennis Ritchie, вы будете и дальше общаться в чат-режиме? Что значит "ужаснулся результату"?
Создаете тему вот тут:
https://www.cyberforum.ru/fsharp/
указываете условие задачи, вашу реализацию на D, переписанный код на F#. Показываете тестовые примеры. И только тогда можно будет искать ошибку в той или иной программе.
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
12.02.2015, 12:13
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Где «там»?
В F#.

Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Тухлая там типизация.
Бугага, значит в D уже разложившаяся.

Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
написанной мной программы
Но где же она? Похоже, ты задремал.
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
12.02.2015, 17:25  [ТС]
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
Создаете тему вот тут:
Пожалуйста:
Переменная не может принять размер int64

Добавлено через 4 часа 39 минут
KolodeznyDiver, может быть, так подойдёт:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
import std.stdio;
 
void main() {
    int x = 5;
 
    asm {
        mov EAX, x;
        add x, 2;
        mov EAX, x;
    }
 
    writeln(x);     // 7
}
http://ideone.com/RZ6Q1j
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
12.02.2015, 17:53
Цитата Сообщение от castorsky Посмотреть сообщение
Первые 2 пункта я не понял. А на этот вопрос охотно отвечу. Я знаю одну точку входа в цикл и не понял как их можетбыть больше. Хотя бы просто поясните.
Гоуту извне внутырь цикла и из цикла наружу. Только это очень по-индусски. Ни когда так не делайте.
0
 Аватар для nullxdth
2305 / 1064 / 77
Регистрация: 12.03.2013
Сообщений: 4,987
12.02.2015, 22:11
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Но когда я увидел код чемпиона мира по программированию, то я понял, что это полный бред
Эталонный говнокод. Сразу видно олимпиадника.

Добавлено через 8 минут
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Тухлая там типизация.
Очевидно, что система типов ML качественно превосходит плебейскую наколенную систему в D или C++. Оспаривать это - выставить себя клоуном.
0
 Аватар для castorsky
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
13.02.2015, 01:21
taras atavin, осмелюсь предположить что Вы начинали с бейсика или фортрана.
Цитата Сообщение от nullxdth Посмотреть сообщение
что система типов ML
Точно же! Поколение ml. А я: "f# динамик тайпинг", такой фейл. Как обычно.
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
13.02.2015, 02:04  [ТС]
Цитата Сообщение от nullxdth Посмотреть сообщение
Очевидно, что система типов ML качественно превосходит плебейскую наколенную систему в D или C++.
А я всё время думал, а почему это экспертам C++ вечно не хватает возможностей статической типизации.

Каждый эксперт C++ просто не может выдержать тот факт, что его родной язык не обладает ML-типами, и как только слышит про систему ML, то сразу же бежит и суёт голову в песок, как страус. Но ведь всем известно, что это бред, потому что страусы никогда не суют голову в песок.
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
13.02.2015, 05:46
Цитата Сообщение от castorsky Посмотреть сообщение
taras atavin, осмелюсь предположить что Вы начинали с бейсика или фортрана.
Я начинал со спектрума 48K, соответственно можете поискать инфу даже о диалекте бейсика.

Добавлено через 3 минуты
Где нужна, в c++ есть и динамическая типизация, это как раз не проблема. Но кроме безымянных экземпляров предков каких либо классов она ни где не нужна.
0
13.02.2015, 06:09  [ТС]

Не по теме:

Цитата Сообщение от taras atavin Посмотреть сообщение
Я начинал со спектрума 48K, соответственно можете поискать инфу даже о диалекте бейсика.
Значит, 38 лет. :)

0
 Аватар для castorsky
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
13.02.2015, 16:36
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
А я всё время думал, а почему это экспертам C++ вечно не хватает возможностей статической типизации.
ml тоже sdc. Можно было и почитать на вике, например.
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
почти Каждый эксперт C++
Просто не знает что земля круглая. Фикс выделил.
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
13.02.2015, 19:37  [ТС]
Решил сегодня такую задачку:
Очередь на кассе
Решил примерно за 10 минут
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import std.stdio;
 
byte idx;
int ans, min;
 
void minfoo(byte m) {
    byte temp;
    foreach (i; 0 .. m) {
        readf(" %s", &temp);
        min += temp * 5;
    }
 
    min += m * 15;
 
    if (ans > min || idx == 0)
        ans = min;
 
    min = 0;
}
 
byte[] a;
 
void main() {
    byte n, k;
 
    readf(" %s", &n);
 
    foreach (i; 0 .. n) {
        readf(" %s", &k);
        a ~= k;
    }
 
 
    for (idx = 0; idx < n; ++idx) {
        minfoo(a[idx]);
    }
 
    writeln(ans);
}

Потом решил посмотреть чужие решения на D. Вот результат:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import std.conv;
import std.stdio;
import std.string;
import std.algorithm;
 
void main()
{
    int n = readln.chomp.to!int;
    auto cash = readln.split.map!(to!int);
    auto time = new int[](n);
    foreach (i; 0..n) {
        auto inp = readln.split.map!(to!int);
        foreach (j; 0 .. cash[i]) {
            time[i] += inp[j] * 5;
            time[i] += 15;
        }
    }
    time.reduce!(min).writeln;
}
Вот, кстати, и проверка на int при вводе: (to!int).

P.S. Оказывается, что на D можно писать и в стиле C++, и в стиле Python-C#.
0
 Аватар для castorsky
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
13.02.2015, 20:01
Dennis Ritchie, new заполняет выделенную память нулями автоматически? Не могу найти в спецификации. А так да, дэ питон.

Добавлено через 1 минуту
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Вот, кстати, и проверка на int
Это не проверка, а конвертация, сишный atoi.

Добавлено через 2 минуты
Цитата Сообщение от castorsky Посмотреть сообщение
ml тоже stc
fix static type-checking.
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
13.02.2015, 20:05  [ТС]
Цитата Сообщение от castorsky Посмотреть сообщение
Это не проверка, а конвертация, сишный atoi.
Возможно.
Цитата Сообщение от castorsky Посмотреть сообщение
new заполняет выделенную память нулями автоматически?
Никогда не интересовался, хотя самому интересно стало. Сейчас проверю.

Добавлено через 2 минуты
Ну да. Все нули.
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
13.02.2015, 20:07
new не занимается нолями и они вообще не положены. Оператор new вызывает дефолтный конструктор для каждого элемента выделенного массива, а он уже инициирует как угодно. Ноль может быть значением свежезаинеченной переменной, но это типозависимое поведение, к выделению памяти ни какого отношения не имеющее.
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
13.02.2015, 20:14  [ТС]
C++
1
2
3
4
5
6
7
import std.stdio;
 
void main()
{
    auto arr = new int[](1000);
    writeln(arr);
}
http://ideone.com/npB8Er
0
 Аватар для castorsky
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
13.02.2015, 20:17
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Ну да. Все нули.
Здесь не надо REPL-проверки, не мешало бы ссылочку на спецификацию.
C
1
2
3
4
5
6
7
int foo()
{
  int bar() {
    return 3;
  }
  return bar();
}
гцц это скомпилит, а спецификация так не позволяет.

Добавлено через 2 минуты
Цитата Сообщение от taras atavin Посмотреть сообщение
Оператор new вызывает дефолтный конструктор для каждого элемента выделенного массива, а он уже инициирует как угодно
вполне логично
0
13.02.2015, 20:18

Не по теме:

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

0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
13.02.2015, 20:31  [ТС]
D съел C#:
Он представляет собой развитие C++, дополненное новыми идеями из Ruby, C#, Java и Perl. В D включены практически все семантические нововведения C# и Java, а также добавлены динамические выражения, ассоциативные массивы, встроены средства тестирования и документирования, организована масштабная поддержка шаблонов, поддерживается концепция контрактного программирования, обеспечивается надежность и переносимость приложений.
0
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
13.02.2015, 20:39
Dennis Ritchie, а как обстоят дела в D с генерацией псевдослучайных чисел?
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
13.02.2015, 20:55  [ТС]
S_el, пожалуйста:
C++
1
2
3
4
5
6
7
8
9
10
11
12
import std.stdio;
import std.random;
 
void main()
{
    int[] arr;
 
    foreach (i; 0 .. 100)
        arr ~= uniform(0, 500);
 
    writeln(arr);
}
http://ideone.com/GMXRp8

Добавлено через 9 минут
Копирование массивов:
C++
1
2
3
4
5
6
7
8
9
10
11
12
import std.stdio;
 
void main()
{
    auto a = [0.5, -0.5, 1.5, 2.0];
    auto b = [3.5, 5.5, 3.0, -1.0];
    auto c = new double[4];
 
    c[] = (a[] + b[] + 1.0) / 2.0;
 
    writeln(c);
}
http://ideone.com/ElpYK2
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Закрытая тема Создать тему
Новые блоги и статьи
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru