МЕТОДЫ И ФУНКЦИИ В C# | СИ ШАРП УРОКИ | ДОМАШНИЕ ЗАДАНИЯ # 10
Vložit
- čas přidán 6. 09. 2024
- В этом уроке мы продолжим изучение методов и функций в языке программирования C# и выполним первое домашнее задание к прошлому уроку.
Написать функцию которая выводит на экран строку. Символы из которых состоит строка и их количество вводятся пользователем.
➡️ Мой курс C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ на Udemy
👉 www.udemy.com/...
✅ ИСХОДНЫЙ КОД УРОКА bit.ly/39C0apj
✅ C# ФУНКЦИИ И МЕТОДЫ | МЕТОД C# ЧТО ЭТО | ФУНКЦИИ C# ПРИМЕР | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | # 35 bit.ly/3axAlaZ
✅Если вам нравятся мои уроки, вы хотите поддержать меня и развитие канала, то можете сделать это тут!=)
✅Доступ к исходному коду и спонсорство / simplecode
✅ donatepay.ru/d...
✅BTC кошелек: 12oYfJnvt76wjJbpvfhM41m6KPz6uz4LD4
✅ Telegram канал t.me/SergeySim...
Уроки по программированию
✅Наша группа ВК smplcode
✅Подписывайтесь на канал / @simplecodeit
#сишарп #simplecode #урокипрограммирования
Cамый лучший способ сказать "спасибо" - поставить лайк и и поделиться уроком с друзьями. Это очень мотивирует создавать полезные уроки =)
✅Доступ к исходному коду и спонсорство www.patreon.com/SimpleCode
✅ donatepay.ru/don/SimpleCode
✅BTC кошелек: 12oYfJnvt76wjJbpvfhM41m6KPz6uz4LD4
Лучшие уроки по c#.
Это точно!
Добрый день! Очень нравятся Ваши уроки ...
Хочу Вас попросить, что Вы сделали урок по символам и строкам, а также встроенными методами для работы с ними. Ну и о файлах хотелось бы послушать также, ведь там потоки и масса вещей. Спасибо за Ваш труд ...
Стыдно признаться, ну это в первый раз, когда я зашел сразу на решение домашнего задания, каюсь. Блин, какое же не сложным оказалось решение, когда его делает сам автор. Ну я зашел не тупо переписать код, а разобраться в нем. Думаю и со вторым уроком будет та же история.
2 ролика за 2 дня, круто! Жду,когда начнут выходить видеоролики по ООП
Сергей, спасибо огромное!!! С каждым уроком становится все интересней!
Так объяснить с# может только самый талантливый человек)))Я выполнил это дз так -
class Program
{
static void Str()
{
Console.WriteLine("Введите кол-во символов в строке- ");
int a = int.Parse(Console.ReadLine());
Console.WriteLine("Введите символ, из которого будет состоять строка- ");
char b = char.Parse(Console.ReadLine());
for (int i = 0; i < a; i++)
{
Console.Write(b);
}
}
static void Main(string[] args)
{
Str();
}
}
Лучше с самого начала научиться давать осмысленные названия переменным. В будущем может очень сильно помешать) Я бы назвал переменную "a" - "count" или "symbolsCount", а "b" - "symbol".
@@hierayku873 да что Вы говорите...
@@vektor7031 а что неправильного я сказал?)
Как же мне нравятся Ваши объяснения... Занимаюсь удаленно на курсах - каша малаша. А у Вас, раз раз, все по полочкам, сразу понятно.
Вот ка всегда, мучился с чаром и ридлайном, а оказалось там вообще другая команда. Вот так решил я:
static void Main(string[ ] args)
{
string symb, numb;
Console.WriteLine("Введите символ");
symb = Console.ReadLine();
Console.WriteLine("Введите количество выводимых символов");
numb = Console.ReadLine();
output(symb, numb);
}
static void output(string symb, string numb)
{
int numbOfSymb = Convert.ToInt32(numb);
for (int i = 0; i < numbOfSymb; i++)
{
Console.Write(symb + " ");
}
}
Лучше давать методам и функциям название с большой буквы)
Спасибо за ваши уроки, очень информативно!
Мне интересно какой язык программирования вы планируете преподавать следующим.
Я удивлён, первый раз полностью в точности повторил ДЗ автора, курс очень понятный и полезный!
Огромное спасибо вам. У меня было задание по программированию. не знала как делать, так как новая тема. теперь все ясно. Спасибо за новые функции и методы лучший учитель !
Вы очень хорошо преподаете с#. Остальные либо не подробно, либо слишком подробно. Желаю вам удачи!
P.S. пожалуйста, можете сделать уроки по CLR, на с++ делать интерфейс хочется, а все руководства старые и несовместимые, а если изучать с#, то и windows form можно, заодно и про с++ можете поведать
Большое спасибо 🔥
Спасибо за урок!!!
Спасибо за подробный разбор ДЗ! Кстати, очень ждем нового видео на втором канале)
LIKE!!!
Большое спасибо!
Очень нравятся уроки! С нетерпением жду разбор ООП!
Можно так:
static void PrintOnConsole(string symbol, int lenght)
{
if (lenght >= 0)
{
symbol = string.Concat(Enumerable.Repeat(symbol, lenght));
Console.WriteLine(symbol, lenght);
}
else
{
Console.WriteLine("ОШИБКА множитель должен быть позитивным числом!");
Main();
}
}
static void Main()
{
Console.Write("Введите символ: ");
string symbol = Console.ReadLine();
Console.Write("Введите множитель символов: ");
int lenght = Convert.ToInt32(Console.ReadLine());
PrintOnConsole(symbol, lenght);
Console.ReadLine();
}
Мой вариант реализации через while, спасибо!
class Program
{
static void StringOutput()
{
Console.WriteLine("Введите символы");
string str = Console.ReadLine();
Console.WriteLine("Введите количество символов");
int multiplier = int.Parse(Console.ReadLine());
if (multiplier < 0)
{
Console.WriteLine("Множитель не может быть отрицательным");
}
else
{
while (multiplier > 0)
{
Console.Write(str);
multiplier--;
}
}
}
static void Main(string[] args)
{
StringOutput();
}
}
}
do
{
Console.Write(Simvol);
index++;
} while (index < CountSimvol);
int i переполнится, если в цикле будет считать до uint symblCount.Надо в цикле for указывать uint i.
Чтобы сломать эту программу надо ввести кол-во символов более max int
ок, а если символов будет больше чем uint max? =)
@@SimpleCodeIT Для начала, спасибо за Ваши видео!)
тоже будет ошибка. я к тому, что uint symblCount в этом коде больше int сломает i. Почему бы не объявить i в uint? Или это какое-то правило хорошего тона?
Метод можно сделать проще:
static void PrintLine(char symbol, int number)
{
Console.WriteLine(new String(symbol, number));
}
Спасибо больше за видео!
Топ топ топ топ топ. Спасибо огромное, Ты ТОП!
Спасибо большое за видео)
Очень хорошие уроки, продолжай в том же духе!
Спасибо за урок . Сделал дз правильно - плюс мораль. Только вместо uint - int написал ... и ввод char через Parse сделал ...
У меня так получилось :)
1-ая дз:
internal class Program
{
static void Main(string[] args)
{
Console.Write("Введите символ: ");
char selectedChar = Convert.ToChar(Console.ReadLine());
Console.Write("Введите число повторений: ");
int numberOfChars = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Ваша строка состоит из: " + CharsOutput(selectedChar, numberOfChars));
}
static string CharsOutput(char userChar, int value)
{
string result = "";
for (int i = 0; i < value; i++)
result += userChar;
return result;
}
}
Улучшения первого дз:
internal class Program
{
static void Main(string[] args)
{
Console.Write("Введите символ: ");
char selectedChar = Convert.ToChar(Console.ReadLine());
Console.Write("Введите число повторений: ");
int numberOfChars = Convert.ToInt32(Console.ReadLine());
CharsOutput(selectedChar, numberOfChars);
}
static void CharsOutput(char userChar, int value)
{
string result = "";
for (int i = 0; i < value; i++)
result += userChar;
Console.Write("Всего символов: " + result + "
");
}
}
О. Именно так. Только я еще за каким-то лешим сделал отдельные методы для считывания строк и int
stringInput и intInput
Я сделал по другому,но принцип работы тот же. Спасибо за уроки)
class Program
{
static void OutputLine(string symbol, int count)
{
for (int x = 0; x < count; x++)
{
Console.Write(symbol);
}
}
static void Main(string[] args)
{
Console.Write("Enter something: ");
string symbol = Console.ReadLine();
Console.Write("Enter repeats count: ");
int count = int.Parse(Console.ReadLine());
OutputLine(symbol,count);
Console.ReadKey();
}
}
}
Спасибо!
Очень нравятся ваши уроки и хочется что бы они выходили чаще
Сергей, добрый день!
Когда вы создавали метод PrintLine, там нужно писать слово static?
Нужно)
сделал по такой же логике, но зачем-то реализовал консольный ввод в самом методе
Ура получилось с первого раза, только создал отдельно переменные и через convert
private static void VuvodSymbol()
{
Console.WriteLine("Введите символ:");
char symb = char.Parse(Console.ReadLine());
Console.WriteLine("Введите какое количество раз вывести симвоЛ:");
int count = int.Parse(Console.ReadLine());
for (int i = 0; i < count; i++)
{
Console.WriteLine(symb);
}
}
Спасибо)
Пока не смотрел решение, сделал через массив. Не совсем понял как правильно в методах работать с массивами, все еще куча вопросов) но наверное на них будут даны ответы тут или в следующем видео
небольшой апдейт после просмотра: чет дааа) не туда меня понесло)
код (пользователь выбирает количество символов (размер массива) и сами символы. Эти символы могут быть словами, цифрами, пробелами чем угодно
class Program
{
static void stringArray(int length)
{
string[] myArray = new string[length];
Console.WriteLine("Enter line data: ");
for (int i = 0; i < myArray.Length; i++)
{
string fill = Console.ReadLine();
myArray[i] = fill;
}
Console.WriteLine();
for (int i = 0; i < myArray.Length; i++)
{
Console.Write(myArray[i]);
}
}
static void Main(string[] args)
{
Console.WriteLine("Please choose array size: ");
int length = int.Parse(Console.ReadLine());
Console.WriteLine();
stringArray(length);
}
}
как всегда спасибо за урок ,половину идеи все правильно я придумал хD
Комментарий для продвижения контента)))))
Благодарю за урок.
Опять я чуть-чуть по-другому сделал. Но работает :)
Спасибо.
Спасибо за отличное решение!
Сделала именно так! Спасибо))
Так легко)) А то я прям подзапарился( создал два одномерных масива, где в один разные символы из которых будет состоять выводимая строка, а второй будет иметь в себе количество для каждого символа и тд)
хорошо что существую циклы хD
Добрый день. Решил выучить языки программирования и найти работку у себя в городе(РнД). В школе изучали кенгуру, писали сайты на HTML через блокнот, в универе - 2 курса изучали VBA. Сейчас понял, что моя сфера - не то, чем хочу заниматься. Подскажи - какой язык лучше начать изучать?:) и вообще - с чего начать? Хочу разрабптывать игры и приложения для мобилок. Есть куча идей.
Для андроид java или kotlin, для ios swift.
Я пошёл по обходному пути, создал два метода, один считывает символ, другой количество, а потом в мейне просто их вызвал. Но так как я не понимаю, как вытащить символ из первого цикла во второй, идея пошла крахом, позже к ней вернусь, когда узнаю как это делать. Если кто-то пояснит в комментах, буду рад, вот мои попытки:
using System;
namespace dz1_remaster
{
internal class Program
{
static string Symbol()
{
Console.WriteLine("Введите символ");
string sign = Console.ReadLine();
return sign;
}
static void AmountOfSymbols()
{
int a;
Console.WriteLine("Введите количество символов");
int n = int.Parse(Console.ReadLine());
a = Symbol(sign); //Думал так будет работать, но нет
for (int i = 0; i < n; i++)
{
Console.WriteLine(a);
}
}
static void Main(string[] args)
{
AmountOfSymbols();
}
}
}
Console.WriteLine("Введите символ: ");
char symbol = char.Parse(Console.ReadLine()); я так организовал ввод символа
А я так написал
static string Home()
{
Console.WriteLine("Наберите текст");
string text = Console.ReadLine();
Console.WriteLine("Количество повторений строки");
int lenght = int.Parse(Console.ReadLine());
for (int i = 0; i < lenght; i++)
{
Console.WriteLine(text);
}
return text;
А я вообще криво сделала=))))
static void MyString()
{
Console.WriteLine("Whrite anything:");
string txt;
txt = Console.ReadLine();
Console.WriteLine(txt);
}
MyString();
Я думал это обязательно через массив, строка это же набор символов))
static void PrintString(char symbol, uint number)
{
char[] array = new char[number];
for (int i = 0; i < array.Length; i++)
{
array[i] = symbol;
Console.Write(array[i] + " ");
}
}
static void Main(string[] args)
{
char symbol;
uint number;
Console.WriteLine("Input symbols and number of symbols");
symbol = Convert.ToChar(Console.ReadLine());
number = Convert.ToUInt32(Console.ReadLine());
PrintString(symbol, number);
}
Практики мало. Мне писало, что не может мой метод в void преобразовать. И только потом понял, что метод реально не возвращает ничего и просто нужен метод void )).
Ну с первым дз я справился, а второе не понял, пришлось смотреть решение.
static void Str(int a, string b)
{
for (int i = 0; i < a; i++)
{
Console.Write(b);
}
Console.WriteLine();
}
static void indexMassiv(int[] Massiv)
{
int result = Array.FindIndex(Massiv,i => i == int.MinValue);
Console.WriteLine(result + 1);
}
static void Main()
{
i
Console.WriteLine("Количество: ");
int a = int.Parse(Console.ReadLine());
Console.WriteLine("Символ: ");
string b = Console.ReadLine();
Str(a, b);
int[] Massiv = { 4, 2, 3, 1 };
indexMassiv(Massiv);
}
}
Спасибо
Питон может Print("Stringi"*8);
На C# можно сделать так : Console.WriteLine(new string('*', 10)); И будет 10 символов "*")
А для вывода именно чисел тоже существует свой метод вывода? А то можно и забыть парсировать ReadLine. Склероз дело такое...
Я учусь на вашем канале.
static void printstr(int count, char ch)
{
char[] str = Enumerable.Repeat(ch, count).ToArray();
Console.WriteLine(str);
}
Если использовать sting str = ....ToString(); выводит какое-то странное сообщение в эту строку:
System.Linq.Enumerable+d__115`1[System.Char]
Аааа, все так просто, я через массив все делал)
ха прикольно 👍👍👍👍😁😁
Первое задание чёт через Char у меня сделать не получилось,использовал String, пришлось смотреть старый ролик по TryParse, т.к обычный Parse выдавал ошибку, вот что вышло:
namespace ConsoleApp2
{
internal class Program
{
static void Print(string a)
{
Console.Write(a);
}
static void Main(string[] args)
{
string a;
int b;
Console.WriteLine("Введите символ(ы) из которой будет состоять строка");
a = Console.ReadLine();
while ( a == String.Empty)
{
Console.WriteLine("Соррян вы не ввели символ(ы), введите символы из которой будет состоять строка");
a = Console.ReadLine();
if ( a != String.Empty)
{
break;
}
}
Console.WriteLine("Выберите длину строки цифрами");
string srt = Console.ReadLine();
int.TryParse(srt, out b );
while (b == 0)
{
Console.WriteLine("Соррян вы не ввели длину строки");
srt = Console.ReadLine();
int.TryParse(srt, out b);
if (b > 0)
{
break;
}
}
for (int i = 0; i < b; i++)
{
Print(a);
}
}
}
}
Решение пока что не знаю, но напишу свое решение домашки:
(1 Домашка)
{
static int charCounter(int charValue, char c)
{
for (int i = 0; i < charValue; i++)
{
Console.Write(c + " ");
}
Console.WriteLine();
return charValue;
}
static void Main(string[] args)
{
char c = '*';
Console.WriteLine("Введите количество символов: ");
int charValue = int.Parse(Console.ReadLine());
charCounter(charValue, c);
}
}
(Второе задание)
internal class Program
{
static int searchIndex(int valueForIndex, int result)
{
int[] myArray = { 77, 25, 3, 535, 989, 4 };
for (int i = 0; i < myArray.Length; i++)
{
for (int j = 0; myArray[i] == valueForIndex; j++)
{
result = i;
break;
}
}
Console.WriteLine("Это число под индексом: " + result);
return result;
}
static void Main(string[] args)
{
int result = 0;
Console.WriteLine("Введите число:");
int valueForIndex = int.Parse(Console.ReadLine());
searchIndex(valueForIndex, result);
}
}
Если пользователь введет то чего нет, то у меня просто вводиться 0,
Я сделал, но кривым способом, что скинул в комменты прошлого видео
+
Помогите пожалуйста "Описать метод, который возвращает bool и имеет два целых числа в аргументах. Если первое число больше второго, то возвращается true, иначе - false".
static bool CompNumber(int a, int b)
{
return a > b;
}
Блинн, я не правильно сделал , так грусно.
class Program
{
static void PrintLine(string Result)
{
Console.Write(Result);
}
static void Main(string[] args)
{
Console.WriteLine("Enter line");
int line = int.Parse(Console.ReadLine());
Console.WriteLine("Enter symbol");
string symbol = Console.ReadLine();
for(int i = 0; i < line; i++)
{
for (int j=0; j < i; j++)
{
PrintLine(symbol);
}
}
Console.ReadLine();
}
}
}
Слушай , вопрос не по теме , можно ли в list запихнуть класс , и каждый раз встречая , какой-то новый элемент создавать еще элемент в list?
Посмотрите сколько людей откололось после прошлого урока, было 170 тыс. просмотров, стало 68) Видимо не смогли понять тему и бросили обучение
Я сам чуть не откололся) ДЗ не смог решить) но продолжаю дальше)
static string qwe(string a)
{
Console.WriteLine("Vvedite simvol");
a = Console.ReadLine();
Console.WriteLine("Kol-vo");
uint w = uint.Parse(Console.ReadLine());
for (int q = 0; q < w; q++)
{
Console.Write(a+" ");
}
return a;
}
qwe("");
Делал задание вот что получилось сделать самому , разве так не практичнее?
Дайте ответ на сколько это правильно или нет:)
Методу не обязательно что-то возвращать, так как это просто вывод в консоль, то можно убрать возвращаемое значение string и поставить void. А так, в целом, конечно практичнее, метод может не вызываться ни разу, а у автора всё равно стоит ввод с консоли значений, поэтому твой код будет более практичен. Если конечно не брать во внимание название переменных и метода)
Сложно 😭😭 буду это весь день расберать
Что сложного?
вопрос: зачем я искал как ввести один символ??? char Symbol = Console.ReadKey().KeyChar; если можно было строку вводить... XD
оаоа досмотрел видео, оказывается правильно сделал))
блин. ищу каким хоткеем идёт автозаполение цикла for. напомните пожлауйста, каждый раз влом его ручками заполнять
class Program
{
void PrintLine();
{
полос нет
Полосы идут только до сюда }
static void Main(string[] args)
{
}
}
Возможно поздно, ибо этот урок аж 2020, но все равно... Можете подсказать, в чем проблема?
При написании нового метода, у метода class исчезают полосочки, точнее идут лишь до конца метода PrintLine().
И выдается кучу ошибок
Сам учусь , но так же с этим ломал голову. Перед void нужно написать static и после круглых скобок убрать точку с запятой. Точка с запятой у меня забрала час жизни пока я въехал что не так )))))
Здравствуйте, во время запуска проекта через Visual Studio у меня возникла ошибка "Не удалось загрузить проект "rabotay", так как для него отсутствуют компоненты установки. Чтобы это исправить, запустите установщик Visual Studio со следующими выбранными элементами:
Microsoft.VisualStudio.Component.VC.Tools.x86.x64
D:\CM2
abotay
abotay
abotay.vcxproj : error : Ссылка на объект не указывает на экземпляр объекта.", пол дня просидел и так ничего не смог исправить, прошу вас помочь.
Так запусти установщик, там кроме самой студии есть установщик (в меню пуск ярлык), отметь галочками все компоненты то что касается С# не выбирая ,иначе мне долго объяснять какой компонент за что отвечает. Потом нажми установить, и дождись установки. Запусти студию и запусти свой проект и вуаля. Там же у Сергея есть видео как установить Visual Studio, хотя и без видео можно догадаться. Ты просто студию не установил нормально, точнее компоненты не установил, а что-то хочешь скомпилировать. Хоть и 8 месяцев прошло от того как ты задал этот вопрос, один хрен ты всё бросил учить, как большинство.
Честно говоря, по описанию первого задания, не понял что нужно вывести на экран. В данном случае лучше когда показано рисунком, что именно нужно сделать) как с треугольниками.
Я вообще из массива строку сделал зачем то
а по ассемблеру будут видео?
//
всё было так просто...
блин, так дико выглядит городить цикл для умножения строки после пайтон
Оно живое !
static string StringValue(string MyString, string MyInt)
{
int myValue = int.Parse(MyInt);
for (int i = 0; i < myValue; i++)
{
Console.Write(MyString);
}
Console.WriteLine();
return MyString;
}
static void Main(string[] args)
{
Console.WriteLine("Введите символ: ");
string myStr = Console.ReadLine();
Console.WriteLine("Введите кол-во символов: ");
string MyValue = Console.ReadLine();
StringValue(myStr, MyValue);
}
}
Спасибо за задания!
Спасибо !!!