[ /tv/ /rf/ /vg/ /a/ /b/ /u/ /bo/ /fur/ /to/ /dt/ /cp/ /oe/ /bg/ /ve/ /r/ /mad/ /d/ /mu/ /cr/ /di/ /sw/ /hr/ /wh/ /lor/ /s/ /hau/ /slow/ /gf/ /vn/ /w/ /ma/ /azu/ /wn/ ] [ Main | Settings | Bookmarks | Music Player ]

No.28288 Reply
File: TurboPascal7.0.png
Png, 19.32 KB, 652×338 - Click the image to expand
edit Find source with google Find source with iqdb
TurboPascal7.0.png
В этом треде мы будем помогать ньюфагам с решением элементарных задач на Паскале и Си.
Говорить о том, что %названиеЯзыка1% лучше %названиеЯзыка2%, мы здесь не будем, для этого есть другие треды.
>> No.28329 Reply
Кто сделает, оставь номер телефона- кину 50 рублей или как договоримся, не знаю насколько сложно это сделать.
Нужно чтобы можно было скрывать(раскрывать) текст.
Первое предложение.
Второе предложение.
Третье предложение.
-------------------
Выделяешь текст который нужно скрыть.Теперь его надо как-то скрыть.Пример:
Первое предложение.
(развернуть)
Третье предложение.
------------------
Жмёшь на "развернуть"-разворачивает.ВНИМАНИЕ! кнопка"свернуть" должна остаться.
>> No.28330 Reply
File: 1356855008274.png
Png, 0.80 KB, 300×20 - Click the image to expand
edit Find source with google Find source with iqdb
1356855008274.png
>>28329
System.Speach.Sarcasm.Activate() Нужно чтобы можно было каваить(реалить) пони.
Пони.
Лошадь.
Единорог.
-------------------
Берешь пони которая должна стать радугой.Теперь его надо как-то закаваить.Пример:
Лошадь.
(радуга - зареалить)
Единорог.
------------------
Някаешь на "закаваить"-каваится.ВНИМАНИЕ! кнопка"реализм" должна остаться.
System.Speach.Sarcasm.Activate(False)
>> No.28331 Reply
>>28329
На паскале? Никак, он не поддерживает мышь.
>> No.28332 Reply
>>28329
на каком языке то?

Поехавший.
>> No.28333 Reply
File: 1.htm.zip
Zip, 0.00 KB, 0 files - Click the image to get file
view
1.htm.zip
>>28329
Доброчан же.

P.S. пониёбы - не люди, гоните, насмехайтесь.
>> No.28337 Reply
>>28331
Но есть же дельфи.
>>28333
Но должна же быть возможность выделить скрываемый текст, а не фиксировать скрываемые его элементы.
>> No.28338 Reply
>>28337
> возможность выделить скрываемый текст, а не фиксировать скрываемые его элементы.
Не понел, обесни.
>> No.28339 Reply
>>28338
У тебя (или у >>28333-куна) захардкожено, что скрываться будет только второй абзац. >>28337-кун хочет, чтобы скрываемый текст можно было указать уже в рантайме. Очевидно же!
мимокрокодил
>> No.28340 Reply
>>28337
Возьми фотошоп и нарисуй, как ты себе это представляешь.
>> No.28341 Reply
File: Наркоман штоле, сука.jpg
Jpg, 34.36 KB, 624×464 - Click the image to expand
edit Find source with google Find source with iqdb
Наркоман штоле, сука.jpg
>>28339
> >>28337-кун хочет, чтобы скрываемый текст можно было указать уже в рантайме
Рантайм в html-е? Пикрелейтед.
Скрываемым текстом станет любой, завёрнутый в div с class=text-to-hide.
>> No.28342 Reply
>>28341
Ты хоть раз видел WYSIWYG-редакторы или формы с кнопкой предпросмотра? Вот ему нужен (примерно) тот же самый механизм для указания текста для скрытия, очевидно же.
>>28339-кун
>> No.28343 Reply
>>28330
А что, собственно, не так с этим заданием? Пользователь хочет выделять некий текст и скрывать/раскрывать его. Всё. Остальное — куда этот текст будет выводиться, как его выделять, как управлять сокрытием/раскрытием — он оставляет на усмотрение программиста и на откуп здравому смыслу. И что, вам этого мало?

Я считаю, задание вполне чётко сформулировано, и для его выполнения вполне хватит Паскаля и символьного терминала с разрешением 80x25 символов.
>> No.28344 Reply
>>28343
Выполни.
>> No.28345 Reply
>>28341
javascript парню посоветовал бы, а то ведь будет потом сайт без json и прочих прелестей делать
>> No.28354 Reply
>>28342
GNU/Emacs
>> No.28355 Reply
>>28345
>>28354
>>28332
>>28288
> элементарных задач на Паскале и Си
>> No.28356 Reply
File: WindowsFormsApplication1.7z
7z, 0.01 KB, 0 files - Click the image to get file
view
WindowsFormsApplication1.7z
>>28329
Чето типо этого?

WinForms, C#
>> No.28357 Reply
>>28356
А как открыть файл(не архив, а саму программу)?
>> No.28360 Reply
>>28288
Няши, покажите, пожалуйста, QuickSort на паскале с примером работы.
>> No.28361 Reply
>> No.28362 Reply
>> No.28363 Reply
>>28361
А как её использовать-то?
>> No.28364 Reply
>>28363
> //при первом вызове 2-ой аргумент должен быть равен 0
> //3-ий аргумент должен быть равен числу элементов массива - 1
>> No.28365 Reply
>>28364
Покажи, пожалуйста.
>> No.28366 Reply
>>28365
procedure qSort(var ar:array of integer; low,high:integer);
var i,j:integer;
    m,wsp:integer;
begin
  i:=low;
  j:=high;
  m:=ar[(i+j) div 2];
  repeat
    while(ar[i]<m) do i:=i+1;
    while(ar[j]>m) do j:=j-1;
    if(i<=j) then begin
      wsp:=ar[i];
      ar[i]:=ar[j];
      ar[j]:=wsp;
      i:=i+1;
      j:=j-1;
    end;
  until (i > j);
  if(low<j) then qSort(ar,low,j);
  if(i<high) then qSort(ar,i,high);
end;
 
const N = 15; {Число элементов в массиве}
var 
m : array[1..N] of integer;  {Массив, который будем сортировать}
i : integer;
begin
    for i:= 1 to N do m[i] := N-i; {заполняем массив элементами}
    for i:= 1 to N do write(m[i],' ');writeln; {Выводим массив на экран, чтобы увидеть неотсортированность}
    qSort(m, 0, N-1); {Сортируем}
    for i:= 1 to N do write(m[i],' '); {Выводим массив экран, чтобы увидеть отсортированность}
end.
>> No.28370 Reply
File: WindowsFormsApplication1.7z
7z, 0.00 KB, 0 files - Click the image to get file
view
WindowsFormsApplication1.7z
>>28357
Скачать Visual Studio любого года, рикаминдую 2010, не сыра и не стара. Открыть .sln, нажать F6, нажать F5.

Или погуглить, как компилить шарп без нее.
Алсо, вот скомпилированная.
>> No.28371 Reply
>>28370
Да у тебя же СИРИШОТКА вместо языка программирования.
>> No.28372 Reply
>>28371
Как будто что-то плохое.
>> No.28375 Reply
>>28371
>>28372
Няши, языкосрач - в другом месте. Тут только паскаль и си.
>> No.28376 Reply
Дана последовательность чисел а1, а2, ... а10. Вычислить, сколько чисел в этой последовательности стоит после 2-го нуля.
На си, пожалуйста, ничего не могу поделать.
>> No.28384 Reply
>>28376
int i=0;
const int N=10
while(a[i++));
while(a[i++));
return N-i
>> No.28634 Reply
File: DelProf2.zip
Zip, 0.21 KB, 0 files
view
DelProf2.zip
File: йоко.jpg
Jpg, 306.37 KB, 1280×800
edit Find source with google Find source with iqdb
йоко.jpg

Простите, если не туда пишу. Суть в том, что есть одна утилита, позволяет удалять неактивные учётные записи пользователей в винде, как локально, так и удалённо. Мне необходимо просмотреть её код и, возможно, немного исправить. Что можете посоветовать. В архиве текстовый файл, расширение нужно поменять на exe - сама утилита.
>> No.28720 Reply
File: 1358711078511.jpg
Jpg, 2941.51 KB, 4000×3000
edit Find source with google Find source with iqdb
1358711078511.jpg
File: 1358711156168.jpg
Jpg, 2699.34 KB, 4000×3000
edit Find source with google Find source with iqdb
1358711156168.jpg
File: 1358711182348.jpg
Jpg, 3009.16 KB, 4000×3000
edit Find source with google Find source with iqdb
1358711182348.jpg
File: 1358711206791.jpg
Jpg, 2811.69 KB, 4000×3000
edit Find source with google Find source with iqdb
1358711206791.jpg

Здравствуй, анон.
Смотри - это задачи на областной олимпиаде по программированию. Сразу скажу, это не "реши-за-меня-пока-я-страдаю-фигней-пост", олимпиада уже прошла. Так вот, анон, если решишь 3 и 4, будешь молодцом. Особенно меня интересует выполнение 3-ей задачи при количестве цифр больше 10. Язык - почти любой, но я писал на паскале.
>> No.28722 Reply
>>28720
Бамп, так как в силу неведомых мне обстоятельств тред не поднялся.
>> No.28733 Reply
>>28720
> Особенно меня интересует выполнение 3-ей задачи при количестве цифр больше 10
В любом случае решение задачи должно сводиться к рассчёту количства пар с "некрасивыми" слагаемыми, которое потом нужно вычесть из общего количества сумм, на которые раскладывется указанное число (ограничение в 2 секунды как бы намекает нам, что перебор сделать не успеем).

А как найти эту закономерность я не знаю, да мне не очень-то и интересно: хоть это и называется олимпиадой по программированию, к реальному программированию отношение оно имеет весьма сомнительное, потому что это банальная числодрочилка для математиков на поиск всяких неочивидных свойств чисел.
>> No.28736 Reply
парни, задача такова:
Сведения об автомобиле состоят из номера (четырехзначного), фамилии владельца и марки. Дан набор, состоящий из 1000 таких сведений (подразумевается ввод из файла). найти:
а)номера и фамилии владельцев автомобилей данной марки
б)количество автомобилей данной марки

В общем, задача легкая, но я никак не могу ввести запись из файла, вот пример, который не работает -- http://pastebin.com/NkvrvsQY
>> No.28740 Reply
File: 113840avatar.gif
Gif, 52.08 KB, 98×98 - Click the image to expand
edit Find source with google Find source with iqdb
113840avatar.gif
>>28736
> number: string;
Мкс. длина строни 255.

Попробуй так:
function ReadWord(var f:text) : string;
var ch: char;
begin

while (ch<>',') and (ch<>'.') and (ch<>' ') and (Not Eof(f)) do
  begin
  read(f,ch);
  ReadWord[i] := ch;
  end;

end;
>> No.28741 Reply
>>28740
Хрень написал и сижу довольный.жпг

ХотФикс Фром май харт:
var ch: char;
    i: integer; 
begin

i := 0;
while (ch<>',') and (ch<>'.') and (ch<>' ') and (Not Eof(f)) do
  begin
  read(f,ch);
  ReadWord[i] := ch;
  i := i + 1;
  end;

end;
>> No.28742 Reply
>>28733
> не могу ввести запись из файла
куда вводишь-то?
>> No.28745 Reply
>>28720
№3 похожа на разбор случаев. Вот допустим, мы хотим посчитать «некрасивые» разложения. Тогда для каждой пары рядомстоящих цифр xy рассмотрим:

- все такие цифры z, что zz < xy — для них мы добавим в результат (число_образованное_цифрами_слева + 1) * (10^(количество_цифр_справа))

- все такие z, что zz = xy — для них добавим (число_образованное_цифрами_слева) * (10^(количество_цифр_справа)) + (число_образованное_цифрами_справа - 1)

Логика вроде бы ясна — мы фиксируем, что в одном слагаемом на месте xy будет zz и смотрим, сколькими способами такого можно добиться. Но такое решение не учитывает двух факторов — того, что слагаемые обязательно должны быть длины n и того, что мы можем посчитать некоторые слагаемые несколько раз. Я сейчас туплю, поэтому не могу сказать, как это учесть, но может тебе хоть это поможет.
>> No.28746 Reply
File: 1358796940388.png
Png, 0.96 KB, 300×20 - Click the image to expand
edit Find source with google Find source with iqdb
1358796940388.png
>>28288
Матёрый быдлокодер в поисках вдохновения репортинг ин. Нужно написать простое тестовое задание, дабы показать свой стиль кодирования и владение языком. Это должно быть небольшое веб-приложение (одна страница, один code-behind, пачка вспомогательных классов, чтоб везде паттерны, энтерпрайз, ололо), делающее что-то на стороне сервера и выдающее какой-то относительно красивый результат на стороне клиента. Всевозможные интернет-магазины да гостевые книги отпали сразу - не хочется нагружать проверяющего разворачиванием базы и лишним однообразным кодом.

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

Камень преткновения номер раз - какой публичный АПИ предоставит мне интересные и легко обрабатываемые данные? Желательно, чтобы АПИ не требовал от пользователя аутентификации в каких-то своих сервисах, аки твиттер.

Камень преткновения номер два - что же делать с полученными данными? Не буду же я, в самом деле, заменять каждый пробел двумя пробелами? Хочется сделать что-то существенное.

Подумай за меня, анон, пожалуйста. Я знаю, что ты горазд на всякие идеи.
С меня клавиатура и байты, как обычно.
>> No.28747 Reply
>>28746
Алсо, не совсем по теме реквест, конечно. Но лень искать@создавать правильный тред.
>> No.28748 Reply
>>28746
> делающее что-то на стороне сервера и выдающее какой-то относительно красивый результат на стороне клиента.
> не хочется нагружать проверяющего разворачиванием базы
сделай построитель графиков
>> No.28749 Reply
>>28746
Сделай RSS-агрегатор, как обычно делают.
>> No.28750 Reply
>>28741
у функции вроде не может быть индекса, а если делать не в функции ( http://pastebin.com/rT0vngjq ), то опять "индекс вне границ массива" на 21 строке, хотя там во всем файле не будет 255 символов.
>> No.28751 Reply
>>28750
Прогу в пасте зацикливает из-за:
> while (ch<>',') or (ch<>'.') or (ch<>' ') do
> or
Угадай на какой итерации ты выйдешь за границу массива.
ИЛИ нужно заменить на И.
>> No.28752 Reply
>>28749
>>28748
Спасибо за идеи.
>> No.28753 Reply
Товарищи доброкодеры, меня интересует один вопрос. Почему в Lazarus вывод значений переменных в Wathes ощутимо тормозит, хотя используется gdb, который в codeblocks преспокойно выводит с достаточной скоростью все что мне нужно? И подскажите, пожалуйста, способы ускорения вывода, если они есть, конечно.
>> No.28778 Reply
File: Безымянный.png
Png, 76.76 KB, 1025×820 - Click the image to expand
edit Find source with google Find source with iqdb
Безымянный.png
Сап, анон, написал прогу, но как-то на тестах валится(на ejudje-тестах)
Ссыль на мой гавнокод на пасте(с коментами) - http://pastebin.com/am5rZeUd
Не пишите, что я хуесос, который кроме того, как индусить, ничего не может [spoiler]сам знаю[/spoiler] пока надо, чтобы работало до 6-ти значных цифр, разумеется буду рад советам
Пикрелейтед - задача
>> No.28793 Reply
>>28778
> Примеры
> 2, *0 -> 3
Ну ведь любое число типа "10" или "80" в зеркале будет видно как "01" и "08", а число "00" - содержит ведущий незначащий нуль. Что за три числа у них такие получились?
>> No.28805 Reply
>>28793
Подозреваю, зеркало располагается горизонтально и цифры нужно переворачивать сверху вниз. А подходящие цисла: 10, 30, 80.
>> No.28903 Reply
File: 135845894911375.jpg
Jpg, 93.66 KB, 533×799 - Click the image to expand
edit Find source with google Find source with iqdb
135845894911375.jpg
http://vandal.sdf-eu.org/JapaneseGuide/verbs.html#part2
Как он такое сделал?
Наводишь на иероглиф- появляется перевод.
Как такое делать?
Можно даже чтобы было так:
Текст, а ниже( в этом же документе) перевод.
Как привязать адрес перевода к тексту, чтобы при наведении показывался перевод как в ссылке на верху поста.
>> No.28904 Reply
>>28903
> Как он такое сделал?
посмотри исходный код страницы.
>> No.28920 Reply
>>28903
<span title="Всплывающая подсказка">Текст</span> Атрибут title есть у большинства тегов, не только у span.
>> No.28990 Reply
File: Screenshot_11.png
Png, 320.13 KB, 415×457 - Click the image to expand
edit Find source with google Find source with iqdb
Screenshot_11.png
Добрый день. Здесь есть тред по HTML5? Если да, дайте ссылку. Или можно создать свой но не ручаюсь за его поддержку? Или небольшие рандомные вопросы можно и здесь задавать, в треде обитают знатоки?
>> No.28992 Reply
Есть ли где-то архив гайдов отсюда? http://www.scirra.com/tutorials
Или надо сохранять по одной?
>> No.28994 Reply
>> No.28995 Reply
>>28994
Спасибо.
>> No.29035 Reply
Задание: вывести на экран, сколько раз какое слово встречается в строковой переменной. Слова разделяются пробелами. Оцените, код написан на скорую руку, никакие алгоритмы готовые не использовались, все сочинял сам.

ublic static int Under(string text_old, string under){
int textlenght = textold.Length;
int under_lenght = under.Length;
string text = under + ". " + text_old + " ";
int[] numbers = Under_index(text);
int n = 0;
for (int i = 0; i + 1 < text.Length; i++){
if (numbers[i] == underlenght && text[i + 1] == ' ' && text[i - underlenght] == ' ') n++;
}
return n;
}
public static int[] Under_index(string x) {
int[] result = new int[x.Length];
result[0] = 0;
for(int i = 1; i < x.Length; i++){
int j = result[i - 1];
if (x[i] == x[j]) result[i] = result[i-1]+1;
else for (j = result[i - 1]; j > 0 && x[i] != x[j]; j--) result[i] = result[j-1];
}
return result;
}
public static string Words(string words){
string finded = "";
string unfounded = " " + words + " ";
string bufer="";
for (int i = 0; i + 1 < unfounded.Length; i++){
if (unfounded[i] == ' ' && unfounded[i + 1] != ' '){
for (int j = i + 1; unfounded[j] != ' ' && j + 1 < unfounded.Length; j++) bufer += unfounded[j];
if (Under(finded, bufer) == 0) finded = finded + " " + bufer; bufer = "";
}
}
return finded + " ";
}
public static void WriteWords(string words){
string listWords = Words(words);
string bufer = "";
for (int i = 0; i < listWords.Length; i++) {
if (listWords[i] == ' ') {
for (int j = i + 1; j < listWords.Length - 1 && listWords[j] != ' '; j++) bufer += listWords[j];
if(bufer!="") Console.Write("Слово \"{0}\" - {1} \n", bufer, Under(words, bufer));
bufer = "";
}
}
}

static void Main(string[] args){
WriteWords("один один два два один два один");
Console.ReadKey();
}
>> No.29037 Reply
File: Program.cs
Cs, 0.01 KB, 0 lines - Click the image to get file
view edit
Program.cs
>> No.29039 Reply
>>29037
>>29035
Написано плохо. Гора кода, которая непонятно что делает. А нужно-то было всего-навсего Split() и GroupBy() использовать:

http://ideone.com/n1n6F7
>> No.29041 Reply
>>29039
Я пока до LINQ, var не добрался. Можешь комментарии добавить?
>> No.29042 Reply
>>29039
Анон, как мне стать таким, как ты?
>> No.29052 Reply
>>29041
> Можешь комментарии добавить?
Никаких комментариев я добавлять не буду, потому что название любого метода в явном виде описывает, что он делает.
На худой конец можешь скопипастить код в VS и нажать F1 на любом методе.
>>29042
Прочитай первые 5 глав "C# 5.0 in a Nutshell", затем порешай олимпиадки с помощью ЛИНКУЕ.
>> No.29058 Reply
File: main.cpp
Cpp, 0.00 KB, 0 lines - Click the image to get file
view edit
main.cpp
>>29039
Написано плохо. Гора кода, которая непонятно что делает. А нужно-то было всего-навсего использовать C++ и STL:
>> No.29059 Reply
>>29058
Императивный понос.
>> No.29062 Reply
File: 0892203dde90ddfdf72e5b3373edfd03.jpg
Jpg, 155.07 KB, 600×480 - Click the image to expand
edit Find source with google Find source with iqdb
0892203dde90ddfdf72e5b3373edfd03.jpg
Я задумал написать программку для учета некоторых материальных средств. Гуй будет содержать табличку, пяток кнопок и фиговину для выбора отчетного периода по дате. Должно быть формирование отчета и вывод оного на печать. Программка будет использоваться глупенькими тетушками на весьма и весьма древних компах, с осями линух, 98се, 2К, ХР.

Решил все это дело накатать на Qt, для хранения данных выбрал xml (методом DOM), табличка - QTableWidget, период выбирается двумя dateEdit. Планируется сжатие библиотек по максимуму.
Несколько лет не писал на С++, а на Qt не писал вообще, посему имеются парочка вопросов.

1. Правильно ли я выбрал решение?
2. Как лучше читать/писать в QTableWidget? (Я пишу/читаю поэлементно.)
3. Как оптимизировать всю эту черепаху?
4. Где в Qt виджет предварительного просмотра при печати?
>> No.29063 Reply
>>29062
> вывод на печать
> линух
Я бы съебал в ужасе
> 98се
Ну однозначно, нужно съёбывать.
>> No.29064 Reply
File: 1360055003315.png
Png, 0.86 KB, 300×20 - Click the image to expand
edit Find source with google Find source with iqdb
1360055003315.png
>>29062
Грызи веб, мудило. Потому как:

0. Обновление и доработка скриптов не требует лишних телодвижений с рекомпиляцией и тестами под разные платформы. Массовое обновление производится тупым обновлением скрипта на сервере.

1.
> Программка будет использоваться глупенькими тетушками на весьма и весьма древних компах, с осями линух, 98се, 2К, ХР.
Нет проблем со сборкой под разные системы. Все, что нужно для работы - браузер. см. пункт 0.

2.
> для хранения данных выбрал xml
Ёбаный стыд. Завязывай с этим говном мамонта уже. Для хранения данных используй любую реляционку от SQLite, MySQL до PostgreSQL и сраного Oracle.

мимо-проходил-переехавший-на-веб
>> No.29065 Reply
File: 1360055877994.png
Png, 1.51 KB, 300×20 - Click the image to expand
edit Find source with google Find source with iqdb
1360055877994.png
>>29064
>>29062
UPD:
> xml
Освой, блядь, JSON! Да, ещё раз.
> 4. Где в Qt виджет предварительного просмотра при печати?
Печать из браузера напрямую. Не устраивает интерфейс - сделай страницу-превью с голой таблицей или скрой нахрен интерфейс.

Выводи результат в обычный ололо xls для удобства работы. Всё это и многое другое ждет тебя в вебе.

всё-тот-же-мимо
>> No.29066 Reply
Хм, а чем твой веб будет отличаться от того же Excel`а в моем случае, умник?
>> No.29067 Reply
>>29066
Чем захочешь.
>> No.29068 Reply
File: zZo9MoWSSgI.jpg
Jpg, 35.85 KB, 604×340 - Click the image to expand
edit Find source with google Find source with iqdb
zZo9MoWSSgI.jpg
>>29066
Тем же, чем астон мартин отличается от калины.
>> No.29069 Reply
>>29068
аналогия с мопедом и калиной была бы точнее
>> No.29072 Reply
File: 1356332241545.jpg
Jpg, 64.50 KB, 934×1000 - Click the image to expand
edit Find source with google Find source with iqdb
1356332241545.jpg
>>28288
Няши, помогите пожалуйста с заданием. Решать за меня не нужно, просто объясните более понятным языком. А то для меня такое объяснение слишком запутано.
"Напишите программу для сворачивания слишком длинных строк входного потока в две или более коротких строк после последнего не пустого символа, встречающегося перед n-м столбцом длинной строки. Постарайтесь, чтобы ваша программа обрабатывала очень длинные строки корректно, а также удаляла лишние пробелы и табуляции перед указанным столбцом." Задание из K&R
>> No.29075 Reply
>>29072
берёшь строку, если она длинее N, то ищешь ближайший к N пробельный символ и разбиваешь по нему строку, для второго куска строки повторяешь алгоритм.
>> No.29077 Reply
File: test1.c
C, 0.00 KB, 0 lines - Click the image to get file
view edit
test1.c
map size: 10x10.
map size: 144302088x144302088.

ЧЯДНТ?
>> No.29078 Reply
>>29075
Анон, тут такое дело. Есть одна https страничка. Так вот, нужно post методом отправить туда запрос, а на выходе получится xml страничка, из которой нужно пропарсить некоторые значения. Как можно на ruby все это организовать? Пните в нужную сторону.
Делаю для автоматизации некоторых процессов в EVE
>> No.29079 Reply
>>29077
union означает, что все его поля будут по одному и тому же адресу. Кстати, если ты запишешь разные значения для ширины и высоты, то результат тебя тоже удивит. Используй struct, а не union.
Предвидя твои будущие проблемы, не забудь добавить выделение памяти под каждую строку или замени char** на char* с выделением памяти на (width * height) байт.
>> No.29082 Reply
Первокур-начинающий недокодер неспешно вкатывается. Сменил профиль обучения на днях, на моем предыдущем профиле не было программирования, и мне предстоит сдача неплохой такой разницы. Если в задачи с матрицами, строками, процедурами-функциями я хоть как-то вник, то с ООП и динамическими данными все значительно сложнее. Прошу, анон, доставь/придумай простых задач на эти темы, в теорию более-менее вник, но соответствующие лабы кажутся мне сложными. Язык - паскаль/делфи.
>> No.29084 Reply
File: 1358948319646.jpg
Jpg, 103.91 KB, 540×720 - Click the image to expand
edit Find source with google Find source with iqdb
1358948319646.jpg
>>29075
А что делать, если строка очень длинная и в ней нет ни одного пробела/табуляции?
>> No.29085 Reply
>>29084
Очевидно, что резать ровно по N символов.
>> No.29086 Reply
>>29068
> чем астон мартин отличается от калины
Астон слышно за 4 километра.

мимокрок
>> No.29088 Reply
File: 1359938151192.jpg
Jpg, 935.95 KB, 1296×968 - Click the image to expand
edit Find source with google Find source with iqdb
1359938151192.jpg
>>29075
>>29085
Спасибо вам :3
>> No.29089 Reply
>>29079
> union означает, что все его поля будут по одному и тому же адресу.
Спасибо, няша.
> Кстати, если ты запишешь разные значения для ширины и высоты, то результат тебя тоже удивит.
Почему?
> Предвидя твои будущие проблемы, не забудь добавить выделение памяти под каждую строку или замени char** на char* с выделением памяти на (width * height) байт.
Я собирался сделать что-то вроде этого:
map.elements = (char**)malloc(map.height*sizeof(char*)); int i = 0; for(; i < map.height; i++) map.elements[i] = (char*)malloc(map.width*sizeof(char));
>> No.29090 Reply
Почему C не умеет в истинно двумерные массивы? :(
>> No.29091 Reply
>>29090
потому что память одномерна
>> No.29092 Reply
>>29090
Пушто плоская модель памяти во все поля.
>> No.29093 Reply
>>29092
Ты, наверное, хотел сказать "линейная," а то ведь не понятно, почему на плоскости только одно направление.
>> No.29094 Reply
>>29093
> Ты, наверное, хотел сказать "линейная," а то ведь не понятно, почему на плоскости только одно направление.
(ячейчка; значение)
Двумерное пространство, таки плоская.
>> No.29095 Reply
>>29092
я серьезно. ((A+i)+j) vs (A+im+j), где m все равно хранится в дескрипторе памяти
>> No.29096 Reply
>>29094
ну это вообще пушка.
>> No.29100 Reply
>>29093
Я хотел сказать enwiki://Flat_memory_model, но рюзске язык такой рюзске.
>> No.29112 Reply
Можно ли сделать программу, в которой заданы слова и их определения. По нажатию кнопки появляется тест, где в каждом задании слово и четыре варианта ответов (1 должен быть правильный). Каждый раз задания в тесте должны меняться. О чём нужно прочитать, чтобы такое сделать?
>> No.29115 Reply
>>29112
О формошлёпстве.
>> No.29123 Reply
>>29115
Аноны, есть вавка. Что я получу на выходе, если не неё применить БПФ?
>> No.29129 Reply
>>28288
Няши, скажите мне, как сделать из файла .pas файл .exe? У меня pascal abc, я знаю, что в нем это сделать нельзя, поэтому мне интересно, каким компилятором это можно сделать. Я знаю, что есть free pascal, но я полный ньюфаг в этом во всем, поэтому я его открыл и вообще ничего не понял.
>> No.29130 Reply
>>28288
А, и еще, русский язык поддерживается хоть в каком-нибудь компиляторе?

>>29129 -кун
>> No.29132 Reply
>>29129
Открываешь ABC Pascal, открываешь в нём .pas, жмешь "Компилировать", профит.
>> No.29133 Reply
>>29132
В abc pascal при компиляции не создается exe.
>> No.29135 Reply
>>29123
Смотря к какому временному отрезку применишь. Если ко всей - получишь распределение частот во всём треке.
>> No.29143 Reply
>>29133
Попробуй другой паскаль, например Borland. Синтаксические отличия, наверно, минимальны.
>> No.29161 Reply
>>29129
Используй Free Pascal, это единственный приличный компилятор.
Когда поставишь, выполни в консоли:
```
fpc -O2 -gl -Cr programname.pas
```
Вообще те три свитча, что я дал — «джентельменский набор» (оптимизация кода, вывод строчки, на которой кидается рантайм-ошибка и проверка выхода за границы массива), можешь почитать про остальные в fpc -h.
>> No.29162 Reply
>>29143
Няшечка, да ты же упоролся такое предлагать.
>> No.29163 Reply
>>29143
Синтаксические отличия огромны. Омичи из ЮФУ забили на все три стандарта Паскаля и замутили кромешный ужас.
>> No.29174 Reply
>>29161
У меня получилось! Спасибо тебе большое.
>> No.29176 Reply
>>29135
А в виде чего получу? Массива коэффициентов, да?
>> No.29314 Reply
>>28288
Аноны, у меня пиздец. Нужна софтина по составлению двойственной задачи линейного программирования из
прямой, и решить ее симплекс-методом. С сырцами на дельфи/паскале. С меня как обычно нихуя.
Сам то я кодер неплохой, но не могу в мат. моделирование.
>> No.29323 Reply
File: 0.PNG
Png, 10.53 KB, 669×338 - Click the image to expand
edit Find source with google Find source with iqdb
0.PNG
Анон, у меня глупый вопрос. Вот код:
#include "iostream.h"
int main()
{
   double N=4500;
   double t=10000;
   double n1=260;
   double n2=170;
   double delta_t=180;
   double ft=0, Pt=0, Pdeltat=0, lyambdeltat=0, lyambt=0, TM=0;
   ft=(n2/N*deltat);
   cout<<"ft="<<ft<<'\n';
   cout<<1/2;
   return 0;
}

А на пике - результат. Какого фига 1 делить на 2 равно 0?
>> No.29324 Reply
>>29323
По умолчанию в C int / int даёт int, а не double. Хочешь получить вещественное - приводи типы или дели вещественное на вещественное.
>> No.29325 Reply
>>29324
Так и думал, благодарю, доброкодер.
>> No.29326 Reply
>>29323
#include <iostream>
int main(){
    std::cout << 1.0 / 2;
    return 0;
}
>> No.29330 Reply
>>29326
Тоже спасибо.
>> No.29522 Reply
File: Konachan.com-149870-sample.jpg
Jpg, 1193.50 KB, 1500×1023 - Click the image to expand
edit Find source with google Find source with iqdb
Konachan.com-149870-sample.jpg
Здравствуй, Анон. Я решил изучить работу с серверами/клиентами в Delphi. Прочитал книгу Indy In Depth. В качестве эксперимента пишу простенький чат. И тут возникла у меня одна проблема, а именно: хочется с клиента посылать команду всем компьютерам в сети. Но когда я пробую подключиться к broadcast (ставлю Client.Host := *.*.*.255, где * заменяются на числа из IP), ничего не выходит - Cannot assign requested address. Как исправить эту ошибку с минимальными потерями?
Delphi 7, Indy 9. На форме TIdTCPServer, TIdTCPClient.
>> No.29523 Reply
>>29522
> Delphi 7
> 2013
>> No.29525 Reply
File: 1228401231896.jpg
Jpg, 93.90 KB, 554×439 - Click the image to expand
edit Find source with google Find source with iqdb
1228401231896.jpg
>>29523
Он меня пока что вполне устраивает.
>> No.29526 Reply
>>29525
В нём даже поддержки юникода нет.
>> No.29527 Reply
>>29526
В php тоже. So?
>> No.29528 Reply
>>29527
> php
> 2013
>> No.29530 Reply
>>29525
Ну, в виндогуимирке, может, больше и не надо ничего.
>> No.29536 Reply
>>29522
Возьми питон хотя бы.
>> No.29576 Reply
>>29525
Как там у вас, в 90-ых? ZverCD, базы данных в Excel, всё такое?
>> No.29580 Reply
>>29525
TCP. Широковещание. Ох вау.
>> No.29583 Reply
File: 2006_x_1.jpg
Jpg, 49.10 KB, 800×600 - Click the image to expand
edit Find source with google Find source with iqdb
2006_x_1.jpg
>>29576
> ZverCD
> в 90-ых
>> No.29596 Reply
File: 1362329580962.png
Png, 0.82 KB, 300×20 - Click the image to expand
edit Find source with google Find source with iqdb
1362329580962.png
Помогите ньюфагу с С пожалуйста.

В каком виде хранится второй параметр main(), который обычно argv?
Обьявляется как указатель на указатель,

1) Я правильно понимаю следующее:
Передается null-terminated массив указателей,
Каждый указатель ссылается на null-terminated массив символов,
И все это в непрерывной последовательности байтов?

2) Какая еще информация хранится, или ничего кроме ссылки на начало?

3) Где и в каком виде хранится инфа о том, какая память этим всем делом была занята (для дальнейшей чистки например)?

4*) Допустим я хочу искусственно сгенерировать объект идентичный argv, из двух строчек. Как это написать кодом? (Чисто из любопытства, так что не обязательно)
>> No.29619 Reply
>>29596
Hашел
http://heim.ifi.uio.no/~inf3190/Grl/docs/argv.txt

Удовлетворен.
Остался только вопрос 3)
>> No.29621 Reply
>>29619
Не твое это дело - ОС почистит
>> No.29623 Reply
>>29596
В стеке, очевидно же. Это аргументы функции. Размеры массивов храняться рядом с самими данными.
>> No.29629 Reply
>>29621
argv как пример привел. Любопытно.
>> No.29631 Reply
>>29623
(Простите за примитивные вопросы, я действительно пытаюсь разложить по полочкам)

То есть сразу извстен размер argv? Зачем тогда argc?
То есть проверка конца строчки (while (argv[i][j] != "\n")) (что похоже обычно делают) это пустая трата времени, и можно сразу забабахать цикл по размеру строчки? Или проверка на нуль символ - это какая-то хитрожопая атомарная функция?
>> No.29640 Reply
>>29631
Не слушай этих идиотов, сишный рантайм аргументы командной строки передаёт в программу в форме null-terminated строк ('\0').
>> No.29656 Reply
>>29640
То есть если есть рандомная строка, единственный способ убрать ее из памяти или найти конец - это пройтись по оной в поисках \0?
>> No.29663 Reply
>>29656
> убрать ее из памяти
Нет.
> найти конец
Да.
>> No.29689 Reply
>>29580
Но я же написал, что не претендую на звание Профессионала, а всего лишь изучаю эту тему и прошу совета.
Стервятники. Набросились. Тут Доброчан или нет?
Я попробовал сделать UDPServer.Broadcast, но он буквально-таки ничего не делает. Во всяком случае, не возбуждает событие UDPRead. Ещё раз спрошу - как делают это нормальные люди? Или почему может не работать UDPServer.Broadcast?

Постскриптум: Какая разница, какая среда? Indy же. Или я чего-то не понимаю, и унизить дельфиняш - новая спецолимпиада /s/?
>> No.29694 Reply
>>29631
Ты точно знаешь, что такое argv и argc? Argv - char(две звёздочки), иными словами массив строк. Argc — количество элементов в массиве. Но тут, да, надо посмотреть, как выделяется память под каждую строчку. Если выделяется через new char[n], то размер массива(не длина строки) будут известны, они будут находиться рядом с самой строкой, но к ним никто напрямую не обращаются, этот размер лежит для delete. Если память под строку выделяется через (char)malloc, тогда никакой информации о размере строки не будет рядом с самой строкой. Скороей всего, как в паскале, адрес выделенного фрагмента и его длина запишутся в какую-нибудь таблицу.
Самому подебажить и посмотреть не судьба?
>> No.29695 Reply
>>29631
Где ты, кстати, видел такую проверку? Все нормальные люди используют strlen.
>> No.29697 Reply
>>29695
Тред не читал
Реквестирую хорошую книгу или ссылку на пост с книгами по изучению языка Си.
Имею базовые знания языка и хотелось бы перейти на другой уровень программирования. Грубо говоря - слишком умный, чтобы писать HelloWorld, но слишком тупой, чтобы писать что-нибудь сложнее. Пока не получается перепрыгнуть эту ступень.
Дополнительно интересует работа с железом/портами ввода-вывода.
>> No.29698 Reply
>> No.29699 Reply
>>29694
> Ты точно знаешь, что такое argv и argc?
Думал что знаю, на абстрактном уровне. Хотел узнать как это все дело лежит в памяти и как это на хую вертеть. Та инфа которую получилось найти доверия не вызвала ибо как-то это неэлегантно.

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

И в случае с массивом строк еще ок, разница соседних адресов будет длиной. (Если строки всегда последовательны в памяти). Но о последней строке так не узнать.

>>29695
посмешил,
http://www.stdlib.net/~colmmacc/strlen.c.html
> Return the length of the null-terminated string STR. Scan for the null terminator quickly by testing four bytes at a time.
Разе что ты имел в виду чтение кусками по 4 байта, тогда простите.
Тем не менее спасибо за наводку.

Прошу прощения, не хотел разводить балаган. Не буду боле тратить ничьего времешни. Всем спасибо.
>> No.29705 Reply
>>29699
Сейчас просто char мало кто использует в серьёзных проектах. Обычно для строк используется std::string или ещё какая-нибудь обёртка, которая уже хранит длину строки(или количество выделенной под неё памяти).
Пиши на паскале, там длина строки находится в нулевом байте.
>> No.29721 Reply
File: SANAE_FALCON.jpg
Jpg, 3409.05 KB, 2593×1800 - Click the image to expand
edit Find source with google Find source with iqdb
SANAE_FALCON.jpg
>>29699

Запоздало обьясняю как работает передача аргументов для C.
К примеру, ты вызываешь программку foo, кормя ей параметры bar и baz, вот так:
$ foo bar baz
В main программки foo они приходят как int argc и char** argv. Второе — указатель на первый элемент массива из указателей на массивы из charов a.k.a. строк, являющихся именем программы и аргументами для неё, тоесть, в данном случае "foo", "bar" и "baz". Первое — количество указателей в этом массиве. Где и куда кладутся эти массивы — на стек, в кучу, в специальную область памяти специально отведённую для того чтоб ложить туда аргументы или ещё куда-нибудь — C на это плевать, главное чтоб на эти строки были указатели, указатели были собраны в массив в том же порядке, в котором они были написаны, указатель на этот массив был отправлен в argv главной функции, а количество строк — в её argc.

Отвечая на нумерованные вопросы:
1) Нет, хуже — передаётся указатель на массив из argc указателей на null-terminated строки.
2) Никакой, только вышеописанные указатели и сами массивы.
3) В глубинах операционной системы.
4)
char first[] = "first string";
char second[] = "second string";
char third[] = "third string";

char* array_of_strings[3] = { first, second, third };
Заметь в коде выше, что когда ты в Сях передаёшь массив, на самом деле ты передаёшь только указатель на него. Тоесть, тип переменных first, second и third везде, где ты напишешь их имя — char*, а тип arrayofstrings — char**, не смотря на то, что обьявлены они массивами и массивом из указателей на массивы.
> > 29705
Для действительно серьёзных проектов, работающих с большими строками используются корды, см. enwiki://Rope_(data_structure)
>> No.29735 Reply
File: 1246899342547.jpg
Jpg, 889.58 KB, 1000×1179 - Click the image to expand
edit Find source with google Find source with iqdb
1246899342547.jpg
>>29721
Ух ты, спасибо за развернутый ответ. Таки разложил
Добра тебе.
>> No.30198 Reply
File: 2010-09-13-323656.jpeg
Jpeg, 2331.54 KB, 1812×1296 - Click the image to expand
edit Find source with google Find source with iqdb
2010-09-13-323656.jpeg
Паскаль и Си тут не при чем (наверное), но другого реквест треда не нашел.
У меня в онлайн игрульке стоит длинный пароль, но я часто промахиваюсь и правильно его ввожу раза с третьего. Вспомнил, что раньше вроде писал скрипт на AutoIt, который двигал курсор и что-то там писал и решил попробовать сделать скрипт, который бы детектировал открытие клиента игры (лолец, да) и вводил бы мне пароль. Собственно вопрос - использовать ли для этого опять AutoIt? Где-то видел какой-то AutoHotkey очень на него похожий. Я имею ввиду, что этот AutoIt кажется мне каким-то несерьезным, есть ли более годная альтернатива, которая бы при дальнейшем изучении пригодилась бы еще где-нибудь окромя курсородвигалок или для ньюфага самое то?
Никаких языков не знаю, более менее знаком лишь с html и css.
>> No.30201 Reply
>>30198
Ctrl+V -> Ctrl+C
>> No.30202 Reply
File: 1350337310198.png
Png, 256.80 KB, 550×700 - Click the image to expand
edit Find source with google Find source with iqdb
1350337310198.png
>> No.30216 Reply
File: 01.png
Png, 62.78 KB, 220×243 - Click the image to expand
edit Find source with google Find source with iqdb
01.png
>>30198
Юзаю ahk для кликеров. Если игра вообще разрешает кликеры, кстати, бо некоторые игры как-то отключают винапишные сенды вообще.
Пока более серьёзного не нашел. Си-подобный синтаксис бесит, иногда какие-то базовые конструкции не работают так, как хочется. Хотеть лисп-ахк, но его нигде нет.
>> No.30223 Reply
>>28288
Привет, Доброчан.
Реквестую движок для онлайн журнала.

Хотелось бы переписывать как можно меньше кода.
>> No.30241 Reply
>>30223
Что за журнал? Заведи блог на блогспоте и ничего не переписывай.
>> No.30264 Reply
>>30241
Нужен именно журнал. товарищ желает издавать в электронном виде. Материала у него уже предостаточно накопилось, сейчас он хочет запилить сайт. Я взялся помочь.
>> No.30265 Reply
>>30264
Помощник уровня /s/: взялся помочь, а сам даже движков нихуя не знаешь.
>> No.30266 Reply
>>30265
Надоели уже всех критиковать всех. Может он сами не смог бы даже спросить движок. Гуманитарии вообще панически боятся техники, а нанимать - кого-то сдерут бабла кучу.
>> No.30267 Reply
>>30266
Если гуманитарий и его дружок нихуя не понимают, то что зазорного в том, чтобы заплатить людям, которые понимают?

Если тебе, например, нужна платная операция на сердце, ты же не попросишь друга оперировать тебя кухонным ножом по инструкциям из интернета, а пойдёшь в больничку и как миленький заплатишь, хотя стоить это будет гораздо дороже.
>> No.30268 Reply
>> No.30304 Reply
File: Без-имени.png
Png, 100.19 KB, 817×569 - Click the image to expand
edit Find source with google Find source with iqdb
Без-имени.png
>>28288
Решил написать сюда.
Анончик, помоги разобраться, как работает подобная конструкция - \g{-1} с отрицательным числом
>> No.30308 Reply
>>30264
С помощью какого-нибудь веб-фреймворка можете относительно быстро это сделать.
>> No.33339 Reply
Wake Up Neo.
>> No.33340 Reply
>>33339
Ok, Морфей.
>> No.33344 Reply
>>30308
Вот мой веб-журнал, например, сделан без всякого веб-фреймворка: http://ussr-vs-russia-copypasta.110mb.com/.
>> No.33424 Reply
Суп. Что имеется ввиду под «толстенный учебник Дейтелов»?
А под книгой банды чётырёх?
А под книгой Дракона?
Nihuya ni ponyatno, a posmotret` chto takoe hochu.
>> No.33425 Reply
>>33424
> А под книгой банды чётырёх?
google://книга+банды+четырёх, первая ссылка. Сама книга о паттернах ООП, облегчающих жизнь при написании ОО-кода. Хотя, если читатель не слышал о Банде Четырёх, лично я б рекомендовал для начала книгу о паттернах от Фрименов (в оригинале называется Head First Design Patterns, не помню, как это перевели на русский язык).
>> No.33426 Reply
>>33424
1) "Как программировать на С" Дейтлов.
2) ruwiki://Design_Patterns
3) ruwiki://Книга_дракона_(компиляторы)
По крайней мере книга дракона прекрасно гуглится.
>> No.33427 Reply
>>33425
> лично я б рекомендовал для начала книгу о паттернах от Фрименов (в оригинале называется Head First Design Patterns, не помню, как это перевели на русский язык).
Но зачем?
>> No.33428 Reply
>>33427
Для того, чтобы ознакомиться с паттернами ОО-проектирования по книге, написанной живым и интересным языком. Как человек, читавший и Фрименов, и Банду Четырёх, могу сказать точно, что книга от Фрименов читается гораздо проще и увлекательнее.
>> No.33429 Reply
File: ss-(2013-07-21-at-09.58.20).png
Png, 13.13 KB, 710×185 - Click the image to expand
edit Find source with google Find source with iqdb
ss-(2013-07-21-at-09.58.20).png
>>33426
Это просто карма.
>> No.33430 Reply
>>33429
Ты о чём? На С, а не на С++.
>> No.33433 Reply
>>33430
Да я вообще мимокрок. Искал Дейтлов, параллельно зашел сюда и увидел советы о прочтении этой книги. Хотел найти в fb2, но не судьба, придется мучиться с богомерзким djvu или pdf.
>> No.33437 Reply
File: наблюдател.png
Png, 647.20 KB, 934×503 - Click the image to expand
edit Find source with google Find source with iqdb
наблюдател.png
>>33428
О! Спасибки, анон. Угарная книженция, а то 4 бандита усыпляют.
>> No.34936 Reply
Поднимайся, тредик.
>> No.34959 Reply
>>33437
Не радуйся так, я помню, джикуери сначала по ним изучал, потом, после прочтения нормальной книжки от орейли, понял, что хоть и весело было, но знаний первоголовы дали столько, сколько пол часа метода тыка и три страницы документации.
Хотя, для погружения сойдут и головы, но опять же, потом будешь жалеть убитое время.
>> No.35128 Reply
File: 2013-11-01-10.17.49.jpg
Jpg, 1012.44 KB, 2688×1520 - Click the image to expand
edit Find source with google Find source with iqdb
2013-11-01-10.17.49.jpg
Есть модель данных расписания занятий ВУЗа. Знаю, что она не в третьей НФ. Помогите исправить.
>> No.35129 Reply
>>35128
Или напилите новую модель на основании этой. Нужно: общее расписание на семидневку/по неделям, расписание по группам и формам обучения, расписание по преподавателям. На GUI пока пофиг.
>> No.35273 Reply
File: 8280b_Shuffle_NerineAndPrimula.jpg
Jpg, 84.83 KB, 578×800
Your censorship settings forbid this file.
r-18
>>28288
Реквестирую краткий гайд по с++, не более 20 страниц, краткое рассмотрение особенностей синтаксиса и основных функций стандартных библиотек.

С меня пара няшек.
>> No.35274 Reply
>>35273
> не более 20 страниц
> с++
Ты не тот язык выбрал.
А вообще, cplusplus.com/tutorial
>> No.35275 Reply
>> No.35276 Reply
>>35274
Я же не написал "полное описание вселенной языка C++", я сказал "краткий гайд". Методичка, раз уж на то пошло. И неплохо бы на русском. За линки спасибо.
>> No.35278 Reply
>>35276
> на русском
Ну это вообще.

Я вот так по краткому гайду начал на питоне писать и думал какой я охуенный, а потом охуел от всяких with и bind(a=b), пришлось курить механику всей этой поебени.
>> No.35280 Reply
>>35278
А шо ви хотели? Не все могут в англицкий на достаточном уровне, а кодить надо. тем более, что си крестовый не самый редкий язык, и по нему должны быть маны на русском.
>> No.35281 Reply
>>35280
Когда я был маленький и не мог в английский, надо мной все смеялись, а теперь я вырос и могу читать маны на английском и смеяться над теми, кто не может. Такие дела.
>> No.35282 Reply
>>35128
Ты Билл Гейтс из прошлого?

Модель строится исходя из задач. Какая у тебя задача?


c: ньюфаг создателей
>> No.35286 Reply
>>35280
Не всех ебут проблемы недочеловеков, не могущих в английский на достаточном уровне.
>> No.35291 Reply
>>35282
Распейсание занятий вузика для одного заочника который не может учиться. Да, я у мамки фрилансер и случайно замахнулся на больший кусок, чем гипотетически могу откусить.
>> No.35898 Reply
Привет, Доброкодер. Передо мной стоит задача написать простенькую программку, суть в том что она делит х на у и выдает частное q и остаток r от этого деления. Писал на си в консольке в борланде, нужно каким-то образом программно ограничить возможность ввода в качестве х и у всяких букв и символов, ошибка может быть или после ввода полного числа, так и после каждый цифры, как это проще всего реализовать? Ещё желательно задать х и у определенный диапазон, минимальные и максимальные значения не важны.

Имеющийся код:

#include <conio.h>
#include <math.h>
#include <stdio.h>

void main()
{
int b,x,y,q,r;


do
   {
system("COLOR 3");
printf("Eta programma opredelit' 4astnoe Q i ostatok R ot delenya X na Y\n");
printf("X & Y dojni bit' tselimi 4islami.\n");
printf("Vvedite X=");
scanf("%d",&x);

printf("Vvedite Y=");
scanf("%d",&y);
if(y == 0)
printf("Nel'zya podelit' na 0!");
else
{
        q=x/y;
        b=y*q;
        r=x-b;
printf("Q=%d\n",q);
printf("R= %d\n\n",r);
printf("Dlya povtorenya najmite lyubuyu knopku.\n\n");
 }
   getch();
   }
   while(1);

}
>> No.35899 Reply
>> No.35900 Reply
>>35899
Копать в сторону iswdigit?
>> No.36087 Reply
File: пиздец.jpg
Jpg, 46.90 KB, 845×282 - Click the image to expand
edit Find source with google Find source with iqdb
пиздец.jpg
Котаны, нуждаюсь в вашей помощи.
В наличии задача (пикрелейтед) и моя реализация на питоне (http://pastebin.com/eTQFbdGk). Проблема в том, что погрешность получается какой-то слишком ебанутой. Скажите, так и должно быть или я таки где-то напортачил? А ведь я наверняка напортачил.. Как исправить?
>> No.36096 Reply
File: 2013-12-15-212756_547x306_scrot.png
Png, 24.60 KB, 547×306 - Click the image to expand
edit Find source with google Find source with iqdb
2013-12-15-212756_547x306_scrot.png
>>36087
Последний член, который добавляешь, всё ещё весьма велик (аж .28 в этом конкретном примере). Делай больше итераций.
Оптимизации ради советую сохранять предыдущий член и считать только дробь, на которую его нужно домножить, чтобы получить новый. Ну или хотя бы тупо не пересчитывать каждый раз факториал по-новой, а поддерживать.
>> No.36097 Reply
>>36096
>>36087
А, прости, я упорот и забыл «+=» поменять на «=», лол.
У тебя проблема такая, что для погрешность появляется на больших x, что вполне естественно, ибо float нерезиновый. Что с этим делать написано прямо у тебя в задании.
Ну и либо не используй range, ибо он действительно генерит список чисел, который тебе нафиг не сдался (вместо него есть генератор xrange), либо переходи на Py3k.
>> No.36098 Reply
File: 3zk.png
Png, 13.41 KB, 447×303 - Click the image to expand
edit Find source with google Find source with iqdb
3zk.png
>>36097
Хм, у меня всё равно что-то сломано, ибо выдаёт примерно такое:
x =  5
my =  (-498.0, 0L)
cos =  0.283662185463

x =  10
my =  (-499.0, 0L)
cos =  -0.839071529076

x =  15
my =  (-498.0, 0L)
cos =  -0.759687912859
И так далее, и ничего не изменилось. И вроде сделал как ты:
def mycos(x):
	pen = 0.0
	sum = 0.0
	for k in range(0, 999):
		pen = (((-1) ** k) * (x ** (2 * k)))/math.factorial(2 * k)
		sum += pen
	return (sum, pen)
Почему я такой инвалид?
>> No.36099 Reply
>>36097
Нвм, уже разобрался, спасибо :3
>> No.36100 Reply
File: qbasic.jpg
Jpg, 5.27 KB, 192×118 - Click the image to expand
edit Find source with google Find source with iqdb
qbasic.jpg
Спасай@помогай, анон. В колледже задали контрольную на дом. Надо решить пикрелейтед на qbasic'е. Тему по циклическим алгоритмам я прогулял.
CLS
i = 4
FOR n = 1 TO 31
p = ctg(i + n + (4 * ATN(1)))*p
NEXT
PRINT p
END
не работает
>> No.36101 Reply
>>36100
CLS
lower = 5
upper = 31

p = 1
pi = 4*ATN(1)
FOR i = lower TO upper
    p = p * ctg(i + pi)
NEXT

PRINT p
END
На, я сегодня добр. Но я не знаю синтаксис этого гигантскобуквенного паскаля. Так что заморочки с синтаксисом возможно ещё надо решить. Точнее, я не знаю, что призван делать CLS, видимо чистить экран(clear screen?) и что закрывает END, видимо всю программу.
>> No.36102 Reply
File: qbasic2.jpg
Jpg, 39.31 KB, 666×457 - Click the image to expand
edit Find source with google Find source with iqdb
qbasic2.jpg
>>36101
Тоже самое. Похоже, придётся смериться с тройкой. Кстати, синтаксис исправляется автоматически.
>> No.36103 Reply
>>36102
[i]смириться[/i]
>> No.36104 Reply
>>36103
Ещё раз. Вот так.
>> No.36105 Reply
>>36102
Чего? Ты там точно никаких массивов/списков/множеств/ещё чего такого не добавлял? Квадратных скобок нигде нету? Ты точно так перекопировал? Там больше ничего нет? Мне прям интересно стало.
>> No.36106 Reply
File: qbasic3.jpg
Jpg, 92.19 KB, 1240×690 - Click the image to expand
edit Find source with google Find source with iqdb
qbasic3.jpg
>>36105
Как видишь.
>> No.36107 Reply
>>36106
Это нормально, что ctg маленькими, а ATN - большими? Просто напиши PRINT ctg(5) вместо программы. Только CLS и END оставь.
>> No.36108 Reply
>>36106
Напиши после слова NEXT букву i через пробел.
>> No.36109 Reply
>>36107
Да, вполне нормально. Кстати, при значении сtg больше 5 и появляется эта ошибка.
>>36108
Не помогло.
>> No.36110 Reply
>>36109
Т.е. больше 10. При ctg больше 10.
>> No.36111 Reply
Получилось же! Оказывается, в qbasic'е вообще нет функции ctg и вместо неё нужно использовать 1/tan(x).
>> No.36112 Reply
PRINT ctg(11) даёт ошибку? Скажи об этом преподу и покажи мою программу. Что-то тут очень упорото, в этом квасике.
>> No.36113 Reply
Хосспади.
>> No.36114 Reply
>>36112
Да нормально уже всё, читай пост выше. Qbasic вообще не умеет считать по ctg(x), а при значениях ниже 11 просто выводит 0.
>> No.36340 Reply
File: 1240692182161.jpg
Jpg, 1104.33 KB, 1920×1200
Your censorship settings forbid this file.
unrated
Анон, я тебе принёс простую задачу по C, хотя целью является не код, а скорее алгоритм действий.

Дано:
- Микроконтроллер с аналоговым входом, умеющим читать напряжение. Напряжение характеризуется числом от 0 до 1023, где 0 - это 0 вольт, а 1023 - 5 вольт (5000 мВ).
- Датчик тока, подающий результат на аналоговый вход микроконтроллера. Напряжение на выходе датчика тока формируется как-то так: Uout = (2500 + I * 185) мВ, где I - ток, зафиксированный датчиком (число с плавающей точкой от -5.0 до 5.0). Так, при значении в 0.5 A датчик выдаст 2593 мВ (микроконтроллер фиксирует значение 531), а при -1.5 A - 2222 мВ (микроконтроллер фиксирует значение 455).

Требуется: преобразовать число, зафиксированное микроконтроллером, в миллиамперы (I * 1000), измеренные датчиком. Дополнительное ограничение: не использовать типы с плавающей точкой.

Мой говнокод для решения этой задачи:
int getCurrent()
{
  int value = analogRead(CURRENT_SENSOR); // получаем число до 1024...
  long multipliedValue = value;
  multipliedValue *= 5000;
  int voltage = multipliedValue / 1024; // ...переводим в мВ (value * 5000 / 1024)...
  int delta = abs(voltage - 2500); // рассчитываем отклонение от 2500...
  long current = delta;
  current = (current * 1000) / 185; // ...и, наконец, находим ток в мА.
  
  return (int)current;
}
Вопрос: можно ли реализовать это решение лучше?
>> No.36342 Reply
>>36340
Вроде все правильно реализовал, только не понятно зачем abs(). Ток не может быть отрицательным?
И думаю в таком виде:
return (sensor - SENSOROFFSET)*SCALEFACTOR
оно бы проще читалось.
>> No.36343 Reply
File: nano.jpg
Jpg, 195.91 KB, 1920×1080 - Click the image to expand
edit Find source with google Find source with iqdb
nano.jpg
>>36342
> Ток не может быть отрицательным?
Может, но для меня его направление (=> знак) не имеет значения.
> return (sensor - SENSOR_OFFSET)*SCALE_FACTOR
Действительно, читается проще, но без преобразования величин напрямую не прокатит. Вдобавок у меня ограничения архитектуры - компилятор считает результат всех целочисленных выражений 16-разрядным, поэтому даже невинная замена этого:
  long multipliedValue = value;
  multipliedValue *= 5000;
вот на этот, более логичный вариант:
  long multipliedValue = value * 5000;
...приведёт к переполнению при value > 6, и в дальнейших расчётах будет мусор.

Хотя, ты дал отличную идею, анон. Зачем делать все эти расчёты, если можно просто заранее найти коэффициент пересчёта? Тогда всю формулу:
current = (voltage - 2500) * 1000/185 = ((value * 5000/1024) - 2500) * 1000/185
можно свести к простой формуле:
current = (value - 512) * 5000/1024 * 1000/185 ≈ (value - 512) * 26
Осталось только задефайнить константы 512 и 26, и получится то самое (sensor - SENSOR_OFFSET)*SCALE_FACTOR. Спасибо, анон!
>> No.37002 Reply
>>36343
деление на 1024 - это сдвиг влево на 10 бит
>> No.37003 Reply
>>37002

Оставь оптимизации компилятору.
>> No.37034 Reply
Анон, у меня к тебе необычная просьба о помощи.
Решил я поучить Си на досуге. Программистом не являюсь, языков не знаю. Первые задачи шли хорошо, но начиная с 1.17 я просто сломал голову.
Я просто не могу понять, как это решать алгоритмически даже без на Си.
Хорошо, подумал я и нагуглил целую вики с решениями этих задач. А там какое-то гадание. Пять трактовок условия задачи и пять решений.
Я решил просто пропустить эту задачу и перейти к следующей главе. Там нашел задачу 1.20:
"Напишите программу detab, которя заменяла бы символы табуляции во входном потоке соответствующим количеством пробелов до следующей границы табуляции. Предположим, что табуляция имеет фиксированную ширину n столбцов. Следует ли сделать n переменной или символическим параметром?"
И быстренько накидал решение:
#include <stdio.h>
#define TAB 4 /* ширина табуляции */

main () {
	int i, c;
	while (c != EOF) {
		while ((c=getchar()) != '\n' && c != EOF) {
			if (c == '\t') {
				for (i=0; i <= TAB; ++i)
					putchar(' ');
			}
			else 
				putchar(c);
		}
		putchar('\n');
	}
}
Но я захожу на вики с ответами и снова вижу чад и угар.
http://clc-wiki.net/wiki/K%26R2_solutions:Chapter_1:Exercise_20
Какие-то буферы, какое-то целочисленное деление.
Пожалуйста, объясните мне, почему мое решение неверное. Что я упустил в условиях задачи?
Возможно эта книга слишком крутая для меня. Что мне можно почитать на замену, чтобы там было больше Си и меньше этих "олимпиадных" задач?
>> No.37053 Reply
>>37034
> почему мое решение неверное?
Исходные данные:
1\t|\n12\t|\n123\t|\n1234|

Ожидание:
1   |
12  |
123 |
1234|

Реальность:
1     |
12     |
123     |
1234|
>> No.37054 Reply
>>37034

Двачую >>37053, ты просто не понял задачу.
>> No.37074 Reply
>>37053
>>37054
Похоже на то, что я не понимал смысл табуляции.
Текстовый файл, получается, разбит на группы столбцов, ширина которых зависит от числа пробелов в табуляции. Судя по тому, что в учебнике не было об специфике табуляции ни слова, этот учебник написан для людей с большими базовыми знаниями. Забыл в том посте указать что учебник Кернигана и Ричи.
Может кто-нибудь мне подкинет годную и попроще книжку по Си, чтобы в ней были задачки и их авторские решения.
>> No.37104 Reply
>>37074
> учебник Кернигана и Ричи
Не плохая книжка, но задачи в ней действительно очень сложные для новичков и лучше вернуться к ним потом, когда появится хорошее понимание предмета.
>> No.37169 Reply
Есть три книжки:
1) real world haskell
2) непейвода
3) sicp абельсона

В каком порядке их лучше изучать, чтобы не только изучить суть программирования, но и научиться мыслить процедурно?
>> No.37186 Reply
>>37169
Ни в каком, для проце-дурного мышления тебе нужен учебник по Паскалю.
>> No.37187 Reply
>>37186
Почему Паскалю, а не Кернигана и Ритчи или, там, питон?
>> No.37190 Reply
>>37169
Ни в каком. Бери знакомые языковые примитивы, и делай из них всё что угодно, играйся с ними, привыкай к ним как опытный водитель к рулю и не стесняйся писать сырнобанальщину всё равно никто не видит. Когда ты привыкнешь к своим имеемым знаниям, которые у тебя в той или иной мере уже должны быть если ты заинтересовался предметом, которым заинтересовался тебе будет легче поместить новые знания в единую систему.

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

Есть плохой побочный эффект - привыкая к знаниям, можно стать консерватором и уж слижком вживиться в них, чтобы быть способным от них отвыкнуть.
>> No.37194 Reply
>>37169
Тебе начинать нужно вообще с википедии. Чтобы для начала перестать путать функциональное и "процедурное" программирование.
>> No.37195 Reply
>>37194
Это всего лишь термины. Мне кажется, кто-то путает академичный computer science с практическим программированием.
>> No.37196 Reply
>>37195
Давай ты сначала прочтёшь что-нибудь и попробуешь на С, хаскеле/лиспе и чё-то с ООП что-нибудь написать, а потом будешь разглагольствовать про просто термины.
>> No.37198 Reply
>>37196
Два чаю этому. Типы, бросающиеся в "практическое программирование" без хотя бы минимального знания "академической теории", позорят профессию.
>> No.37209 Reply
>>37190
А по книжкам? Когда эти книжки надо будет читать.

>>37194
Попутал, писал быстро.
>> No.37210 Reply
>>37187
> или, там, питон
Питон мультипарадигменный, реально же на питоне пишут только оо и функционально. Всяких поехавших сейчас не берем во внимание.
>> No.37211 Reply
>>37210
ок, значит, я зря лезу, куда не надо. Ну тогда по С книжку какую-нибудь надо. Как ещё? Пасцал - это время в пустую. Сегодня процедурное программирование начинается и заканчивается на С. Но только лучше не лезть с ходу в управление памятью(указатели, звёздочки, malloc/free)
>> No.37212 Reply
>>37211
Объясни почему ты делаешь упор на процедурной парадигме.
> Сегодня процедурное программирование начинается и заканчивается на С.
http://progopedia.ru/paradigm/procedural/
>> No.37213 Reply
>>37212
Ну типа а потом уж перейти к ООП и ФП. Когда уже ясно, что иф и фор делают.
>> No.37214 Reply
>>37213
Ясно. Короче, если ты хочешь компилируемые, то иди в гугл и качай Керниган и Ритчи. Если интерпретируемые, то любую книжку по питону. Хаскель и лисп ты врядли вот так сразу осилишь. И выкинь из головы эту дурь про процедурное.
>> No.37215 Reply
>>37214
А вообще посмотри в сторону Dlang.
>> No.37216 Reply
>>37215

Да, кстати, два чая этому господину. D должен очень неплохо подойти для обучения программированию.
>> No.37217 Reply
>>37215
>>37216
Основной минус эти малопопулярных языков в том, что можно не найти применения и потом всё равно придётся учить мейнстримовые си, кресты, ждавы или т.п. Даже если они лучше.
>> No.37218 Reply
>>37217
Блядь, ты хоть на педивикии прочти про D. Пока ты его выучишь, уже надо будеть Quipper осиливать. Может с него и начнешь?
>> No.37219 Reply
>>37217

Предлагаю тебе задуматься, почему лётчики используют тренажёры. Учиться программировать и учиться программировать на С++ - это две совершенно разные задачи.
>> No.37227 Reply
File: people_die_if_they_get_killed_by_raptorj-d34bauk.jpg
Jpg, 47.84 KB, 828×431 - Click the image to expand
edit Find source with google Find source with iqdb
people_die_if_they_get_killed_by_raptorj-d34bauk.jpg
>>37219
> Предлагаю тебе задуматься, почему лётчики используют тренажёры.
Потому что люди умирают, когда они разбиваются на самолётах. И самолёты ломаются, а они дорогие. Для программирования на С++ это не столь актуально, знаешь ли.
>> No.37233 Reply
>>37227
Этточна. Всего лишь уволят и больше никуда не возьмут даже кофе разносить.
>> No.37234 Reply
>>37233
То есть на С++ только в офисе кодить можно, а дома нельзя и придётся брать D? Если учить D, то придётся сначала учиться кодить на D, а потом учиться на C++, а только потом уже работать.
>> No.37236 Reply
>>37227

Плохие программы - ещё хуже, чем разбившиеся самолёты.
>> No.37238 Reply
>>37236
Ну тебе же не надо выпускать их. Удалил и всё.
>> No.37239 Reply
>>37238

Как это не надо? Если ты хреново научишься программировать и пойдёшь на работу, твои плохие программы будут выпускать в промышленных масштабах.
>> No.37240 Reply
>>37239
Доброчую. Вот после таких и разбиваются владельцы тойот всяких, да самолеты падают.
>> No.37241 Reply
>>37240
Да вы обалдели меня кривословить? Я говорю, что меньше времени на обучение можно потратить, если не брать D, а взять сразу С++.
>> No.37242 Reply
>>37241
А ещё рациональнее использовать время — не постить хуйню на лиспач который день, а начать читать любую книжку по любому япу.
>> No.37245 Reply
>>37241

Так с этим-то как раз никто и не спорит. Результат будет хуже.
>> No.37247 Reply
>>37245
Без D? Прямо таки?
>> No.37248 Reply
>>37247

Лично знаю нескольких людей, которые умеют писать на С++, но не умеют программировать. D, конечно, не принципиален, тут подойдёт любой язык, который не похож на кучу дымящегося говна.
>> No.37249 Reply
>>37248
А, так это С++ такой плохой? Ну вот, начинается. Только не говори, что ты предлагаешь пользоваться сборкой мусора раньше, чем человек поймёт, как это работает при помощи ручного управления памятью.
>> No.37251 Reply
>>37249

Управление памятью должно быть только автоматическим. Единственное, что должен знать программист - когда вместо кучи надо использовать стек. Всю остальную работу за него должен делать GC. Другого подхода быть просто не может, потому что человек сам не может уследить за кучей из хотя бы 5000 объектов и нигде не налажать, а подсчёт ссылок обычно работает ещё медленней, чем нормальный сборщик мусора.

И да, С++ плохой. Очень плохой. Отвратительный. Только в 11-м стандарте его начали хоть чуть-чуть приводить в человеческий вид, но там работы ещё непочатый край, а другие языки хороши уже сегодня.
>> No.37256 Reply
>>37251
> Единственное, что должен знать программист - когда вместо кучи надо использовать стек.
Нет, он должен знать, как оно работает. Или как он потом сядет за С, когда будет что-то низкоуровневое? Тонкие оптимизации? Программирование самого сборщика мусора, в конце концов.
>> No.37257 Reply
>>37256

А кто сказал, что он потом сядет за Си? (Мне нравится словосочетание "сесть за Си". Есть в нём какой-то намёк на то, что использование низкоуровневых языков - преступление.) Многие люди никогда и не сделают этого. Тонкие оптимизации? Пусть научится сначала делать обычные, алгоритмические. У меня, например, никогда ещё не было такого, чтобы даже хайлоад упирался в необходимость жёстко оптимизировать какой-то один кусок - всегда всё решалось придумыванием лучшего алгоритма. Программирование GC? Я тебя умоляю. Это вероятность 0,0000000001%. Не, вообще я готов согласиться, что программист должен знать, как работает его GC, но он тем и хорош, что им обычно можно пользоваться без специальных знаний.
>> No.37258 Reply
>>37257
Дополнительная квалификация не помешает. Всё зависит от того, что он за работу найдёт себе. Ты хочешь заставить его идти на самую простую.
>> No.37260 Reply
>>37258

А? Я где-то что-то сказал про простую работу? Давай-ка вспомним, о чём я говорил. Я говорил о том, что программированию надо учиться на том языке, который позволяет программировать, а не отвлекаться на говно в стандартах и заёбы компилятора. Потом можно писать хоть на плюсах, хоть на питоне - базовые знания уже будут.

Кстати, мне нравится твоя реплика про простоту. Ваша сиплюсплюсная братия уже настолько привыкла, что её ебут в жопу, что считает любую другую работу неоправданно простой. При этом вы сами умудряетесь писать программы, которые проседают по производительности и текут, как собаки в течке.
>> No.37262 Reply
>>37260
Ну давай, напиши поддержку нового железа для ядра оси на джаве и перле, гений.
>> No.37263 Reply
>>37262

На D уже можно, я думаю. Опять же, написание драйверов - 0,1% случаев.
>> No.37264 Reply
>>37263
99% случаев - это интернет-магазины, сайты-визитки, круды для тырпрайза, скока продано. И что? Заебись, аргумент, может он более крутую работу хочет.
>> No.37267 Reply
>>37264

Ты что мне пытаешься доказать? Что учиться программировать не надо? Тогда ты сейчас приводишь аргументы против себя же.
>> No.37271 Reply
>>37262
Лол. А чо, уже родились гении, которые за год с нуля пишут дрова под новые железки на спп? Хоспади, как я стар. Даже если и так, то очевидно начинать нужно не с спп или няшной, а с ассемблера.
> на джаве и перле
А на питоне можно.


Вообще тред скатывается в нетуда.
>> No.37272 Reply
>>37264
Ты хотя бы один сайт напиши нормально, умник.
> круды для тырпрайза
Да, это и есть обычная работа программиста. А ты думал ракеты строить будешь?
>> No.37273 Reply
>>37262
Не знаю про джаву и перл, а вот на сишарпе вполне себе пишут. google://.net+micro+framework
крокодил
>> No.37276 Reply
>> No.37280 Reply
>>37276
А на лиспе только через cffi?
>> No.37281 Reply
>>37280
В D встроен ассемблер. Твори что хочешь.
>> No.37282 Reply
Вах, не тому отправил.
>> No.37285 Reply
>>37280
лисп не предназначен для таких "задач".txt
>> No.37290 Reply
File: 14171814_57448cc6.jpg
Jpg, 40.10 KB, 443×663 - Click the image to expand
edit Find source with google Find source with iqdb
14171814_57448cc6.jpg
Няши помогите реализовать на Си/Си++ кооперативную многозадачность с гарантированным распределением процессорных ресурсов. Курсовой проект горит.

Хотя бы скиньте ссылки на прогу в которой нужно будет писать.
>> No.37291 Reply
>>37290
> кооперативную многозадачность
> с гарантированным распределением процессорных ресурсов
> Курсовой проект
...
> Хотя бы скиньте ссылки на прогу в которой нужно будет писать.
Няша, я просто честно скажу: всё плохо. Либо заказывай, либо сгорит твой проект.
>> No.37292 Reply
>>37290
> скиньте ссылки на прогу в которой нужно будет писать
Это из разряда LomalkaPochti.exe?
>> No.37324 Reply
>>37290
> Хотя бы скиньте ссылки на прогу в которой нужно будет писать.
http://www.visualstudio.com/ru-ru/visual-studio-homepage-vs.aspx
>> No.37354 Reply
File: 0912-hDlAEds.jpg
Jpg, 132.89 KB, 1920×1080
edit Find source with google Find source with iqdb
0912-hDlAEds.jpg
File: 2083-l0VFgcY.jpg
Jpg, 249.11 KB, 1920×1200
edit Find source with google Find source with iqdb
2083-l0VFgcY.jpg

Анон, подскажи с необычным реквестом?

Завтра собеседование на работу кодером, в телеком. Телефонное интервью прошло достаточно гладко.
Готовлю презентацию о "трендах современной разработки П/О" и какой это все влечет профит компании.
В каком направлении луркать? Высшее есть, но процесс трудоустройства вызывает сильный дискомфорт.
(Конкретная должность пока не рассматривается)

Помоги пожалуйста, очень хочу вылезти.
>> No.37356 Reply
>>37354
Кто надоумил тебя делать презентацию? Ты в архитекторы или тимлиды что ли метишь?
Не очень давно устраивался кодером в телеком. Было собеседование на английском, были задачки на знание плюсов (написать нечто простое, и рассказать, что делает довольно хитрожопый код). Затем посмотрели, что в резюме значится haskell, и отправили писать высокоуровневый код на няшном эрланге.
>> No.37357 Reply
>>37356
Ну нихуя, пардон, себе. В резюме у него хаскель, на работае пишет на няшном эрланге.
Не в РФ, я полагаю?
>> No.37358 Reply
>>37285
Хватит кормить этим вашим "лисп не предназначен". О чем не спросишь — лишь для этого не приспособлен.
>> No.37359 Reply
>>37357
> Не в РФ, я полагаю?
Конечно, в Японии. Ничего не делаю, а всё есть.
Да нет, в РФ, представь себе. Я шёл туда от полной безысходности, думая что буду копаться в дерьме мамонта, но Мадока услышала мои мысли.
>> No.37360 Reply
>>37358
> лишь для этого не приспособлен.
Он просто работает по-другому.
>> No.37363 Reply
>>37356
> Кто надоумил тебя делать презентацию?
Обязательная часть собеседования. Тему так и дали,"тренды современной разработки П/О" и какой это все влечет профит компании. (В том числе какой я лично несу профит. Дешевая рабочая сила, какой еще профит)
Немного паникую - не знаю что презентовать.
> Ты в архитекторы или тимлиды что ли метишь?
Да нет, обычным кодером, но не на конкретную должность, так что по результатам собеседования могут и в тимлиды (но это очень вряд ли)
> были задачки на знание плюсов
Уже было, домашним заданием.
>> No.37365 Reply
>>37363
> Обязательная часть собеседования.
Боже, какая ересь. Разбушевавшиеся HRы хуже бешеных собак.
>> No.37366 Reply
>>37365
КАКИЕ ТРИ ВАШИ САМЫЕ БОЛЬШИЕ ДОСТИЖЕНИЯ В РАБОТЕ?
>> No.37367 Reply
>>37366
ох, на это нужно отдельный тред
>> No.37369 Reply
>>37365
Дерьмово. Я устраивался в игростудию, мне дали домашнее задание, я сделал, приехал, мне показали офис, рассказали о работе и всё, почти ничего не спрашивали даже.
>> No.37406 Reply
File: 3067068-leviathan-hellraiser-4-1990-overlooking_th.jpg
Jpg, 179.93 KB, 891×1249 - Click the image to expand
edit Find source with google Find source with iqdb
3067068-leviathan-hellraiser-4-1990-overlooking_th.jpg
Помогите советом нубу. Можно ли написать на visual basic программу, которая будет работать с совершенно сторонней программой, нажимать определенные клавиши, подставлять значения? И если да, то где можно почитать как это сделать?
>> No.37407 Reply
>>37406
В винапи для этого есть функционал, но это непродуктивно.
Есть специальные тулзы для скриптования такого взаимодействия. Всякие там autoit и прочее.
>> No.37425 Reply
>>37406

Да, можно. Использую силу WinAPI, о юный падаван!

Вот, примерно так:

CWnd * f1 = FindWindowExW(wnd->m_hWnd,NULL,_T("WindowsForms10.Window.8.app.0.378734a"),_T("")); CWnd * f2 = FindWindowExW(f1->m_hWnd,NULL,_T("WindowsForms10.Window.8.app.0.378734a"),NULL); CWnd * f3 = FindWindowExW(f2->m_hWnd,NULL,_T("WindowsForms10.Window.8.app.0.378734a"),NULL); CWnd * tree = FindWindowExW(f3->m_hWnd,NULL,_T("WindowsForms10.SCROLLBAR.app.0.378734a"),NULL); f2 = FindWindowExW(f1->m_hWnd,f2->m_hWnd,_T("WindowsForms10.Window.8.app.0.378734a"),NULL); f3 = FindWindowExW(f2->m_hWnd,NULL,_T("WindowsForms10.Window.8.app.0.378734a"),NULL); CWnd * list = FindWindowExW(f3->m_hWnd,NULL,_T("WindowsForms10.SCROLLBAR.app.0.378734a"),NULL); DWORD thisP,listP, listP2, treeP; thisP = GetWindowThreadProcessId(this->m_hWnd,NULL); listP = GetWindowThreadProcessId(list->m_hWnd,NULL); treeP = GetWindowThreadProcessId(tree->m_hWnd,NULL); CWnd * list2 = FindWindowExW(f3->m_hWnd,list->m_hWnd,_T("WindowsForms10.SCROLLBAR.app.0.378734a"),NULL); listP2 = GetWindowThreadProcessId(list2->m_hWnd,NULL); ... ``
while(!AttachThreadInput(thisP,listP,true)); ::SetFocus(list->m_hWnd); keybd_event(VK_CONTROL, MapVirtualKey(VK_CONTROL, 0), 0, 0); keybd_event('C', MapVirtualKey('C', 0), 0, 0); keybd_event('C' , 0, KEYEVENTF_KEYUP, 0); keybd_event(VK_CONTROL, MapVirtualKey(VK_CONTROL,0), KEYEVENTF_KEYUP, 0); AttachThreadInput(thisP, listP, false);
>> No.37426 Reply
>>37425

Кривова-то получилось, ну да ладно. Этот код подключается к Листу в чужой программе, выбирает ячейку, жмёт Ctrl+C, и в буфер кладётся содержимое этой ячейки. Всё просто.
>> No.37451 Reply
File: 1292051379_hellraiser_companion_-_book_of_the_damn.jpg
Jpg, 165.80 KB, 628×1000 - Click the image to expand
edit Find source with google Find source with iqdb
1292051379_hellraiser_companion_-_book_of_the_damn.jpg
>>37426
>>37425
>>37407

Спасибо. Попробую затестить на выходных.
>> No.37452 Reply
>>37366
Ваша манера выражать свои мысли ярко, нарочито вызывающе - тревожный звоночек.
>> No.37456 Reply
File: Дмитрий_Виноградов.jpg
Jpg, 294.00 KB, 1412×1649 - Click the image to expand
edit Find source with google Find source with iqdb
Дмитрий_Виноградов.jpg
>> No.37649 Reply
Как вернуть в ворд 2007 интерфейс ворда 2003?
>> No.37661 Reply
>>37649
OpenOffice'ом.
>> No.38814 Reply
File: Ragathol_226.jpg
Jpg, 402.78 KB, 769×1200 - Click the image to expand
edit Find source with google Find source with iqdb
Ragathol_226.jpg
Не знаю, где спросить. Спрошу здесь. Есть какой ни будь способ вслух считать в 16-х числах. Типа один, два, три, четыре... Есть ли такая возможность? Или только в десятичных такая фигня есть?
>> No.38815 Reply
File: CO_Flying.gif
Gif, 198.10 KB, 750×686 - Click the image to expand
edit Find source with google Find source with iqdb
CO_Flying.gif
>>38814
а, бэ, цэ, дэ, йе, эф или эй, би, си, ди, ии, эф.
>> No.38816 Reply
>>38815
Как мне прочитать например 0x7de? В десятичной будет "две тысячи четырнадцать". А какой эквивалент будет в 16-х?
>> No.38817 Reply
>>38816
Семь дэ е, очевидно же.
>> No.38864 Reply
Аноны, раз уж реквесты делаются в этом треде, то реквестирую сборник суровых задач по программированию с повышением сложности.
>> No.38869 Reply
>>38864
Project Euler.
>> No.39028 Reply
Даров аноны! Подскажите кошерные библиотеки реализации SIP в делфях. И подскажите как шифровать голосовой трафик. А лучше киньте нормальную сцыль на соответствующую информацию.
>> No.39263 Reply
Где можно воровать англоязычне ебуки в годном качестве и ассортименте? На рутрекере маловато.
>> No.39266 Reply
>>39263
На какую тему ебуки?
>> No.39267 Reply
>>39266
Околоайтишные, вестимо.
>> No.39268 Reply
>>39267
На форчане спроси.
>> No.39272 Reply
>>39263
Воровать можно тут
http://it-ebooks.info/
http://gen.lib.rus.ec/

А тут можно брать на законных основаниях
https://github.com/vhf/free-programming-books/blob/master/free-program[...]ks.md
>> No.39273 Reply
>>39272
it-ebook знаю, но он добавляет свои ссаные подписи в пдфки, что раздражает.
Второй вроде годный, спасибо.
>> No.39280 Reply
>>39267
Раз уж такой реквест, то и неоколоайтишные пиратокаталоги англоязычных книг не помешали бы. Обычно всё что я ищу - гугл будто намеренно линкует на какие-то подозрительные сайты с откровенной малварью, а аналога флибусты нет.
>> No.39282 Reply
Кстати, посидел чуток и наваял выпиливалку ссаных подписей it-ebooks.info
http://pastebin.com/2Wk7M2p6
Регулярочки, так что можно перепилить куда угодно.
Может даже сразу в браузере жабаскриптом как-то можно?
>> No.39283 Reply
>>39282
> or die "$!";
use autodie;
>> No.39284 Reply
>>39283
Ненужная зогвисимость для скрипта в пять строчек.
>> No.39289 Reply
>>39280
bookfi.org

у билайна он правда то заблокирован органами власти, то просто не открывается
>> No.39304 Reply
Анон, помоги найти алгоритм внешней сортировки бинарного файла на паскале. Такая пидорская тема, что по ней нет ничего нормального с комментариями, блэкджеком и шлюхами, одни только баганые школоподелия с названиями переменных уровня naxuyach и paketik.
>> No.39553 Reply
Посоветуйте школьнику-хеллоуворлдщику язык для простейшей симуляции Игры Жизни.
>> No.39554 Reply
>>39553
Любой.
>> No.39555 Reply
>>39553
джаваскрипт по канвасу, можно взять фреймворк типа EnchantJS. Бля, нахуй вам эта хуита?
>> No.39560 Reply
Щито лучше выбрать для рандомного написания время от времени всяческих мелких гуи-щтучек под шиндовс?
Напрашивается сишарп, но неохота возиться с этими студиями и прочими делами.
Вот плейн си я бы не прочь погрызть, взлетит в этом контексте? Или ещё какие варианты.
>> No.39561 Reply
>>39560
> plain c
> gui под windows
Это какое-то особо суровое извращение с запахом некрофилии.
>> No.39562 Reply
>>39561
Ну я так и предпологал, но он хотя бы полезный для общего развития. Пичаль.
>> No.39563 Reply
File: нг.png
Png, 0.95 KB, 300×20 - Click the image to expand
edit Find source with google Find source with iqdb
нг.png
>>39560
Выбери Tcl.
>> No.39564 Reply
>>39563
Капча шарит.
Алсо, б-гомерзкий тк я могу и на перле заюзать и сконпелять, но слишком уж уныло.
>> No.39565 Reply
>>39564
За что ты так не любишь тк? Уж всяко лучше, чем на голом винапи писать.
>> No.39566 Reply
>>39565
Он тормозной, уродский (хоть и пробует маскироваться под нативный вид, но многие контролы ужасные, лол), ну и эта геометрия размещения норкоманская, или я не до конца разобрался.
Алсо, придется тянуть все его пожитки за собой.
>> No.39567 Reply
>>39566
> геометрия размещения норкоманская
Эээ, вут? Я видел не так много гуёвых библиотек, но везде элементы размещаются примерно одинаковым способом - либо абсолютными координатами на общем поле, либо всякими боксами с автоматической подгонкой размеров под окно.
>> No.39568 Reply
>>39567
Ну абсолютные это понятно, но лень. А вот как-то вменяемо сгруппировать без подгонки координат каждого элемента у меня так и не получилось.
>> No.39601 Reply
File: 1890444.jpg
Jpg, 346.48 KB, 575×800 - Click the image to expand
edit Find source with google Find source with iqdb
1890444.jpg
Продублирую просьбу из /r/
Анон, реквестирую книгу по SQL, но такую, чтоб даже дебил смог писать на SQL после прочтения этой книги. Требуется информация по всем возможностям SQL, начиная от запросов и заканчивая ролями, представлениями и прочей байдой. Очень надо, с меня няшки.
>> No.39603 Reply
File: 1.jpg
Jpg, 55.83 KB, 547×536
edit Find source with google Find source with iqdb
1.jpg
File: 2.jpg
Jpg, 37.42 KB, 381×542
edit Find source with google Find source with iqdb
2.jpg
File: 0.jpg
Jpg, 51.89 KB, 319×543
edit Find source with google Find source with iqdb
0.jpg

Анон, мне нужен пример программы (на плюсах), использующей принцип динамического программирования. То есть, чтобы программа при вычислениях запоминала значения извини, если не совсем правильно называю все эти вещи. Имеется подходящий код на паскале, моя (неудачная) попытка перенести его на плюсы и ещё одно простое решение программы до кучи. Как собрать из этого правильный вариант?
>> No.39604 Reply
>>39603
> jpg
>> No.39605 Reply
File: Понимание-SQL.pdf
Pdf, 1.41 KB, 595×842 - Click the image to get file
Понимание-SQL.pdf
>>39601
Классика же. Потом можно полирнуть чем-то более профильным.
>> No.39608 Reply
File: LuciaRewrite.jpg
Jpg, 226.85 KB, 1366×768 - Click the image to expand
edit Find source with google Find source with iqdb
LuciaRewrite.jpg
>>39605
Спасибо
>> No.39881 Reply
Не нашёл тред вопросов просроченный не в счёт, будет тут. Прогаю на плюсах, и ту недавно первый раз столкнулся с необходимостью подключить стороннюю библиотеку, а конкретно ICU. Во-первых, я пытался скомпилить её дня 3, всё-таки смог через MSYS (сижу на семёрке 32 и 64 бита, прогаю под GCC). Теперь я никак не могу хоть что-то скомпилить с этой самой ICU. В свойствах проекта прописал пути к скомпиленной либе (либу вроде скомпилировал статично), при использовании любой функции из неё конпелятор выдаёт Undefined reference. Собственно, никто не сталкивался с такой проблемой?
Как вариант, я сейчас компилю Boost с той же самой ICU, посмотрим, выгорит ли.
>> No.39899 Reply
>>39881
> конпелятор выдаёт Undefined reference
Может все же компоновщик? Сами либы указал (-l) или только пути (-L)?
>> No.39904 Reply
>>39899
Ну, компоновщик, это вроде ясно. Собственно, я проблему решил, оказалось, что сами либы нужно прописывать в свойствах проета, а не только путь к папке. Но вот почему?
Я в итоге решил под вижаком писать, и вот что я делал: прописал путь в VC++ Directories::Library Directories, это не помогло. Затем прописал тот же путь в Linker::General::Additional Library Directories, тоже не помогло. В итоге пришлось все либы из папки добавить вручную в Linker::Input::Additional Dependencies.
>> No.39905 Reply
>>39904
Лол, чему ты удивляешься? Линкер сам не догадается какие либы подключать, а прописывание директорий просто позволяет не заморачиваться с длинными путями к каждой либе.
>> No.39942 Reply
>>39905
А, ну ок, я не знал, как это работает. Думал, он сам просмотрит все либы из папки.
>> No.39961 Reply
>>37251
> Всю остальную работу за него должен делать GC
Благодаря такому подходу мой телефон на андроиде с одноядерным процом на 800 МГц, который быстрее первого моего личного компа в 5 раз, порой дико тормозит, даже работаю просто со списком сообщений. А на том компе весьма шустро работали приложения, осуществляющие куда более сложные манипуляции с данными.
А ещё у него 512 Мб памяти, и 3 (максимум - 4) одновременно запущенных пользовательских приложения для него - предел. Тогда как на том компе было всего 64, а когда на более мощную машину я таки поставил себе 512, то сильно удивлялся - а какими же данными можно столько памяти забить?
За подобные извращения с производительностью в массовом продукте довольно низкого уровня (ОС, как-никак) нужно отправлять в пожизненную ссылку в Индию.

Теперь непосредственно к автоматическому управлению памятью. Когда надо быстрее набросать софтину, и чтоб она заработала тут же, это хорошо.
А теперь вспомни один из советов мобильным геймдевам, что в Field Interface операций выделения-освобождения памяти вообще не должно быть. Интересно, с чего бы это?

К счастью, есть люди, которые пишут реально оптимизированный софт. Достаточно взглянуть на тот же SQLite.
>> No.39968 Reply
Как на Си устроить вывод так, чтобы ширина поля задавалась выражением?
То, что на Паскале делалось очень просто:
write(i:выражение) На Си же длина поля входит в состав строки:
printf("%5d: ",i + 1); Подстановка на место цифры 5 выражения ничего не даст же.
>> No.39969 Reply
>>39968
Эмм, просто %d?
>> No.39970 Reply
>>39969
Нет, ты не понял.
Нужно, чтобы длина поля была равна значению некоторого выражения. Например, если в паскале я пишу

begin a:=5; b:=6; writeln(a:b); end. то у меня печатается значение переменной a в поле шириной b, т.е.
5 Вместо b можно подставить что угодно, например writeln(a:(b div 2 + 1 + round (ln(b)))).
Например.


Если в си использовать просто %d, то и напечатается просто
5
Если вдруг возникает вопрос, зачем это всё, то вот пример, в котором мне приходилось использовать в паскале (студентота, лабки за первый курс):
Writeln('Результаты вычисления: cos(X)=', Y:1:round(ln(Eps)/ln(0.1))); Где значение косинуса вычисляется приближенно при разложении функции в ряд. Eps - точность, с которой сравнивается разность между двумя последовательно вычисленными значениями. Чтобы не выводить лишних цифр после запятой, а вывести столько же, сколько и у указанной точности (Типа если точность 0,001, то в результате будет 3 цифры после запятой, остальное будет отброшено), я сделал так.
>> No.39971 Reply
>>39970
> то у меня печатается значение переменной a в поле шириной b, т.е.
> 5
Фикс:
     5
>> No.39972 Reply
>>39970
Кастомный размер можно сделать так printf("%.*d", len, num).
>> No.39973 Reply
File: -.PNG
Png, 302.26 KB, 855×486 - Click the image to expand
edit Find source with google Find source with iqdb
-.PNG
>>39972
Хорошо. У меня еще вопросы.

1. Сделал функцию для ввода положительных чисел (сторон треугольника).
void sideinput(float* num)
{
    int err;
    do
    {
        err = scanf("%f",num);
        if (err == 0) printf ("Oshibka vvoda. Povtorite vvod.\n");
        else if (*num<=0) printf ("Oshibka. Vvedite polozhitel'noye znacheniye.\n");
    }
    while ((err==0) || (*num<=0));
}
При вызове из программы
float a;
sideinput(a);
И неправильном вводе (буквы, например) уходит в бесконечный цикл. При вводе же отрицательного числа работает нормально.
Вопрос: ЧЯДНТ?

2. Вот цикл, которым я хотел вводить текст с клавиатуры в файл.
        while ((ch = getchar()) != EOF);   
               putc(ch, infile);
По нажатии <Ctrl+Z> мы, вроде как, вводим EOF. Только вот ввод после этого не завершается, завершается только когда <Ctrl+Z> вводим с новой строки. Вроде бы, пробовал и через do..while и через for делать, толку нет. Вопрос аналогичен первому. Гугл мало помог.
>> No.39974 Reply
>>39973
sideinput(&a);

Во втором должно работать. Но ; после while закрывает его на той же строке. Всегда делай блоки, даже если внутри одна строчка.
>> No.39976 Reply
>>39973
> sideinput
sideInput - имена функций и переменных - так. Классов и пространств имён также, но с большой. Констант и макросов - большими буквами через _. Изучая соглашения именования для твоих языка и технологий.
> if (err == 0) printf
Переноси тело наследующую строку. Ставь фигурные скобки, даже если их можно опустить.
> else if (*num<=0) printf ("Oshibka. Vvedite polozhitel'noye znacheniye.\n");
То же самое: переноси тело, ставь фигурные скобки.
> scanf("%f",num)
num - это float*, а должно быть float, чтоб можно было туда в сканф пихать. В крестах с типами строго. Правда не так строго, как хотелось бы, что создаёт ещё больше проблем, когда он интерпретирует вещи в странной манере. Я надеюсь, ты только для эксперемента тут передаёшь указатель, а то мало ли.
> ;
Ты написал выполнять в вайле так называемый пустой оператор. У тебя перед точкой с запятой ничего нет, это интерпретируется как пустой оператор. putc выполняется лишь единожды уже после. В вайле там точки с запятой нет по синтаксису. Опять таки, фигурные скобки.

капча: хоррроший решении
>> No.39977 Reply
>>39976
> Ставь фигурные скобки, даже если их можно опустить.
Почему-то все стали твердить эту мантру после той-самой-истории-с-безопасностью. Зачем так фанатично относиться к этому правилу? Не допускайте попадания закомментированного кода в продакшен, используйте выравнивание кода, и ваши волосы будут мягкими и шелковистыми. Ещё бы про сравнения-через-жопу вспомнили, честное слово.
мимокрокодил
>> No.39979 Reply
File: -.PNG
Png, 9.64 KB, 286×279
edit Find source with google Find source with iqdb
-.PNG
File: -.PNG
Png, 3.05 KB, 306×100
edit Find source with google Find source with iqdb
-.PNG
File: -.PNG
Png, 6.60 KB, 373×277
edit Find source with google Find source with iqdb
-.PNG

>>39974
> sideinput(&a);
Оу, в коде у меня так и есть, я запостил почему-то без амперсанда. Вот скопипащу, как у меня в точности есть:
    printf("\nVvedite dliny storon:\na=");
    sideinput(&a);
    printf("%f\n",a);
В результате, ввожу -5 - просит повторить, ввожу 5 - всё ок, выводит 5 (пик 1.1). Ввожу asdsa - бесконечно просит повторить и не считывает больше (пик 1.2).


> ; после while закрывает его на той же строке
О, у меня из-за этого записывался всего один символ. Не помню, как там оказалось ; но без ; EOF по <Ctrl+Z> принимает только с новой строки.
При этом я ввожу, например:
abrakadabra^Z //здесь цикл не прекращается
avotyuh, nado s novoy stroki
^Z //здесь прекращается цикл

Однако, в файле получаю вот что:
abrakadabraтут символ, который доброчан отказывался кушать, пик2 и 3avotyuh, nado s novoy stroky

> Всегда делай блоки, даже если внутри одна строчка.
Правила хорошего тона? Учту.

Надеюсь, сейчас ничего не пропустил/лишнего не добавил.


>>39976
На часть поста ответы выше написал. У меня просто HTTP [500] Internal Server Error, не мог отправить пост.
> В крестах .. передаёшь указатель
Но у меня C. Вузовская методичка говорит, что там должен быть указатель. Б. Керриган и Д. Ритчи с методичкой полностью согласны. К тому же, передаю саму переменную - программа просто ложится. Моё высоконепрофессиональное мнение по этому поводу заключается в том, что функциям (в т.ч. и scanf()) в Си передаются параметры-значения, и? чтобы изменить значение какой-либо переменной, работать надо с указатем
> Ты написал выполнять в вайле так называемый пустой оператор.
Ответ в этом посте выше
> Изучая соглашения именования для твоих языка и технологий.
А вот этому в вузике не уделяют внимания. Спасибо.


>>39977
> после той-самой-истории-с-безопасностью
Можно ссылочку?
>> No.39981 Reply
>>39979
> Можно ссылочку?
google://apple+goto+fail
>> No.39982 Reply
>>39979
С EOF похоже шиндовсопроблемы.
У ctrl+z код 26, а если он с новой строчки, тогда передается EOF(-1). Наверное, так и задумано.
Надо проверять и то и то, тогда будет работать, лол.
>> No.39983 Reply
>>39982
А нет, это стандартное поведение везде. Надо с новой строки останавливать, в общем.
>> No.39984 Reply
File: -.png
Png, 951.26 KB, 1366×768 - Click the image to expand
edit Find source with google Find source with iqdb
-.png
>>39983
Отлично! Теперь работает. Я ведь знал, что у этой стрелочки код 26, но тупая голова не додумалась просто включить и его в проверку.
Остался нерешённым вопрос с бесконечным циклом при неправильном вводе в sideInput.

Повторно приведу куски кода, чтобы анону не приходилось искать.
void sideinput(float* num)
{
    int err;
    do
    {
        err = scanf("%f",num);
        if (err == 0) 
            printf ("Oshibka vvoda. Povtorite vvod.\n");
        else if (*num<=0) 
            printf ("Oshibka. Vvedite polozhitel'noye znacheniye.\n");
    }
    while ((err==0) || (*num<=0));
}
и в main:
void main
{
/////
    float a,b,c; //dliny storon
    sideinput(&a);
    printf("%f\n",a);
/////
}
>> No.39985 Reply
>>39984
Опять костыли-костылики. См. первый ответ.
http://stackoverflow.com/questions/16908008/scanf-getchar-working-corr[...]-loop
>> No.39998 Reply
>>39979
> программа просто ложится
Завязывай так выражаться. Ты обязан читать сообщения об ошибках. Даже если они на английском. Какую ты туда переменную пихаешь? Как пихаешь?
> Вузовская методичка говорит, что там должен быть указатель. Б. Керриган и Д. Ритчи с методичкой полностью согласны.
Где, там? Что за задача вообще? Методичка и учебник просто дают тебе упражнение.
> чтобы изменить значение какой-либо переменной, работать надо с указатем
А, ну да, ссылок в сях нет. Но тебе всё равно проще было бы значение возвращать, а не изменять всё подряд.
>> No.40041 Reply
Как сделать, чтобы во входном потоке игнорировались конкретные символы или наоборот, чтобы считывались только указанные символы (C)?

Например, если надо ввести целое число, чтобы программа реагировала только на символы 0..9, а другие символы даже не появлялись на экране при вводе. Т.е., чтобы было вообще невозможно ввести что-либо кроме цифр. Или же наоборот, чтобы просто игнорировать указанные символы (ну например, не хочу я, чтобы пользователь, вводя имя файла, писал, например символы "|", "<" и т.д.).

Хочу, чтобы можно было это сделать в scanf, scanset вроде не то.
>> No.40042 Reply
>>40041
> Как сделать
Читать посимвольно и самому игнорить лишнее.
>> No.40044 Reply
>>39977
Ты чересчур реагируешь. Я сам не люблю ритуальные приёмы программирования, но здесь не тот случай. Ведь >>39976 не сказал: "ставь скобки, а не то Ричи восстанет из гроба и покарает тебя", равно как и не сказал: "ставь скобки и это решит все твои проблемы". Он просто посоветовал практику начинающему программисту, который мог о ней и не знать, - практику известную и осмысленную.
>> No.40045 Reply
>>40044
Всё равно, лично я предпочитаю ставить фигурные скобки в тех случаях, если внутри if больше одной строки (очевидно) ИЛИ если есть оператор else (даже если в if и else по одной строке).
>> No.40046 Reply
>>40045
Ещё раз. Речь не о том, что надо всегда ставить скобки. Речь о том, что такая практика существует, и советовать её новичку, без фанатизма, - нормально. Вырастет - сам решит, следовать ей или нет.
>> No.40058 Reply
>>40046
Без фанатизма то, когда вырастет туда. Начальник базарит со мной, чтобы я читал дохуя умные книги про супер-совершенный код и фабрики фасадов итераторов. А между тем, коллеги, которые реально пишут этот ёбаный, с позваления сказать, код. В котором они фурычат лапшу с кучей повторений и не соблаговалят и функцию лишнюю завести или класс или наследование. Простота идёт поверх всего пре всего. В конечном итоге ничем из этих супер-методологий не пользуешься. И хуяришь это дерьмо ебаное.
>> No.40059 Reply
>>40058
Бро извини, но, ты так говоришь. Что я боюсь за твоим если кодом качества его.
>> No.40060 Reply
>>40059
Переписали виджет сторонний так, что у него большая часть функционала пропала. Я туда ихаю параметры, а там в коде вместо них везде литералы забиты.
>> No.40061 Reply
>>40060
Ты это вообще к чему сейчас?
>> No.40062 Reply
>>40061
К тому, что они советуют читать про скрам, паттерны и совершенный код Макконела, а потом делают это. Это нормально?
>> No.40063 Reply
>>40062
Всё нормально. Это как школьники разбираются в илитных машинах, а сами ездят на маршрутке.
Просто красивая мечта.
>> No.40064 Reply
>>40063
У меня слишком много дел, читбы сказки читать.
>> No.40213 Reply
File: 1409860332489.png
Png, 0.99 KB, 300×20 - Click the image to expand
edit Find source with google Find source with iqdb
1409860332489.png
Может кто в XSLT?
До чего же противная хуита.
>> No.40214 Reply
>>40213
Можно глупый вопрос, а что вообще даёт вкратце эта штука? Я просто погуглил и всё равно не понял ничего.
>> No.40215 Reply
>>40214
Это такой недоязык для преобразования xml в другой xml или html.
>> No.40216 Reply
>>40215
Это то я прекрасно понял. Чего я не понял - в каких программах возникает такая задача и что для этого даёт отдельный чудо-язык. А почему XSLT-код проще чем тупо код, который парсит хмл и строит, что надо? Зачем это всё?
>> No.40217 Reply
>>40216
А я почём знаю, лол.
Судя по всему, оно было задумано как стендалон парсер, ну или темплейтовый движок, когда xml только появился.
>> No.40218 Reply
File: Untitled.png
Png, 12.14 KB, 806×291 - Click the image to expand
edit Find source with google Find source with iqdb
Untitled.png
Лолд. Наверное, лучше будет дропнуть этот проект.
>> No.40220 Reply
>>40218
Что это?
>> No.40221 Reply
>>40220
Интерес превыше времени.
>> No.40222 Reply
>>40221
Увидел. А что за ресурс?
>> No.40223 Reply
File: 130719130758.jpg
Jpg, 18.13 KB, 425×412 - Click the image to expand
edit Find source with google Find source with iqdb
130719130758.jpg
>>40222
Это график google trends для xslt.
>> No.40224 Reply
>>40223
Оу, я не знал про твой любимый гугл трендз, ну прости. Больше не буду задавать такие глупые вопросы. Все должны знать про гугл трендз!
>> No.40226 Reply
>>40224
А то!
>> No.40377 Reply
File: Faith-is-fragile.png
Png, 797.59 KB, 1366×768 - Click the image to expand
edit Find source with google Find source with iqdb
Faith-is-fragile.png
>>28288
Подскажите, пожалуйста, можно ли силами excel и встроенного VB запретить делать какие-либо изменения в ячейках по типу "смотреть можно-трогать нельзя" и чтобы с помощью копипэйста тоже нельзя было изменить содержимое ячеек?
>> No.40379 Reply
>>40216
Универсальность же. Можно пилить стандартизированные шаблоны трансформации, а не заниматься каждый раз велосипедописательством.
>> No.40389 Reply
>>40377
Ставь защиту на книгу/лист.
>> No.40396 Reply
А можно ли объявлять массив в С так:
int n;
scanf("%d", &n);
int arr[n];
?
Вернее, объявлять-то можно, но что при этом происходит?

Вроде говорят, нужно использовать динамические переменные. Просто, когда я объявляю массив таким образом, компилятор молчит.
>> No.40414 Reply
Анон, я собираюсь участвовать в этом: http://www.1511.ru/news/view/1377 . Подскажи какой литературы можно быстро начитаться и к чему готовиться.
>> No.40422 Reply
File: vararr.png
Png, 53.69 KB, 1283×1004 - Click the image to expand
edit Find source with google Find source with iqdb
vararr.png
>>40396
Неспешный кодач, вопрос задали 4 дня назад, а до сих пор никто не ответил. Хотя может оно всегда так, я тут первый раз, лол.
> Вернее, объявлять-то можно, но что при этом происходит?
Стекфрейм отматывается на размер массива переменной длины. Для падробнасте - смотри скрин.
Вообще массивы переменной длины это оче плохо. Но ради чисто теоретического интереса рассмотреть можно.
>> No.40425 Reply
>>40422
Почему плохо? Если ты представляешь и проверяешь максимальную длину, и она не превышает, скажем, несколько кб, то это очень, очень хорошо по сравнению с malloc.
>> No.40436 Reply
>>40425
Лучше следовать стандартам вроде MISRA-C:2004 всё-таки.

Лично я всегда объявлял массивы так:
INT Array[SIZE_OF_ROW] = {0}; И структуры так же. А строки - так:
CHAR Title[SIZE_OF_TITLE] = ""; Это быстрее, чем malloc(), но можно выйти за границы массива, что в C не проверяется.
>> No.40443 Reply
>>40436
> MISRA
Читаем 1.1, выбрасываем. MISRA не рассматривает С99, поэтому, конечно же, там нет VLA.
> INT
> CHAR
Не делай так, пожалуйста.
> можно выйти за границы массива, что в C не проверяется
Странное утверждение. Проверяй, на то и C, чтобы не делать ничего лишнего за тебя. Алсо, опять же в новых стандартах, есть отвратительные _s-функции, которые призваны упрощать жизнь.
>> No.40464 Reply
File: -.png
Png, 0.96 KB, 300×20 - Click the image to expand
edit Find source with google Find source with iqdb
-.png
>>40443
Таки я нашёл вот что:
> В С89 размер массива должен быть объявлен с помощью константных выражений...С89 устанавливает фиксированный размер массива не меняющийся в прцессе выполнения программы.Стандарт С99 позволяет использовать в объявлении массива любые выражения в том числе такие значение которых становится извесным только во время выполнения.Объявленный таким образом массив называетс ямассивом переменной длины. Однако переменную длину могут иметь только локальные массивы видимые в блоке или прототипе.
Т.е. если массив небольшой, то можно преспокойно задавать его размер в ходе работы программы (в блоке или функции но... main ведь тоже функция)и размещать его в стеке.

Правда, я могу ошибаться.
>>40396
>> No.40513 Reply
Хочу запилить небольшой сайтик на хаскель, есть ли что-то подобное LINQ для него?
>> No.40516 Reply
>>40464
Да, это и есть те самые VLA из C99. Да, можно и в main, как и любую другую автоматическую auto переменную. Имей в виду, что во всяком embedded С99, и, соответственно, VLA может и не быть. Но есть еще нестандартная нефункция alloca (она же _alloca в более правильных компиляторах), которая, тем не менее, есть практически везде, где есть стек, и которой тоже можно пользоваться в отсутствие C99, если ты знаешь, что делаешь.
>> No.40555 Reply
>>40425
Потому что для безопасности плохо. Я же привёл дизасм в >>40422, смотри внимательнее - стек откручивается на значение твоей переменной без каких-либо проверок. Соответственно, если атакующий сможет пристроить твоей переменной отрицательное значение, то стек отмотается в другую сторону.
Со стеком вообще аккуратно нужно.
>> No.40565 Reply
>>40555
> Я же привёл дизасм
Я байтоёб и, конечно же, знаю, как это работает. Например, на винде при отрицательном размере ничего никуда не отмотается - там будет банальный stack overflow, потому что компилятор в том числе и GCC, не зная на этапе компиляции, превысит ли размер буфера размер страницы, воткнёт __chkstk (отодвигает guard page на стеке). А так как размер VLA считается unsigned компилятор имеет право так считать, потому что стандарт требует, чтобы выражение, определяющее размер VLA, имело положительное значение, размер буфера будет превышать размер стека. __chkstk, тыкая страницу за страницей, рано или поздно обязательно докрутит до конца стека, guard page отодвигать будет некуда и... БАМ.
> без каких-либо проверок
Если не проверять внешние данные, атакующий сможет сделать много интересных вещей вне зависимости от того, где выделен буфер и есть ли вообще какой-нибудь буфер. К тому же, использовать знаковый тип вместо size_t для размеров и количества - идиотизм. А вот максимальный размер при выделении буфера на стеке проверять нужно обязательно, потому что если стека не хватит, будет UB.
> для безопасности плохо
Для безопасности плохо не думать при написании кода. Проверять вообще нужно всё и всегда.
>> No.40605 Reply
File: Screenshot_5.png
Png, 9.35 KB, 1274×93
edit Find source with google Find source with iqdb
Screenshot_5.png
File: Screenshot_6.png
Png, 8.32 KB, 1279×93
edit Find source with google Find source with iqdb
Screenshot_6.png

Похоже, это самый живой из подходящих тредов.
Пилю для себя сайт с логином и прочими свистоперделками. Необходимо элементы навигации поставить на самый верх и разнести некоторые по двум сторонам. Есть форма для логина. После логина элемент заменяется приветствием и парой ссылок. Проблема в том, что форма почему-то прорисовывается на одну строку ниже, чем надо. И проблема именно в том, что это форма - сами по себе элементы выстраиваются как надо. Так вот, вопрос - можно ли как-то сделать "заебись", чтобы форма была в первой строке, но без использования JS и JQuery? Или только с их помощью?
Кусок кода со страницы:
''
<ul>
    	<li><a href="#">Help</a></li>
    	<?php			session_start();			if( empty($_SESSION['email'])){ ?>
      <li><a href="register.php">Sign Up</a></li>
      <!--<li><a href="#login">Log In</a></li>-->
      <div id="login">
      	<form name="form1" method="post" action="checklogin.php" class="pure-form">         
      <li>Username: <input name="myusername" type="text" id="myusername"></li>
      <li>Password: <input name="mypassword" type="password" id="mypassword"></li>
      <li> <input type="submit" name="Submit" value="Login"></li>
    </form>
      </div>
      
      <?php } else { ?>
      <div id='logined'>
      <li>Welcome, <?php echo $_SESSION['name']; ?></li>
      <li><a href="userpage.php">Your Page</a></li>
      <li><a href="logout.php">Log out</a></li>
      </div>
      <?php } ?>         
    </ul>
''
И CSS к нему:
''
.nav li {
   display: inline;
  
}

#login{
   display: inherit;
   float: right;
}

#logined{
   display:inline;
   float: right;
}
''
>> No.40606 Reply
>>40605
В ul/ol не должно быть ничего, кроме li. А у тебя?
c:жми смеха довольно
>> No.40607 Reply
>>40605
Лапша ебаная у тебя, а не код.
>> No.40608 Reply
>>40606
> А у тебя?
А у меня динамика.

>>40607
Я не волшебник, я только учусь.
>> No.40611 Reply
Какие исходники на сишечке можно покурить, чтобы у меня было малаца, хорошо зделали.
Не слишком большое и навороченное.
>> No.40612 Reply
>>40611
SQLite?
>> No.40616 Reply
>>40612
Неплохой вариант, а ты сам смотрел, или наугад?
>> No.40692 Reply
Мне как-то надо проверить контекстно-свободный язык на непустоту, а я не знаю как это сделать.
Т.е. мне надо чтобы пользователь вводил грамматики в stdin а ему потом писало распознает ли язык какие-то цепочки или нет.

Я пробовал строить конечный автомат, и обходить получившийся граф состояний в глубину, т.е. если граф получался связаный, и он в конце концов приходил в состояние останова, то язык непуст ( заодно так я получал бесполезные грамматики, вернее, нетерминалы из которых они выводятся ). Но мне сказали что это не то вообще, а я сырна.

Вот. Есть еще методичка с алгоритмом, но не могу понять как его реализовать.
Никто не сталкивался?
>> No.40914 Reply
File: m0czof4Ui4E.jpg
Jpg, 39.92 KB, 1024×388 - Click the image to expand
edit Find source with google Find source with iqdb
m0czof4Ui4E.jpg
Анон, я изучаю программирование в качестве хобби, поэтому прошу не бить меня ногами за глупый вопрос. В нескольких языках я уже сталкивался с пролемой в ООП, которую сам нагуглить не могу. Смотри, допустим у меня есть класс. Когда я создаю объект и присваиваю его какой-то переменно, всё понятно. А если мне нужно создавать объекты на лету рандомного количества, как мне поступить? Куда гуглить, подскажи. Сейчас пишу на питоне, если это важно.
>> No.40916 Reply
>>40914
Типа динамический список объектов?
>> No.40917 Reply
>>40914
Структуры данных. Простейшая структура - массив. В циклах наполняешь структуру новыми объектами. Странно, что ты дошёл до объектов не прихватив массивы.
>> No.40920 Reply
>>40917
Мне, скорее, мозгов не хватило додуматься. Спасибо, бро.
>> No.41135 Reply
Сап, s. Перевожу текст про android, помогите с переводом:
> Libraries written in C include the surface manager, OpenCore[1] media framework…
Как перевести surface manager?
>> No.41136 Reply
>>41135
менеджер поверхность
>> No.41137 Reply
>>41135
поверхностный менеджер
>> No.41138 Reply
>>41136
>>41137
МАШИННЫЕ ПЕРЕВОДЫ ДЛЯ БОГА МАШИННЫХ ПЕРЕВОДОВ
До меня дошло, что это может быть связано с графикой.
>> No.41139 Reply
>>41138
> Surface Manager (обеспечивает для приложений доступ к 2D/3D)
*ruwiki://Android*
>> No.41418 Reply
Девушка изъявила желание изучать кодинг, причем она умная, я бы сказал. Дал ей кодакадеми. фигарит там мейк вебсайт. мейк адванс веб. думаю что дальше ей дать. питон или js?
>> No.41419 Reply
>>41418
Давай лучше питон. Хоть какой-то намек будет.
>> No.41420 Reply
File: 1339683953229.png
Png, 0.85 KB, 300×20 - Click the image to expand
edit Find source with google Find source with iqdb
1339683953229.png
>> No.41421 Reply
>>41418
Наверное, питон. теперь всё по традициям
>> No.41423 Reply
>>41418
Питон же. Однажды сможешь сказать ей с серьезной миной: "А вы не хотите со мной мой питон поизучать?"
>> No.41424 Reply
>>41421
>>41419
>>41419
Постараюсь, правда я не шарю в питоне и не знаю зачем он нужен, лол.
>> No.41425 Reply
>>41424
Тогда точно не надо. Какой смысл учить тому, чего не знаешь?
>> No.41426 Reply
>>41425
Чтобы учиться вместе! Это намного интересней, чем растолковывать кому-то то, что уже знаешь.

мимо
>> No.41831 Reply
>>28288
Здравствуйте. Хочу выучиться на кодера. ВО нет и получать не собираюсь. Знание английского есть, развить лучше могу, думаю изучать на нем могу, математика также на еще незабытом уровне и могу развить. Однако все равно кодинг то нужно изучить с нуля, в каком порядке это лучше делать? С чего начать? Сколько в среднем времени нужно для достижения различных уровней знания, изучения различных языков?
>> No.41832 Reply
File: ZRaT7sranJo.jpg
Jpg, 120.90 KB, 1024×768 - Click the image to expand
edit Find source with google Find source with iqdb
ZRaT7sranJo.jpg
>>41831
Выучить что-то можно только на практике.
Сначала определись с целью. "Кодер" понятие растяжимое. Ты хочешь кодить для веба? Бекенд/фронтенд? Или ты хочешь писать прикладные программы под винду/никсы? В зависимости от цели выбираешь язык и мануалы, которые тебе для этого понадобятся.
>> No.41833 Reply
>>41832
Это я понял(касательно направления и как там действовать). Но есть некая самая самая база, терминология например.
>> No.41834 Reply
>>41832
> Выучить что-то можно только на практике.
Не слушай этого. Напрактикой будешь один говно-код писать. Необходимо омыться живительными лучами мантр ООП хотя бы сначала. И про основные структуры и алгоритмы данных узнать. И про реляционные БД основную терию хотя бы. Сначала почти любая простая книжка, где написано, что такое переменная, ифы, циклы, просте6йшие программы 2+2. Дальше что-нибудь с хорошим обзором именно ООП непосредственно. Потом что-то по SQL. И что-то по основным структурам и оценкам их производительности через О() данных нужно. Дальше уже сам разберёшься. Новый язык можно быстро выучить, долго учатся методологии и принципы.
>> No.41835 Reply
>>41833
Ну, можешь про парадигмы почитать. Но сомневаюсь, что насухую это как-то воспримется. Чем заниматься то хочешь?
>> No.41836 Reply
>> No.41837 Reply
>>41834
> Не слушай этого
> что такое переменная, ифы, циклы, просте6йшие программы 2+2
И это несомненно он всё воспримет чисто визуально и даже не притронется к коду, да? Прочитал такой кучу книжек, а потом сел и сразу матрицу написал, и без говнокода? Анта бака?
>> No.41838 Reply
>>41835
> Чем заниматься то хочешь?
Все цели, что перечислены в >>41832, исключений нет.
>> No.41839 Reply
>>41838
Охохо. Обычно с чего-то одного начинают и уже на этом познают основы программирования. Ну ты хоть ближайшую цель выбери. А то я скажу идти учить HTML, а ты поплюёшься месяц, а потом бросишь, так и не познав нормального кодинга.
>> No.41840 Reply
>>41837
Прочёл - написал - закрепил - возвращаешься к пункту один. С твоей формулировкой он пойдёт к руководствам аля "пхп на примерах", будет копировать оттуда код и править его. Когда понадобиться запрограммировать что-то другое, нагуглит по задаче ещё примеров, скопирует и будет опять править. Потом получится глючная, неизвестно как работающая кастрюля лапши и он просто решит, что ничего не выходит ни смотря на практику, т.к. "кодинг - это не его". А про ООП будет думать, что это просто такой Буддизм для сумасшедших монахов от кодинга, который в реале не нужен.
>> No.41841 Reply
>>41840
Но ведь ООП это хуета, которая в реалье не нужна.
>> No.41842 Reply
>>41840
> С твоей формулировкой он пойдёт к руководствам аля "пхп на примерах"
Ты меня не так понял же.
А может я просто засычевался, что мысль передавать разучился.
>> No.41843 Reply
>>41839
>>41840
Спасибо за ответы.
> Ну ты хоть ближайшую цель выбери.
Ок. Прикладные под винду.
>> No.41844 Reply
>>41843
Я бы учил С++. Среду разработки и компилятор тебе подскажут в соответствующем треде. Там же и книги найдешь. Сначала освоишь базовые понятия, стандартную библиотеку, потом винапи. Ну а дальше сам разберешься.
>> No.41846 Reply
>>41844
И сколько это займет, если я не идиот, но и не гений?
>> No.41847 Reply
>>41844
По крестам можно брать сначала K&R какой-нибудь для этих самых ифов, циклов и переменных, а потом Страуструпа. Там и ООП, и сами кресты, и основные структуры данных в виде приимеров из STL, и в 4-м издании даже какая-то доза ФП с колбэками в С++11. Сплошные профиты, много зайцев одним выстрелом. Но Страуструп толстый и тяжёлый. И под винду возможно лучше джаву или C#
>> No.41848 Reply
>>41846
Кресты? Года два-три до вменяемого уровня.
>> No.41849 Reply
>>41848
> Года два-три
Очень много. Пол-года-год, если не тупить.
>> No.41850 Reply
>>41849
Мы правда говорим о крестах? Один из самых сложных ЯП как никак.
>> No.41851 Reply
>>41850
Болшая часть изучения идёт только на ООП и структуры данных и на самое программирование. Сам язык выучить за месяц от силы можно. Даже кресты. Пхп - и за день.
>> No.41852 Reply
Лол, спорите полтреда, а анон забросит через неделю.
Пусть учит питон и не выебывается, потом можно перекатиться на что-то другое.
>> No.41853 Reply
>>41851
Ты слишком оптимистичен. Серьёзно.
>> No.41855 Reply
>>41851
И еще 5 лет собирать грабли, пока все не соберешь.
>> No.41856 Reply
Спасибо еще раз всем за ответы, этот анон >>41852 хорошо суммировал про вероятную туманность успехов.
Я зря, наверно, ранее мало сказал про мотивацию, просто тут, все-таки, тематический раздел. Я собираюсь изучать, в первую очередь, как хобби, когда же я сказал "выучиться" имелось ввиду, что хочу реально, полноценно, качественно разбираться, потому и ответил >>41839, что хочу все. Зачем себя ограничивать, если интересно? Меня давно так ничто не заинтересовывало, просто меня "испугало" разнообразие, и сразу возник вопрос "А где начало то?" - вот и обратился к Доброняшам. Про время, это я, видимо, из спортивного интереса спросил. Я всегда что-либо изучал, но сейчас израсходовал интерес во всем, что изучал до этого, а по основной деятельности нет ни возможности ни желания к совершенствованию, там все это целенаправленно убили, но время и силы то есть, а мое, в последнее время, тупое времяпровождение неприятно убивает мозг, вот и начал искать. Сомневаюсь, что когда-либо из этого выйдет заработок более чем дополнительный.
>> No.41857 Reply
>>41856
Тогда попробуй угореть по чистому Си для начала.
http://hyperpolyglot.org/ - смотри какая штука. Попробуй поочерёдно изучить по одному из
  • Interpreted Languages
  • More Interpreted Languages
  • Stack-Oriented Languages
  • Prolog and Erlang
  • Lisp Dialects
  • C++ Style Languages
  • C, Go, and Dart
  • Rust, Swift, Scala
Выучишь по одному из каждой группы - будешь знать большинство парадигм. Лично я бы советовал изучать в таком порядке не претендую на лучший вариант:
  • C
  • Go
  • Erlang
  • JavaScript
  • Rust
  • C++
  • Ruby
  • Python
Можно варьировать. Лучше всего двигаться от новых ЯП в одной группе к старым. И от простых к сложным. И желательно, чтоб каждый новый изученный ЯП был как можно более непохож на предыдущие изученные. Плюс от самих ЯП двигайся в сторону их окружения. Параллельно с этим всем учи теорию, но слишком на неё не надейся.

Почему я рекомендую изучить C вначале? Большинство динамических ЯП вроде того же python написаны на нём. И ты сможешь спокойно изучать их исходники. Старайся просто даже ради интереса рассматривать устройство стандартных библиотек и прочее.

И да. Этот путь для тех кому не работать, а самосовершенствоваться.
>> No.41858 Reply
>>41857
> по одному из
> C, Go, and Dart
Вы это серьёзно, что ли?
Осло, раст всё ещё в разработке, хоть они и перешли в полустабильную стадию.
>> No.41859 Reply
>>41858
Полностью стабильный релиз выйдет примерно к тому времени, как он к нему продвинется. Это раз. Он духовный наследник крестов. Это два. Сначала он увидит то, к чему стремятся и только потом то, от чего хотят уйти.
>> No.41860 Reply
>>41859
Я не против раста, скорее за http://heeris.id.au/2014/if-programming-languages-were-harry-potter-characters/ просто писать на свежевыпеченном языке, не имея никакого опыта, не очень разумно, как по мне.
>> No.41861 Reply
>>41860
Так он и идёт не самым первым. Я ведь не говорил, что освоившись с одним ЯП сразу следует переходить к другому.
>> No.41890 Reply
А с чего начинать учить няшную сишку? Каких книг почитать?
>> No.41891 Reply
>>41857
Я бы добавил еще одну обязательную группу оттуда - ML'ы+хаскель. Паттерн-матчинг, работа с типами, списко-магия дает инсайт как какие-нибудь таблетки: "я понял, как устроен мир", и все в таком духе.
>> No.41892 Reply
>>41890
21st century c
>> No.41894 Reply
>>41891
Lisp dialects же
>> No.41898 Reply
File: 138158392710664.jpg
Jpg, 32.22 KB, 500×376 - Click the image to expand
edit Find source with google Find source with iqdb
138158392710664.jpg
>>41857
> Лично я бы советовал изучать в таком порядке не претендую на лучший вариант:
> C
С K&R начинать? Какое там крайнее издание? Последняя версия стандарта есть?
>> No.41899 Reply
>>41890
Можно начать отсюда http://learnxinyminutes.com/docs/ru-ru/c-ru/ если есть минимальная база и ты уже знаешь немного один или другой ЯП.

>>41898
Цитирую learnXinYminutes:
> Лучше всего найдите копию K&R, aka “The C Programming Language” Это книга написанная создателями Си.
> Но будьте осторожны, она содержит идеи которые больше не считаются хорошими.
Последнего стандарта в ней вроде как нет. Крайнее издание носит номер 2. Остальные издания вроде только ошибки и недочёты исправляют.
Ещё можно обмазаться справочниками вроде http://lord-n.narod.ru/download/books/walla/programming/Spr_po_C/main.htm

Последний стандарт это C11 вроде но он местами черновик. Более или менее актуален C99. Поддержка стандартов последними компейляторами разная. По меньшей мере надо знать, что существуют gcc, clang и тот, что в составе Visual Studio. Про остальные компейляторы можно на досуге читнуть.
>> No.41900 Reply
>>41899
Алсо не стоит забывать про https://github.com/bayandin/awesome-awesomeness
>> No.41904 Reply
File: 8d55e9d4e4a6e9fa8...
Jpg, 61.28 KB, 800×973
edit Find source with google Find source with iqdb
8d55e9d4e4a6e9fa80829ee65c888e45.jpg
File: -.pdf
Pdf, 2.33 KB, 595×842
-.pdf

>>41899
> Крайнее издание носит номер 2
Откопал третье издание, но что-то мне кажется, что это просто другой перевод.
> > Но будьте осторожны, она содержит идеи которые больше не считаются хорошими.
Чего конкретно стоит опасаться?
>> No.41905 Reply
>>41894
Одну и ту же функцию, которую на лиспах я, например, пишу рекурсией, на хаскелле я скорее всего запихну в списковое включение - ты в этих языках думаешь совершенно по-разному, хоть большую часть задач, по идее, можно решить одинаково.
>> No.41916 Reply
>> No.42010 Reply
Есть задача схоронить несколько миллионов html страничек для последующего анализа.
И я подумал, что неплохо бы вместо засирания файлами их гзипить и пихать в какое-то key-value хранилище. Взлетит? Что для этого подойдет?
>> No.42011 Reply
>>42010
Попробуй redis для начала, он достаточно прост.
>> No.42012 Reply
>>42011
Он же вроде в памяти торчит и не умеет сливать на диск, не?
>> No.42014 Reply
>>42012
Если чисто дисковое чтоб было, то sqlite.
>> No.42015 Reply
>>42014
Она же реляционная, пихать туда кучу блобов и потом выбирать записи. Не взлетит, мне кажется. Надо именно key-value.
Так что жду знатоков. Потом попробую ещё по рандому разные пощупать.
>> No.42016 Reply
>>42012
Не, только в памяти - мемкешед. А редиска умеет в персистентность.

>>42014
> sqlite
Для миллиона блобов? Имхо не айс.

Из key-value посмотри еще berkeley db и kyoto cabinet. Они прямо к приложению библиотекой цепляются, и ничего по сети гонять не будут.
>> No.42017 Reply
>>42015
> реляционная
А это здесь, имхо, совершенно не при делах. key-value кажутся быстрее не столько из-за нереляционности, сколько из-за потери каких-нибудь компонентов ACID: или на диск вообще писать не умеют, или теряют большие куски данных при отключении света, или транзакции неполноценные и т.п. На самом деле, на нижнем уровне всех реляционок лежит те самые key-value хранилища, на основе которых запиливают таблицы (key=PK value=запись) и индексы (key=какая-то функция от записи value=PK). И если ты оценил риск, то меняешь пару-тройку строчек в конфиге, и тот же постгрес начинает работать на скорости редиски...
>> No.42018 Reply
>>42017
Я думаю, тут даже сама структура файла бд влияет.
Всё-таки цели у них разные, так что лучше взять изначально заточенный под такой стиль хранения вариант.
>> No.42019 Reply
>>42010
Главный вопрос: задача одноразовая или многоразовая? Алсо какой ЯП.
Вообще, чем файлы неугодили то? Reiser в качестве файловой системы или типа того и всё.
>>42017
Журналирование это. Либо скорость, либо надёжность.
>> No.42020 Reply
>>42010
Если файлы не будешь удалять и менять, то есть еще такой вариант - сваливаешь все эти блобы в конец одного огромного файла, а оффсеты и размеры записываешь в другой файл или базу.
>> No.42021 Reply
>>42019
Одноразовая. Один раз собрать, потом только чтение.
Файлы не нужны, потому что засер самой фс, займет больше места, да ещё придется городить огород из вложенных директорий по n файлов, а то если все в одну писать, то потом просядет в говно при чтении.
Зачем вечь этот геморрой, если можно в один файл красиво запихнуть.

>>42020
Вот это неплохой вариант, хотя придется ещё добавить костылей, а то качаться будет в много потоков. Ну и опыт с базами пригодится.
>> No.42022 Reply
>>42021
> Вот это неплохой вариант, хотя придется ещё добавить костылей, а то качаться будет в много потоков. Ну и опыт с базами пригодится.
Это ведь и есть key-value по сути.
> качаться будет в много потоков
Много потоков, но процесс один? Тогда рассмотри любую либу key-value, которая не через сеть хотя там оверхеда почти нет на самом деле. Это ведь localhost же. Тогда сеть стоит примерно столько, сколько стоят файлы..
Так тебе не придётся эту самую обвязку писать самому и сразу будут оптимизации в комплекте.

На коком ЯП парсишь то? Можешь сам поискать по своему ЯП вот тут https://github.com/bayandin/awesome-awesomeness
>> No.42023 Reply
>>42022
На питоне или перле, очевидно.
Буду курить варианты на выходных.
>> No.42024 Reply
>> No.42025 Reply
File: callot_03.jpg
Jpg, 337.91 KB, 1475×1000 - Click the image to expand
edit Find source with google Find source with iqdb
callot_03.jpg
>>28288
Глупому офисному планктону требуется ваша помощь. Есть один массив данных, разбитый на три десятка файлов формата csv, требуется посчитать сумму значений одного столбца во всех файлах. Как это сделать наиболее быстро? Кроме Excel в наличии есть MS SQL Server, но я не очень в нем силен. Знаю можно написать запрос, но для этого ведь надо импортировать все эти файлы по одному? Есть какая-то массовая загрузка и сведение в одно однотипных данных?
>> No.42026 Reply
>>42025
copy *.csv all.csv
>> No.42027 Reply
>>42026
Не факт, что там линух.
>> No.42028 Reply
>>42027
Это как раз для шиндовс. В линупсе делается через cat >> file
>> No.42029 Reply
>>42027
А это разве не виндовая команда?
мимолинуксоид
>> No.42032 Reply
>>42028
>>42029
лол, извините.
>> No.42033 Reply
File: 1054d91b52f5.jpg
Jpg, 182.64 KB, 800×665 - Click the image to expand
edit Find source with google Find source with iqdb
1054d91b52f5.jpg
>>42026
Добра вам! Вы мне в перспективе сэкономили много времени. Волшебство, натуральное волшебство! Даже не подозревал для чего нужна командная строка. Надо будет почитать на досуге.
>> No.42052 Reply
>>42033
Если файлы в разных форматах, то не помогла бы комстрока. На этот случай, у электронной таблицы есть встроенный ЯП, у экзеля это Бейсик, и с его помощью надо будет получить список файлов в каталоге, а затем читать их по одному и заполнять ячейки таблицы. И уже в таблице считать суммы и строить графики.
Сие извращение было обычным делом до появления баз данных, и я тоже такое пейсал.
>> No.42279 Reply
Здравствуй, дорогой анон.
Есть у меня просьба.
Препод спрашивает, как определить доступное для распределения количество динамической памяти (Turbo Pascal). Я говорил уже про функции memavail и maxavail, также говорил про максимальный размер выделяемого блока в 65521 байт. Только кажется, от меня хотят чего-то другого.
Можешь что-нибудь сказать по этой теме?
>> No.42280 Reply
File: pointer-4-638.jpg
Jpg, 76.04 KB, 638×479 - Click the image to expand
edit Find source with google Find source with iqdb
pointer-4-638.jpg
>>42279
Тебе нужен размер кучи, т.е. «heap size».
Куча — это список, где лежат данные, обычно двусвязный список.
>> No.42281 Reply
>>42280
> Куча — обычно двусвязный список
Но ведь по идее куча - это куча. Иначе, зачем она так называется?
>> No.42282 Reply
>>42281
Ну да, как назвали, так и назвали.
Там внутри поддерживаются ссылки между соседними элементами, или ссылки на следующий элемент, поэтому внутри она список.
Здесь: http://www.templetons.com/brad/alice/language/language8.html есть несколько функций, жми Ctrl+F и смотри MaxAvail.
>> No.42283 Reply
>>42282
Реализация кучи - вообще дело десятое. Она и деревом может быть.
>> No.42292 Reply
Аноны, ищу годный мануал по фортрану. Посоветуйте какой-нибудь.
>> No.42293 Reply
>>42283
Куча - это и есть дерево же.
>> No.42294 Reply
>>42282
Хм, я был не прав. Оказывается куча в памяти не куча в смысле структуры данных вовсе. Дурацкое совпадение названий какое-то. Возможно динамическая память была когда-то реализована в виде кучи, но и это не факт.
>> No.42297 Reply
>>42293
В безумных статьях где-то в Педивикии (hoard allocator и тому подобное).
А в книгах Таненбаума по-другому.
>> No.42299 Reply
>>42297
Я про структуру данных. Уже написал выше, что путаю.
>> No.42303 Reply
Куча это ведь просто часть памяти, которая выделена после загрузки программы, но не находящаяся на стеке. Разве нет?
Что-то с вызовом sbrk или mmap в винде VirtualAlloc кажется. Например malloc или new в няшном и крестах соответственно.

Разумеется те же malloc/free можно по разному запилить.
>> No.42427 Reply
Всем доброго времени суток. Подскажите, с чего начать изучение языка программирования "K" (того, что потомок APL)? После долгих и упорных поисков мне не удалось найти даже интерпретатор/компилятор языка. Неужели поле его существования ограничивается сугубо базами данных?
>> No.42428 Reply
>> No.42431 Reply
>>42427
Он же ещё и проприетарный. Насчёт свободной реализации см. https://github.com/kevinlawler/kona
А вообще, почему бы не взять J?
>> No.42480 Reply
Здравствуйте.
Не знаю, куда писать. Работал ли кто-нибудь с WT-NMP? Как в нем включить SQLite?
>> No.42481 Reply
>>42480
Гугл говорит, что это какая-то сборочка типа лампа.
У самого скулайта нет сервера, так что тебе нужен костыль для пхп, штоле?
>> No.42482 Reply
>>42481
Во-первых, прошу прощения, не вдавался в подробности, про что тред, думал, реквесты разных вопросов, вот.
А во-вторых, суть в том, что я скачал RSS-ридер Miniflux, который, при запуске, жалуется на расширение PHP:
PHP extension required: pdo_sqlite
При этом в ini он прописан, поэтому не понимаю, в чем дело.
Гугл давал ответы в основном про линуксоподобные системы, а про винду – только ini править.
>> No.42484 Reply
>>42482
В обычном случае нужно установить саму программу sqlite, затем экстеншн, через который пхп будет работать с sqlite, а потом уже как-то прописать экстеншн в ини. Такие экстеншены в пхп ставятся через пакетный менеджер под названием pear, сами экстеншены вроде называются pecl по идее. Тебе надо гуглить, как в твоей приблуде вообще ставятся эти экстеншены и поставить его. Если сама приблуда твоя не ставит сама SQLite, то ещё и его установить. И учитывая, что это винда, не удивлюсь, если придётся им друг другу прописывать куда-то пути какие-то. Вангую, что накатить убунту проще будет.
>> No.42485 Reply
>>42482
> При этом в ini он прописан, поэтому не понимаю, в чем дело.
Он может быть закоментирован через ; в начале строки, проверь.

>>42484
> В обычном случае нужно установить саму программу sqlite
Это просто официальный соснольный клиент, а для каждого ЯП всё реализовано в либах без зависимостей, в этом и фича, тащемта.
>> No.42490 Reply
>>42485
> Это просто официальный соснольный клиент, а для каждого ЯП всё реализовано в либах без зависимостей, в этом и фича, тащемта.
Ясно, никогда не разбирался с ним. Тогда, возможно, установить экстеншн и прописть, или просто прописать.
>> No.42529 Reply
Здравствуй, программач. Пишу игру на си++openGl. Инициализация GL происходит в main, а объекты на начальном этапе рисовались в соседних функциях. Но по мере разрастания кода появилась необходимость рисования завернуть в класс. Теперь имеется следующее:
main.cpp:

[code]
#include <OpenGl хеадеры>
#include "Render.h" //класс с методами, содержащими glBegin(); glEnd();

Render render;

void display ( void )
{
   render.drawLine();
}

int main()
{
   инициализация GL;
   render = Render();
   ...
}
[/code]

Компилятор выдает на glФункции "not declared". Это как-то можно поправить легким движением руки или я совершил какую-то глупость?
>> No.42538 Reply
>>42529
Начни с глобальных переменных. XXI век на дворе, а у вас всё Фортран-77.
>> No.42547 Reply
>>42538
Так и поступлю. А пока легким движением вернул все как было. И без того уйма нерешенных вопросов.
> XXI век на дворе, а у вас всё Фортран-77.
Фортран еще фонтан. Мне же только спрайты выводить целей для.
>> No.42551 Reply
>>42538
Ну заменит он его на синглтон, невелика разница.
>> No.42552 Reply
File: 1312074075398.jpg
Jpg, 14.80 KB, 266×263 - Click the image to expand
edit Find source with google Find source with iqdb
1312074075398.jpg
>>42529
А в render.h подключены OpenGL хидеры?
Если да, то зачем они еще раз подключены здесь?
>> No.42554 Reply
>>42529
> #include "Render.h" //класс с методами, содержащими glBegin(); glEnd();
> > glBegin(); glEnd();
Кроме глобальных переменных, тебе еще нужно перестать использовать deprecated функционал.
>> No.42560 Reply
>>42552
Хидеры OpenGl только в main.cpp. В рендере если их подключать, много жутких ошибок появляется. И сверх того, компилятор может внезапно ругаться на просто подключенный файл с функциями. Темная история. Сейчас восстановил работоспособность, пусть пока так. Главное основные алгоритмы проработать, оптимизацией потомникогда займусь.
>>42554
> перестать использовать deprecated функционал.
Но почему? Нужны ли мне шейдеры, или как их там, если необходимо лишь рисовать линии и текстурированные квадраты?
>> No.42561 Reply
>>42560
Может я дурак, но как render видит функции OpenGL, если в к нему ты не подключил OpenGL'шные хидеры?
Просто если
> Компилятор выдает на glФункции "not declared"
то видимо не подключен\не виден заголовочный файл с этими самыми функциями.
воннаби_C++_программер
>> No.42563 Reply
>>42561
> как render видит функции OpenGL
Не видит же. Потому и спросил, каким волшебным образом можно это дело исправить не перекраивая всю структуру программы. Но >>42538 -кун наставил на путь истинный.
>> No.42583 Reply
File: 6534886061[1].jpg
Jpg, 47.56 KB, 600×463 - Click the image to expand
edit Find source with google Find source with iqdb
6534886061[1].jpg
>>42560
> Нужны ли мне шейдеры
Насколько я помню там дело не только в шейдерах.
Там вроде больше работы на видеокарту перекладывается.
Эти ваши glBegin и glEnd с другой доброй кучей вызовов "нарисуй точку" грузят ЦПУ.
А так запихнул массив добра в видеокарту, и пошел поехал конвейер отрисовки этого добра.

С другой стороны там много "лишних" действий(загрузка шейдеров, VBO, итп) нужно сделать для банальной отрисовки в 2D.
И может это действительно не нужно в данном случае, и мне забили голову тем, что deprecated OpenGL это плохо. Призываю OpenGL-няшку, чтобы пояснил мне по хардкору про 2D.
>> No.42590 Reply
>>42583
> чтобы пояснил мне по хардкору про 2D
> 2D
Просто используй Love2D.
>> No.42651 Reply
>> No.43776 Reply
File: Безымянный.jpg
Jpg, 71.09 KB, 457×565 - Click the image to expand
edit Find source with google Find source with iqdb
Безымянный.jpg
Есть график, нужно вычислить значения по графику. Через что мне это сделать? Почему ВОТ-ЭТО НЕ РАБОТАЕТ?
>> No.43997 Reply
Есть такая ересь https://gist.github.com/anonymous/a3ec263f3d0f7cb89f0e, нужно решение на C
>> No.46822 Reply
Дорогой Доброкодер, была таблица эксель с паролем. Соответствующим генератором нашел пароль. 111000011101110. Теперь как найти "нормальный" вид этого пароля? Наверняка это какие-то простые числа, типа года рождения.
>> No.47813 Reply
File: 14167313502960.jpg
Jpg, 765.27 KB, 1400×1980 - Click the image to expand
edit Find source with google Find source with iqdb
14167313502960.jpg
Анон, ищется годный учебник по turbo pascal. Где реально идет процесс обучения как в sicp, например. От простого к сложному, с заданиями и т.д. Молю. Все что гуглится либо очень уж сомнительного содержания, либо это справочник, с громким названием "учебник".
>> No.48371 Reply
File: 55fc54ada6fc.png
Png, 11.49 KB, 70×78 - Click the image to expand
edit Find source with google Find source with iqdb
55fc54ada6fc.png
Анон, а можно ли написать скрипт (и на каком ЯП PHP или JS), чтоб он при загрузке изображения на сайт, сразу же накладывал поверх этого изображения ватермарку (она будет заготовлена заранее и ее не надо будет загружать вместе с изображением каждый раз)?
>> No.49066 Reply
Анон, посоветуй учебник по C# для нубья с тремя классами Delphi и самоученным PHP за плечами?


Password:

[ /tv/ /rf/ /vg/ /a/ /b/ /u/ /bo/ /fur/ /to/ /dt/ /cp/ /oe/ /bg/ /ve/ /r/ /mad/ /d/ /mu/ /cr/ /di/ /sw/ /hr/ /wh/ /lor/ /s/ /hau/ /slow/ /gf/ /vn/ /w/ /ma/ /azu/ /wn/ ] [ Main | Settings | Bookmarks | Music Player ]