Как научиться программированию? В интернете есть 1000 и 1 курс, учебник, видео и все они по сути учат тебя самым банальным основам: переменные, функции, циклы, условия, массивы. Чуть поменьше видео, но тоже много уже про ООП. Видео поменьше чуть, а вот качество уже заметно ниже. А дальше пустота. Вот в итоге и сосу хуи. Бывает гуглю какое-нибудь готовое решение, смотрю код и АХУЕВАЮ. Ни черта не понятно. Какие-то методы с 5 операторами через точку, какие-то параметры, которые первый раз в жизни видишь. И как учиться-то? Сейчас конкретно на C# учусь.
>>162943726 А так оно и делается, ёба. Даже в универах программистов больше учат именно программированию, а не конкретному языку. Предполагается, что хорошему программисту язык не важен, он умеет гуглить и читать SO, и разберётся в новом для себя языке за минимальное время.
А ты к тому же на додиезе делаешь, один из самых простых языков. Стыдно жаловаться.
>>162942905 (OP) а что дальше то ты хочешь? основы, ооп - всё, программирование кончилось, дальше начинаются танцы с бубнами вокруг этих столпов, а-ля фреймворки, вспомагательные инструменты.
>>162942905 (OP) Анончики! По случаю, допомжите решить данный пример на симрешетке. Как найти второй отрицательный элемент? И как поменять их в массиве местами?
metanit.com 1. Заходишь, выбираешь C#. 2. Смотришь основные конструкции. 3. Затем идёшь на тытруб. 4. Там смотришь видосы про ООП. 5. Возвращаешься на метанит. 6. Там читаешь про ООП в C#. 7. Профит и ты знаешь язык. Дальше только разбираться со стандартными библиотеками, но это только на практике
>>162942905 (OP) Очевидно, раз есть желание зарабатывать программированием, то надо выучить банальные основы и катиться на какой-нибудь гитхаб, изучать реальный код, пытаться что-то исправить или допилить. Дареных коней без собеседования на работу принимают.
Просто берёшь и программируешь. Суть в том, что ты должен программировать 24/7. Создавать парсеры, боты на Питоне, обращаться к гуглу если ничего не понимаешь. Гуглить надо будет постоянно, причём, в основном на английском. После чего ты поймёшь что это нахуй тебе не надо, и ниша забита.
>>162943726 Во-первых примерно так работа и работается, лол. Во-вторых это даст понимание того на что похожа разработка изнутри. Сейчас читая литературу или смотря видосы ты видишь кучу непонятной хуеты, которая с твоей точки зрения совершенно оторвана от контекста и хуй пойми как, где и зачем её применять. Классы, интерфейсы, переменные, хуе-мое. Этот самый калькулятор даст тебе __контекст__, понимание нахуя оно все в принципе нужно
>>162946403 Там есть свойство что-то типа headerColumn - это не точное название свойства Ставишь его на false/invisible/none - не помню точно И всё скроется
>>162942905 (OP) Совсем необязательно учить все подряд, чтобы запилить что-то свое. Скачиваешь каркас приложения/пример из документации, немного модифицируешь, дальше уже дорабатываешь напильником.
>>162945472 циклом проверяешь массив вводишь счетчик программа видит первый отрицательный элемент массива, прибавляет к счетчику +1, далее видит второй отрицательный элемент счетчик увеличивается на 1, если счетчик равен 2 присвоить найденному массиву необходимое значение
>>162947709 Я ошибся. Мультиселект идёт лесом. Мне придётся студию устанавливать, чтобы тебе назвать конкретное свойство. Я попробую нагуглить, не уходи, анон
>>162947569 Анон, я нагуглил RowHeaderVisible ставь фолсом. И открою тебе тайну, что можно прямо в графическом конструкторе настраивать свойства, а не прямо в коде. Чтобы вызвать панель свойств 1. нажми на элемент 2. ПКМ 3. Свойства/Properties
>>162951322 Придётся немного поэбаться с циклами и методами нижележащего дерьма А так используй dataGridView.currentRow / dataGridView.currentRow Как говорил наш препод: "Гугли"
>>162953187 Я тоже нагуглил вариант. dataGridView1.RowCount = array1.Length; for (int i = 0; i < 50; i++) { dataGridView1.Rows.Cells[0].Value = array1;
>>162952843 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); 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; } } }
>>162942905 (OP) Советую дропнуть c# и попробовать scheme(lisp). Ты всё равно не будешь использовать scheme, но зато будешь в последствии смотреть на мир языков программирования гораздно шире. Ну и потом стандартный набор: решай задачи, а не просто читай мануал.
>>162942905 (OP) >Бывает гуглю какое-нибудь готовое решение, смотрю код и АХУЕВАЮ. Ни черта не понятно Вот как раз так и надо учиться. Читать чужой код, кропотливо и неспешно разбирать его, запоминать интересные ходы.
>>162953987 Писал около года на лиспе, читал основные известные книги по нему. Очень любопытная вещь, но я бы не сказал, что это как-то изменило моё видение программирования. Да, стал писать более функционально, чище и аккуратнее, но большинство "изящных" конструкций функциональщины, та же хвостовая рекурсия, на практике оказываются жуткими монстрами, тормозящими всё.
>>162954138 >Вот как раз так и надо учиться. Читать чужой код, кропотливо и неспешно разбирать его, запоминать интересные ходы На самом деле есть вариант не гуглить поначалу, а самому что-либо писать, опираясь только на документацию. Ясное дело, будет много говнокода, но свои ошибки в памяти сильнее застревают. И уже только написав тот говнокод, гуглить и смотреть варианты оптимизации
>>162954272 Препод нужен не для того, чтобы он был ходячим справочником по функциям. Он должен учить принципам программирования. В современном мире ДОХУЯ простых вопросов разобраны в интернетах, и этим надо пользоваться. Этим надо учить пользоваться, потому что когда студенты приходят, оказывается, что они не умеют гуглить. Это жизнь, ты обязан уметь находить решения сам.
>>162954329 Ну в принципе, если учишься писать на C или С++, можно долго и внимательно читать стандарт, что-то проверяя по мелочи для себя. Это сильно развивает. Ну и задачи.
>>162954272 >>162954272 >Ты спросил какого хуя он пост препода занимает? На самом деле он дохуя умный, и думает, что я дохуя умный, поэтому он больше времени уделяет всяким долбоёбам, которые не могут "Hello, world" написать
>>162954273 >но большинство "изящных" конструкций функциональщины, та же хвостовая рекурсия, на практике оказываются жуткими монстрами, тормозящими всё. квиксорт_на_хаскеле.жпг Почему же не изящно? Тем более интуитивно понятно. >Тормозящими всё Всё = понимание и реальное быстродействие? Для последнего в языке должна быть оптимизация для хвостовой рекурсии.
Программированию долго и даже бесполезно учиться на практике. К примеру, при изучении мною HTML (хоть это и язык разметки), я лишь изучил основы, а дальше практика, пару раз покупал платные курсы. Я не могу сказать, что владею HTML на 10/10, но владею я им неплохо. Точно так же с JavaScript, и много с чем. Так что Антош, практика.
>>162954535 >Лол. Такой умный я, и препод тоже умный, он считает меня умным и уделяет внимание на даунов))) которые не могут в хэлоу уорлд)))0 Давай посмотрим правде в глаза? Твоему преподу на тебя насрать, ведь он на зп сидит. А гуглить он заставляет потому что ему насрать, ведь он на зп сидит. А тебе насрать, потому что из денег твоих родителей этот препод получает зарплату. Все счастливы. У тебя ЧСВ, у препода зп, а твои родители думают что пиздато инвестировали в чадо.
>>162954385 Когда я гуглю, то чувствую себя ущербом, не догадавшимся до "простенькой задачи, хули тут делать)))". Будто это неправильно - чуть что и пиздовать в инет, не разобравшись самому.
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]); } } } }
Меняет значения, но криво находит второй отрицательный элемент массива
>>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);
Ну вы и твари ебаные. Найди себе прикладную задачу и реализуй её. Всегда воспринимал этот СОВЕТ)))) как "ДА БЕЗ ЗАДНЕЙ МЫСЛИ БЕРЕШЬ И ДЕЛАЕШЬ ЧЕ ТЫ))) ПРОСТО ВЫХОДИШЬ ИЗ НЕРЕШАЕМЫХ ПРОБЛЕМ И ВСЕ НОРМ БУДЕТ)))". Тупорылые твари. Оп, ищи друзей в миллиониках, а лучше в ДС и деплой хероку сколько влезет, без какого либо понимания что происходит за кулисами. Спасибо потом еще скажешь
>>162944914 Прошел это все, также как и оп сижу нихуя не делаю, иногда почитываю что нибудь по теме. Запилил около 5 микро программок, больше идей нет.
А как правильно надо делать в примере, который тут решается? Изменять первоначальный массив или создавать новый и уже его менять? Вопрос тогда такой: как создать новый массив и заполнить его данными из первого, а потом еще и поменять там значения.
>>162957161 так, так, так. стоп. Че-то я запутался. Итак. Был массив1. Мы в нем нашли мин и 2 отриц значения. Записали их в переменные А и Б, к примеру. Далее, создаем массив 2, он точно такой как и массив 1. кстати, если не создавать новый, а в старом поменять значения, и вывести его на экран ранее замены, а потом вывести снова, то выведутся разные массивы или нет? и в новом мы пытаемся поменять местами переменные, но там же записаны значения другого массива. Что-то я не понял.
>>162956803 Делаешь пандорический захват, лифтишь в монаду, потом строишь рекурсивную схему (здесь подойдёт зигохистоморфный препроморфизм) как монадический трансформер из категории эндофункторов, и метациклически вычисляешь результат. Любой второкурсник справится. А если делать на анафорических лямбдах — так задачка вообще на пять минут.
>>162957771 Дело в том, что способов решения дохуя, представь себе способ и пытайся сделать по нему. >кстати, если не создавать новый, а в старом поменять значения, и вывести его на экран ранее замены, а потом вывести снова, то выведутся разные массивы или нет? один массив, разные значения
>>162942905 (OP) Главное не паниковать, а методично идти к цели. Ты ведь и 99% этой 1000 и 1 курса, учебника, видое не изучил, а уже ноешь и паникуешь.
Ну и главное чтобы у тебя была цель не "Научиться программированию на C#", а "Написать программу которая будет за менять создавать тупые треды на дваче". Вот тогда то тебе и понадобиться вся та пресная основа которая дается в учебниках, курсах и видео. Дальше ты начинаешь создавать свою программу, параллельно смотря на то что уже создано и разбираясь в чужом коде. После парочки созданных тобою программ, ты уже сам научишься улучшать чужой код и делать хорошие программы, а если не научишься, то значит ты тупой и твой максимум это быть макакой-кодером, которая пишет программы собирая чужой код с SO.
>>162960503 Я сидел в треде с телефона, мне стало интересно, мне захотелось показать своё решение, тред искать с комплюктера было лень => сфоткал на телефон. А вообще, пошёл нахуй, долбоеб, умри от рака.
>>162960933 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); } 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;
>>162943726 >а потом полезу в гугл и там все делается каким-нибудь методом в 6 точек Молодец. Именно так ты и будешь учиться. Я тебе больше скажу, даже когда ты найдёшь работу и станешь профессионалом, ты будешь внезапно находить какие-нибудь методы в 6 точек, вместо запутанного быдлокода, который ты использовал годами. Просто это будет происходить всё реже и реже.
В интернете есть 1000 и 1 курс, учебник, видео и все они по сути учат тебя самым банальным основам: переменные, функции, циклы, условия, массивы.
Чуть поменьше видео, но тоже много уже про ООП. Видео поменьше чуть, а вот качество уже заметно ниже.
А дальше пустота. Вот в итоге и сосу хуи. Бывает гуглю какое-нибудь готовое решение, смотрю код и АХУЕВАЮ. Ни черта не понятно. Какие-то методы с 5 операторами через точку, какие-то параметры, которые первый раз в жизни видишь. И как учиться-то?
Сейчас конкретно на C# учусь.