Как научиться программированию?В интернете есть 1000 и 1 курс, учебник, видео и все они по сути учат тебя самым банальным основам: переменные, функции, циклы, условия, массивы.Чуть поменьше видео, но тоже много уже про ООП. Видео поменьше чуть, а вот качество уже заметно ниже.А дальше пустота. Вот в итоге и сосу хуи. Бывает гуглю какое-нибудь готовое решение, смотрю код и АХУЕВАЮ. Ни черта не понятно. Какие-то методы с 5 операторами через точку, какие-то параметры, которые первый раз в жизни видишь. И как учиться-то? Сейчас конкретно на C# учусь.
>>162942905 (OP)Найди себе прикладную задачу и попробуй запилить, хоть даже ебаный калькулятор. Охуеешь от количества практики
>>162943370И как мне это поможет? Я буду часами и сотнями строчек ебаться, а потом полезу в гугл и там все делается каким-нибудь методом в 6 точек.
>>162943726А так оно и делается, ёба.Даже в универах программистов больше учат именно программированию, а не конкретному языку. Предполагается, что хорошему программисту язык не важен, он умеет гуглить и читать SO, и разберётся в новом для себя языке за минимальное время.А ты к тому же на додиезе делаешь, один из самых простых языков. Стыдно жаловаться.
>>162942905 (OP)а что дальше то ты хочешь? основы, ооп - всё, программирование кончилось, дальше начинаются танцы с бубнами вокруг этих столпов, а-ля фреймворки, вспомагательные инструменты.
>>162944552ну и как учиться этим фреймворкам и библиотекам?
>>162942905 (OP)Анончики! По случаю, допомжите решить данный пример на симрешетке.Как найти второй отрицательный элемент? И как поменять их в массиве местами?
>>162944621открываешь вакансии, смотришь какие фреймворки требуют - открываешь гугел, и идешь нахуй учиться
metanit.com1. Заходишь, выбираешь C#. 2. Смотришь основные конструкции. 3. Затем идёшь на тытруб. 4. Там смотришь видосы про ООП. 5. Возвращаешься на метанит. 6. Там читаешь про ООП в C#.7. Профит и ты знаешь язык. Дальше только разбираться со стандартными библиотеками, но это только на практике
>>162944914ДАй бог здоровья АНОН!
>>162942905 (OP)Очевидно, раз есть желание зарабатывать программированием, то надо выучить банальные основы и катиться на какой-нибудь гитхаб, изучать реальный код, пытаться что-то исправить или допилить. Дареных коней без собеседования на работу принимают.
>>162945180Может тебе почту скинуть если вопросы будут?
>>1629447931.цикл foreach2. обмен данными с введением временной третьей переменной
>>162945427было бы не плохо. Я шарпист если что
>>162945472eriksongerson@yandex.ruЯ джавист, но шарп знаю на довольно высоком уровне
>>162942905 (OP)нахуя учиться такому унылому говну?
>>162946027Тогда чему, по твоему стоит учиться?ассемблеру? крестам?
>>162945434А как найти второй отрицательный элемент?
>>162945620Друг, помоги освоить data grid viewв стандартных формах виндоуз.можно как-то убрать этот столбик, что по умолчанию там есть?
Просто берёшь и программируешь. Суть в том, что ты должен программировать 24/7. Создавать парсеры, боты на Питоне, обращаться к гуглу если ничего не понимаешь. Гуглить надо будет постоянно, причём, в основном на английском. После чего ты поймёшь что это нахуй тебе не надо, и ниша забита.
>>162943726Во-первых примерно так работа и работается, лол. Во-вторых это даст понимание того на что похожа разработка изнутри. Сейчас читая литературу или смотря видосы ты видишь кучу непонятной хуеты, которая с твоей точки зрения совершенно оторвана от контекста и хуй пойми как, где и зачем её применять. Классы, интерфейсы, переменные, хуе-мое. Этот самый калькулятор даст тебе __контекст__, понимание нахуя оно все в принципе нужно
>>162946403Там есть свойствочто-то типа headerColumn - это не точное название свойстваСтавишь его на false/invisible/none - не помню точноИ всё скроется
>>162946403Осваивай WPF лучше, формы уже давно не юзаются
>>162946653Пускай сначала формы освоит. А там уже можно будет и более продвинутые штуки юзать
>>162942905 (OP)Совсем необязательно учить все подряд, чтобы запилить что-то свое. Скачиваешь каркас приложения/пример из документации, немного модифицируешь, дальше уже дорабатываешь напильником.
>>162945472циклом проверяешь массив вводишь счетчикпрограмма видит первый отрицательный элемент массива, прибавляет к счетчику +1, далее видит второй отрицательный элемент счетчик увеличивается на 1, если счетчик равен 2 присвоить найденному массиву необходимое значениеесли не понятно напишиЗ.Ы Какой класс задача?
>>162946571>dataGridView1.ColumnHeadersVisible = false;Так что ли? Но ведь скроются все заголовки столбцов. А мне же надо только пустой.
>>162947439>З.Ы Какой класс задача?Что за класс?
>>162947439ты тут будешь? Отойду на 15 минуток.
>>162947569ищи свойство наподобие multiselect
>>162947655https://vk.com/danielvs в лс пишину школьная задачка не?
>>162942905 (OP)>о сути учат тебя самым банальным основам: переменные, функции, циклы, условия, массивыумному достаточно
>>162944070Что такое SO?
>>162947709Я ошибся. Мультиселект идёт лесом. Мне придётся студию устанавливать, чтобы тебе назвать конкретное свойство. Я попробую нагуглить, не уходи, анон
>>162946205Счетчик сделай и выходи из цикла на втром найденом отрицательном элементе, сохраняй позицию значение и все что хочешь в переменные.
>>162947569Анон, я нагуглилRowHeaderVisible ставь фолсом. И открою тебе тайну, что можно прямо в графическом конструкторе настраивать свойства, а не прямо в коде. Чтобы вызвать панель свойств1. нажми на элемент2. ПКМ3. Свойства/Properties
>>162948827Шикарно. Спасибо!
>>162943726А как ты ребенком учился чему то, ОП? Брал и копировал, ёба! Короче начинай с практики, теория придёт позже.
А как вывести массив в датагридвью?
>>162942905 (OP)Потроши программы
>>162942905 (OP)> Как научиться программированию?http://whitesoft.ddns.net/files/anon0357/%d0%9f%d1%80%d0%be%d0%b3%d1%80%d0%b0%d0%bc%d0%bc%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d0%b5/
>>162947655Анон ты тут?
>>162951590смотря кто тебе нужен.
>>162951850анон, который задачу решает с массивами
>>162951322Придётся немного поэбаться с циклами и методами нижележащего дерьмаА так используй dataGridView.currentRow / dataGridView.currentRow Как говорил наш препод: "Гугли"
>>162952204Тот который просит помочь или тот который помогает? Если тот кто просит помочь, то я тут.
>>162952723Edit: Сначала попробуй выводить одиночные переменные и только потом выводи массив
>>162952723>А так используй dataGridView.currentRow / dataGridView.currentRow Как это понимать? Что-то первый раз такое вижу.
>>162952893Я снова ошибся.Нагуглив, нашёл:for(i = 0; i < N; ++i) for(j = 0; j < M; ++j) dataGridView1.Rows.Cells[j].Value = mas[i, j];
>>162953138Только убери все "\t"
>>162952843я почти дорешал твою задачу, ну как мне кажется
>>162953187Я тоже нагуглил вариант. dataGridView1.RowCount = array1.Length; for (int i = 0; i < 50; i++) { dataGridView1.Rows.Cells[0].Value = array1; }
>>162953318на чем сейчас остановился?
>>162953577Попробуй оба. Но с двумя массивами вариант выглядит увереннее
>>162953138Это для двумерного массива.
>>162953665Как с двумя? Там же двумерный массив выводят. У меня одномерный.
>>162953705Да, ты прав
>>162952843using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ConsoleApp1{ class MainClass { public static void Main(string[] args) { int Min = 0; int i = 0; Random rand = new Random(); int[] anon = new int[50]; for (i = 0; i < anon.Length; i++) { anon = rand.Next(-50, 50); Console.WriteLine("Член под номером "+i +" равен: " +anon); } Min = anon[0]; for (int j = 0; j < anon.Length; j++) { if (Min > anon[j]) { Min = anon[j]; } } Console.WriteLine("Минимальное значение" +Min); Swap(anon, Min); } public static void Swap(int[] anon, int Min) { int j = 0; int Count = 0; for (j = 0; j < anon.Length; j++) { if (anon[j] < 0) { Count++; } if (Count == 2) { break; } } int temp = anon[j]; anon[j] = Min; Min = temp; } }}Местами меняет, но измененный массив не выводит
>>162953797omg, кто-то пишет код так?
>>162942905 (OP)Советую дропнуть c# и попробовать scheme(lisp). Ты всё равно не будешь использовать scheme, но зато будешь в последствии смотреть на мир языков программирования гораздно шире. Ну и потом стандартный набор: решай задачи, а не просто читай мануал.
>>162953933Что-то не так?
>>162953987>не будешь использовать schemeВ реальных проектах я имел в виду.
>>162942905 (OP)>Бывает гуглю какое-нибудь готовое решение, смотрю код и АХУЕВАЮ. Ни черта не понятноВот как раз так и надо учиться. Читать чужой код, кропотливо и неспешно разбирать его, запоминать интересные ходы.
>>162952723>Как говорил наш препод: "ГуглиТы спросил какого хуя он пост препода занимает?
>>162953987Писал около года на лиспе, читал основные известные книги по нему. Очень любопытная вещь, но я бы не сказал, что это как-то изменило моё видение программирования. Да, стал писать более функционально, чище и аккуратнее, но большинство "изящных" конструкций функциональщины, та же хвостовая рекурсия, на практике оказываются жуткими монстрами, тормозящими всё.
>>162954138>Вот как раз так и надо учиться. Читать чужой код, кропотливо и неспешно разбирать его, запоминать интересные ходыНа самом деле есть вариант не гуглить поначалу, а самому что-либо писать, опираясь только на документацию. Ясное дело, будет много говнокода, но свои ошибки в памяти сильнее застревают.И уже только написав тот говнокод, гуглить и смотреть варианты оптимизации
>>162953797мне кажется или у тебя ищется не минимальынй, а максимальный?
>>162954272Препод нужен не для того, чтобы он был ходячим справочником по функциям. Он должен учить принципам программирования. В современном мире ДОХУЯ простых вопросов разобраны в интернетах, и этим надо пользоваться. Этим надо учить пользоваться, потому что когда студенты приходят, оказывается, что они не умеют гуглить. Это жизнь, ты обязан уметь находить решения сам.
>>162954348
>>162954329Ну в принципе, если учишься писать на C или С++, можно долго и внимательно читать стандарт, что-то проверяя по мелочи для себя. Это сильно развивает. Ну и задачи.
>>162954272>>162954272>Ты спросил какого хуя он пост препода занимает?На самом деле он дохуя умный, и думает, что я дохуя умный, поэтому он больше времени уделяет всяким долбоёбам, которые не могут "Hello, world" написать
>>162954273>но большинство "изящных" конструкций функциональщины, та же хвостовая рекурсия, на практике оказываются жуткими монстрами, тормозящими всё.квиксорт_на_хаскеле.жпгПочему же не изящно? Тем более интуитивно понятно.>Тормозящими всёВсё = понимание и реальное быстродействие? Для последнего в языке должна быть оптимизация для хвостовой рекурсии.
Программированию долго и даже бесполезно учиться на практике. К примеру, при изучении мною HTML (хоть это и язык разметки), я лишь изучил основы, а дальше практика, пару раз покупал платные курсы. Я не могу сказать, что владею HTML на 10/10, но владею я им неплохо. Точно так же с JavaScript, и много с чем. Так что Антош, практика.
>>162954385А может проще купить диплом вашей ёбаной шараги, где заставляют гуглить и всё? Ахуеть, гуглите блядь.
>>162954451Я про быстродействие. Понимание при должной привычке это не особенно тормозит вроде.Ну если есть оптимизация, ок.
>>162954467И вот нахуй тебе что-то объяснять? Покупай. Мне то похуй.
>>162954500Я всё равно считаю, что лисп как первый язык - ок, ибо там просто дофига различных концепций.
>>162954585Я считаю, что как первый язык лучше будет Гоу
>>162947879stack overflow
>>162954644Go lang? Из-за простоты?
>>162954535>Лол. Такой умный я, и препод тоже умный, он считает меня умным и уделяет внимание на даунов))) которые не могут в хэлоу уорлд)))0Давай посмотрим правде в глаза? Твоему преподу на тебя насрать, ведь он на зп сидит. А гуглить он заставляет потому что ему насрать, ведь он на зп сидит. А тебе насрать, потому что из денег твоих родителей этот препод получает зарплату. Все счастливы. У тебя ЧСВ, у препода зп, а твои родители думают что пиздато инвестировали в чадо.
>>162954714АгаИ из-за широконаправленности. И схожести с С, на который перейти будет проще чем, например, с Паскаля. А там уже и на кресты можно
>>162954786Эй, мистер. Я на 4 курсе технаря работаю по специальности. Меня не обеспечивают родители. Могу дропнуть пруфы
>>162942905 (OP)Отличная иллюстрация к> ВО нинужна, всему можно научиться самому
>>162954936Дропни.
>>162954425А обязательно было через класс поиск второго отрицательного делать?
>>162954385Когда я гуглю, то чувствую себя ущербом, не догадавшимся до "простенькой задачи, хули тут делать)))". Будто это неправильно - чуть что и пиздовать в инет, не разобравшись самому.
>>162955118нет, это моя криворукостьusing System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ConsoleApp1{ class MainClass { public static void Main(string[] args) { int Min = 0; int i = 0; Random rand = new Random(); int[] anon = new int[50]; for (i = 0; i < anon.Length; i++) { anon = rand.Next(-50, 50); Console.WriteLine("Член под номером "+i +" равен: " +anon); } Min = anon[0]; for (int j = 0; j < anon.Length; j++) { if (Min > anon[j]) { Min = anon[j]; } } Console.WriteLine("Минимальное значение равно: " +Min); int Count = 0; for (int f = 0; f < anon.Length; f++) { if (anon[f] < 0) { Count++; } if (Count == 2) { break; } Console.WriteLine("Второй отрицательный элемент равен: " + anon[f]); foreach (int el in anon) { if (el == Min) { int temp = anon[f]; anon[f] = Min; Min = temp; } } } Console.WriteLine("Массив после изменения"); for (int G = 0; G < anon.Length; G++) { Console.WriteLine("Член под номером " + G + " равен: " + anon[G]); } } }}Меняет значения, но криво находит второй отрицательный элемент массива
>>162954786>препод>на зп сидитАхахаххахахаамимопрепод МИФИ
>>162955429>но криво находит второй отрицаДа. Я по другому немного сделал. Но по твоему подобию. int SecNeg = 0; int count = 0; for (int i = 0; i < array1.Length; i++) { if (array1 < 0) count++; if (count == 2) { SecNeg = array1; break; } } textBox2.Text = Convert.ToString(SecNeg);
>>162955429>foreach (int el in anon)>{>if (el == Min)>{>int temp = anon[f];>anon[f] = Min;>Min = temp;>}>}>}>Console.WriteLine("Массив после изменения");Что-то эту часть не понял. Она работает?
>>162955797Не догоняю, как ты исправил, можешь в мой код вставить или слишком не понятно?
>>162956045Местами меняет
>>162955681>не разглашать и защищать сведения, представляющие коммерческую тайну РаботодателяХуя ты долбоёб, лол.
>>162956045 foreach (int el in anon) { if (el == Min) { int temp = anon[f]; anon[f] = el; el = temp; }Вроде так
Ну вы и твари ебаные. Найди себе прикладную задачу и реализуй её. Всегда воспринимал этот СОВЕТ)))) как "ДА БЕЗ ЗАДНЕЙ МЫСЛИ БЕРЕШЬ И ДЕЛАЕШЬ ЧЕ ТЫ))) ПРОСТО ВЫХОДИШЬ ИЗ НЕРЕШАЕМЫХ ПРОБЛЕМ И ВСЕ НОРМ БУДЕТ)))". Тупорылые твари.Оп, ищи друзей в миллиониках, а лучше в ДС и деплой хероку сколько влезет, без какого либо понимания что происходит за кулисами. Спасибо потом еще скажешь
>>162956367пиздос я уже не понимаю ниче
>>162956354На собеседовании это было обговорено. Коммерческая тайна состоит не в том, что я дропнул свой Трудовой договор
>>162955681Я завтра найду твоего работодателя и покажу ему скрины твои, а также посты.
>>162944914Прошел это все, также как и оп сижу нихуя не делаю, иногда почитываю что нибудь по теме.Запилил около 5 микро программок, больше идей нет.
>>162956130У меня переменная есть, куда записывается значение в случае если счетчик будет = 2 и только потом идет break.
>>162956604Ну вот и проверим. Заодно и сдеаноним.
>>162956605Ленивая жопа, да ты хуй помыть без пинка от мамки не можешь.
>>162956384> деплой хероку сколько влезетПросто без задней мысли?)000
>>162956753Хватит бугуртить.
А как правильно надо делать в примере, который тут решается?Изменять первоначальный массив или создавать новый и уже его менять?Вопрос тогда такой: как создать новый массив и заполнить его данными из первого, а потом еще и поменять там значения.
>>162956803цикл{massiv2=massiv1;}
>>162956955massiv2 [ i ] =massiv1 [ i ];Спасибо абу!
>>162957002так, а заменять потом как? переменные min к примеру забиты значениями из первого массива же. Они в нем же и заменятся.
>>162957088А в чем проблема присвоить индексу массива любую переменную ?massiv [ index ] = min ;
>>162957161так, так, так. стоп. Че-то я запутался.Итак. Был массив1. Мы в нем нашли мин и 2 отриц значения. Записали их в переменные А и Б, к примеру.Далее, создаем массив 2, он точно такой как и массив 1.кстати, если не создавать новый, а в старом поменять значения, и вывести его на экран ранее замены, а потом вывести снова, то выведутся разные массивы или нет? и в новом мы пытаемся поменять местами переменные, но там же записаны значения другого массива. Что-то я не понял.
int[] array2 = new int[array1.Length]; for (int i = 0; i < array1.Length; i++) { array2 = array1; } for (int i=0; i<array2.Length;i++) { if(array2 == min) { int a = min; min = SecNeg; SecNeg = a; }Где ошибка? что-то не меняет ничего.
>>162956803Делаешь пандорический захват, лифтишь в монаду, потом строишь рекурсивную схему (здесь подойдёт зигохистоморфный препроморфизм) как монадический трансформер из категории эндофункторов, и метациклически вычисляешь результат. Любой второкурсник справится. А если делать на анафорических лямбдах — так задачка вообще на пять минут.
Шамиль, когда капчу починишь? Я знаю, что ты читаешь этот тред, мудило!
>>162957771Дело в том, что способов решения дохуя, представь себе способ и пытайся сделать по нему.>кстати, если не создавать новый, а в старом поменять значения, и вывести его на экран ранее замены, а потом вывести снова, то выведутся разные массивы или нет?один массив, разные значения
>>162942905 (OP)Главное не паниковать, а методично идти к цели. Ты ведь и 99% этой 1000 и 1 курса, учебника, видое не изучил, а уже ноешь и паникуешь.Ну и главное чтобы у тебя была цель не "Научиться программированию на C#", а "Написать программу которая будет за менять создавать тупые треды на дваче". Вот тогда то тебе и понадобиться вся та пресная основа которая дается в учебниках, курсах и видео. Дальше ты начинаешь создавать свою программу, параллельно смотря на то что уже создано и разбираясь в чужом коде. После парочки созданных тобою программ, ты уже сам научишься улучшать чужой код и делать хорошие программы, а если не научишься, то значит ты тупой и твой максимум это быть макакой-кодером, которая пишет программы собирая чужой код с SO.
>>162956607Может стоит пойти на работу и там искать идеи?
>>162958329Я пока учусь , не думаю, что гожусь даже на джуна.
>>162953797>>162957857Бля, вы че совсем ебанутые? Почему нельзя написать просто arr2 = arr1?
>>162957857Ошибка в том, что замену надо делать не в цикле. Сам уже нашел, да.
>>162944793из какого сборника задача?
>>162946161Вебу js. Нахуя все эти формы хуермы?
>>162956367Напиши мне, можем вместе порешать всякие задачки, если хочешь. Вместе быстрее и эффективнее выходит.https://vk.com/id376893583
>>162960239>не умеет в скриншоты>не умеет в сжатие фотографий>не умеет в переворот фотографий>лезет в программированиеУдачи тебе, животное.
>>162959572Чтобы шатать твой веб своими формами, очевидно.
>>162960503Я сидел в треде с телефона, мне стало интересно, мне захотелось показать своё решение, тред искать с комплюктера было лень => сфоткал на телефон. А вообще, пошёл нахуй, долбоеб, умри от рака.
>>162953797Не будет работать если отрицательных значений вообще нет. Всегда минимальным значением будет 0, а не минимальный элемент массива.
>>162960933using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ConsoleApp1{ class MainClass { public static void Main(string[] args) { int Min = 0; int i = 0; Random rand = new Random(); int[] anon = new int[50]; for (i = 0; i < anon.Length; i++) { anon = rand.Next(-50, 50); Console.WriteLine("Член под номером "+i +" равен: " +anon); } Console.WriteLine(" "); Min = anon[0]; for (int j = 0; j < anon.Length; j++) { if (Min > anon[j]) { Min = anon[j]; } } Console.WriteLine("Минимальное значение равно: " +Min); Console.WriteLine(" "); int Count = 0; int Swap = anon[0]; for (int f = 0; f < anon.Length; f++) if (anon[f] < 0) { Count++; if (Count == 2) { Swap = anon[f]; break; } } Console.WriteLine("Второй отрицательный элемент равен: " + Swap); Console.WriteLine(" "); Console.WriteLine("Массив после изменения"); Console.WriteLine(" "); for (int g = 0; g < anon.Length; g++) { if (anon[g] == Min) { anon[g] = Swap; Console.WriteLine("ЧЛЕН " + g + " равен: " + anon[g]); } else if (anon[g] == Swap) { anon[g] = Min; Console.WriteLine("НОМЕР " + g + " равен: " + anon[g]); } else { Console.WriteLine("Член под номером " + g + " равен: " + anon[g]); } } } }}Все работает проверяй
>>162944793Вот вам на JavaScript, работает в любом браузере.var arr=[];for (i=0;i<50;i++){arr=parseInt(Math.random() * (100 - -100) + -100);;}var minval=arr[0];var i=0;var secnegval;for (key in arr){if (arr[key]<minval) {minval=arr[key]}if (i!=2&&arr[key]<0) {i++;if (i==2){secnegval=key}}}arr[secnegval]=minval;
>>162962548Забыл убрать var i=0;
>>162943726>а потом полезу в гугл и там все делается каким-нибудь методом в 6 точекМолодец. Именно так ты и будешь учиться. Я тебе больше скажу, даже когда ты найдёшь работу и станешь профессионалом, ты будешь внезапно находить какие-нибудь методы в 6 точек, вместо запутанного быдлокода, который ты использовал годами. Просто это будет происходить всё реже и реже.
>>162942905 (OP)>С#Ты уже проебался. Лучше на завод иди.
>>162963725А что надо , чтобы на завод не идти?
>>162964910Pascal