Уроки C# (C sharp) | #9 - Массивы
Вставка
- Опубліковано 15 вер 2024
- В этом уроке мы с вами затронем тему массивов в языке программирования C#. Мы разберемся с обычными массивами, а также рассмотрим такой массив как List
✔ Основной сайт: itproger.com/
✔ -------------
Группа Вк - prog_life
Группа FaceBook - goo.gl/XW0aaP
Я в Google+ - goo.gl/Tqt9W0
Страничка Twitter - / goshadudar
Страничка Вк - codi999
✔ Начните зарабатывать на UA-cam - join.air.io/mon...
✔ Видео по заработку на UA-cam - goo.gl/RLPXV8
Помощь в развитии канала.
* Яндекс Деньги: 410014343706921
* Кошельки WebMoney:
- Доллар: Z331064341236
- Гривна: U386388718252
- Рубль: R214610220703
Гош, Большое Спасибо за уроки. Особенно за Unity и C#. Хочу сделать замечание (заметку), побольше практики Теория быстро надоедает и падают руки. Например, можно рассказать: где и как используются массивы. Ещё раз большое спасибо. Успехов)
К примеру, если тебе нужно создать для игры предмет с неким набором характеристик!
1. Сила = 10
2. Стойкость = 12
3. Защита = 30
Можно создать одномерный массив и потом просто заменять по ходу игры данные. Если говорить на геймерском языке)
string - строка.
Это по сути массив из элементов типа char.
Двумерный массив можно использовать как фон какой-то двумерной игры. И соответственно, логику взаимодействия персонажа с этим фоном.
Областей применений очень много
Че ты такой мудак?
тип пиариш github ?
нет. не ошибаешься. но так же можно бахнуть размер массива И заполнить его рандомом
Большое спасибо тебе за все эти уроки по си шарп! Совсем не знал с чего начать, где начать учиться, думал перейти уже на другие языки по проще, и тут я нашёл твои уроки. Большое спасибо за всё это!
Решение ДЗ
(для тех, кто до этого прошёл курс C++ у Гоши, это действительно простое задание):
using System;
using System.Collections.Generic;
namespace ConsoleApp1
{
class Mainclass
{
public static void Main(string[] args)
{
int[,] numbers = new int[5, 5] { { 1,2,3,4,5}, { 6,7,8,9,10 },{11,12,13,14,15 }, {16,17,18,19,20 },{21,22,23,24,25 } };
//создаём массив с 5 массивами внутри, в каждом из которых по 5 натуральных чисел
for (int i = 0; i < 5; i++)
//создаём перебор массивов внутри массива
{
for (int j = 0; j < 5; j++) //создаём перебор чисел внутри каждого малого массива
Console.Write(numbers[i,j] + " ");
//выводим на экран член массива и пробел после него
Console.Write("
");
//выводим на экран конец строки
}
Console.ReadKey();
}
}
}
Спасибо, разобрался :3
Недооцененный комментарий. Самое простое пояснение.
Спасибо большое))
Отличные уроки , интересно смотреть (учиться) .
Выше всех похвал !
И голос приятный!)
Георгий , у меня нет слов! объясните очень просто и быстро! спасибо вам!!!!
"2+2=4, а массу луны вычислите аналогично дома. это же просто.."
ну да так и есть
Если вы не поняли ничего про многомерный массивы, ловите скрипт, вдруг разберётесь:
using System;
namespace Name {
class MainClass {
public static void Main (string[] args) {
int [,] num = new int [2, 3] {
{43, 45, 634}, {34, 65, 76}
};
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
Console.Write (num [i, j] + " ");
}
Console.WriteLine (" ");
}
}
}
}
Многое схоже с языком JS!)
Кстати про дз:это очень легко:просто создаем первый цикл,в i записывается кол-во массивов и i++.Затем в нём создаем второй цикл.Во втором цикле перебираем и выводим все элементы массива,который находится в многомерном массиве(количество циклов зависит от количества массивов:сколько массивов,столько циклов),и все!
Молодец 10!
@@Kot-Alenya спасибо))))
*int[,] num = new int[5,7];*
*Console.WriteLine (num.GetLength(0)); //Выведет 5*
*Console.WriteLine (num.GetLength(1)); //Выведет 7*
*Console.WriteLine (num.Length); //Выведет 35, так как 5 * 7 = 35.*
*//Length умножает количество массивов на их элементы(массивы), типа [5,7,4]*
*//он сделает 5 * 7 * 4 = 140 - Выведет 140*
*Console.WriteLine (num.GetLength(2)); //А так вывел бы 4*
*//Для нубов - массив num не трехмерный. По этому будет ошибка*
*Console.Read (); //5913//*
Спасибо за урок, но с двумерными массивами на видео не очень понятно сказано. Еле понял, что и как.
+
двумерный понять легче в виде матрице, т.е. a[i][j], где i -строка, j -столбец
Phantom - да, я так и понял. А на видео как-то не понятно объяснено.
Попробуйте еще посмотреть в "Герберт Шилдт С#"
Шилдт не лучший вариант. У него все довольно сложно написано и примеры, честно говоря так себе. Не сочтите за оскорбление, но и автор данных видео не очень хорошие уроки дает. ТО что я напишу далее прошу считать личным мнением и замечанием, можете не реагировать на них и не принимать их во внимание. Английский у автора на очень плохом уровне; частые ошибки в коде что является следствием отсутствия какой-либо подготовки к уроку; автор оперирует терминами, расшифровку которых он не дает, хотя уроки по шарпу подразумевают людей которые, так сказать "полный ноль" в программировании, хороший пример - прошлое видео слово "итерация"; также не самые удачные примеры кода, опять же пример - прошлое видео, где говорится про оператор Break, можно было немного изменить код для более наглядного примера, например так:
static void Main(string[] args)
{
for (int i = 15; i >=0; i--)
{
if (i == 10)
{
Console.WriteLine("Пример Continue");
continue;
}
if (i < 5)
{
Console.WriteLine("Пример Break");
break;
}
Console.WriteLine(i);
}
Console.ReadKey();
}
Круто) Очень ждал)) Лойс
зачем тебе нужен c#?
Блин всё понятно было,на массивах стопорнулся. Для чего они нужны и где их применять? Зачем нужны двухмерные массивы? Можете предложить конкретную задачу где массивы будут выполнять основную функцию?
тот же вопрос. смысл от массивов если удобней создать 2-3 обычных переменных
@DarkShaper месяц назад столкнулся с проблемой, и понял что массив очень даже полезная штука)
@Red Squirrel например имена аккаунтов на твоем сайте) и пароли к нним в целом тоже можно в массив засунуть
было бы зашибись еслибы давал дз а на след уроке показывал исходный код того как это дз выполняется, была бы практика и все знания закреплялись бы а так дз всегда самому приходится себе сочинять)
каждый элемент это массив но в нем есть один масив и каждый элемент этого масива является масивом второго масива
Эта мысль требует глубокого осмысления)))
Ааааааа́аааааааааааааааааааааааааааааа как эта понять???????!!!!!!!!
@@водаотдошика Двумерные массивы - это матрицы. Матрицы изучают на первых курсах математических вузов, и о них очень понятно и подробно написано в интернете. Это очень простая тема, но на видео озвучена очень странна интерпретация.
Для новичков, простая матрица - шахматная доска 8х8, названия строк - буквы, названия столбцов - цифры, элементы матрицы - [a, 1] , [e, 5] , [d, 8] и другие клетки доски. И в эти клетки (элементы) мы можем засунуть какие-либо значения.
Матрицы - безумно удобная и необходимая вещь. Применяется в численных методах, теории игр, оптимальном управлении, линейном программировании и других областях. Собственно и для реализации игр они тоже используются. Пример могу привести неудачный, но с помощью двумерного массива можно сделать инвентарь, а также его сортировку по любым параметрам предмета.
Объяснение многомерных массивов я не понял вообще, а в основном молодец.
12:56 Remove в динамическом массиве удаляет не все, а только первый элемент который соответствует запросу.
numbers.Add (1);
numbers.Add (2);
numbers.Add (3);
numbers.Add (1);
numbers.Add (2);
numbers.Remove (2);
//то будет
1
3
1
2
скопируйте, проверьте.
строго в целях просвещения.
Блин) только же что сам решил попробовать , на ходу делал , пока Гоша расказывал, заметил подобную вещь ! Вот только что хотел идти писать Гоше)мол что за фигня?) а тут ваш комент сразу всё прояснил ))
Класс, теперь знаю как делать одномерные массивы
5 раз пересматривал про двухмерные массивы
6:34
программисты: за комментирую
Ты: за цементирую
Комментирую а не цементирую, вслушайся не сколько раз. Я пересмотрел этот момент и там такого нет!
Вот применение массива. Без массива я бы не создал динамически добавляемые переменные тип int.
Луйк!!!
using System;
namespace Полный_рандом
{
class Program
{
static void Main(string[] args)
{
string line = "----------------------";
int x, summ=0;
Console.WriteLine("Введите сколько вам надо рандомных чисел");
x = Convert.ToInt32(Console.ReadLine());
Console.WriteLine(line);
int[] rand = new int[x];
for (int i = 0; i < x; i++)
{
Random random = new Random();
rand[i] = random.Next(0, 100);
Console.WriteLine(rand[i]);
System.Threading.Thread.Sleep(15);
summ += rand[i];
}
Console.WriteLine(line+"
Сумма всех рандомных чисел = "+summ);
Console.ReadKey();
}
}
}
Remove удаляет только первое найденное значение, а не все.
А если ты хочешь удалить все с таким значением?
@@chelovekchelovekov5134 while (numbers.Contains(2))
numbers.Remove(2); //Можно так
Дз сделал. Вложенный цикл нужен. Типа сначала i, что в нем j и выводим их. Массивы без count или length
Rahmat kattakon uzb
2:04 первое упомянатие об начале отсчета списка:
опять же я хочу напомнить!!что список начинает отсчет с нуля
поздравляю у тебя 20 000 подписчиков
жалко что не у меня....
уже 216 000
268
Уже 279 000))
1000000 :)
Всё хорошо. но есть ошибки в изложении материала. length это не метод, а свойство, в данном случае, массива.
В питоне это метод
@@mrmiquy6640 А этот урок по C#
@@user-rl9sf5lh1r А это ошибка автора (канала)
Вот действительно чего не хватает, так это хотя бы примеров. К примеру можно было сказать, что remove позволяет чрез промежуток времени стирать сообщения в чате. Без этого просто как информация, я даже не понимаю как это использовать в игре. Жаль , что ты уже до снимал уроки.
6:23 John
Массивы например и так можно создавать:
string[] something = {"A", "B"}; //Ну например массив string
int[] randomguess = {1, 2}; //Массив int
есть несколько методов как их создавать.
@@ПатиматАсадуева ну да
Гоша Дударь такой топовый! Что даже рекламу смотрю ;D
Пиши текст, перед тем как объяснять. Сам путаешь и новичков путаешь. Про двумерный массив половину не понял. А за остальное спасибо.
Он похоже на первый просто он + i+j
+++
сам понимает, сам себе объясняет или для тех кто уже знает другие языки
Двумерны массив - это просто
Если не понял, то посмотри у него часовое видео про C# по двумерный массивы. Тогда поймёшь
Вот, держи код если надо:
using System;
namespace Name {
class MainClass {
public static void Main (string[] args) {
int [,] num = new int [2, 3] {
{43, 45, 634}, {34, 65, 76}
};
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
Console.Write (num [i, j] + " ");
}
Console.WriteLine (" ");
}
}
}
}
Если мы используем using System, а затем using System.Collections.Generic - есть ли в этом смысл ведь system по идее и все вложенное туда уже должно использоватся?
Во первых ну так же так сказали:D А во вторых в библиотеку System не все функции вложены и мы подключаем сторонние библиотеки для новых возможностей.
Спасибо больше за уроки!
Ребятки, кто знает, зачем нужна функция "RemoveAt"? Если можно просто удалить все не нужные значения с кода.
не jonh а john а так все круто , спасибо.
Если бы он не зделал ошибку, я бы не спустился в комментарии, в надежде что над этим будут стебатся!
@@doohast6921 сделал ошибку, чтоб больше комментариев набрать)0
Спасибо большое за уроки сансей но хотелосьбы чтобы ты приближал экран когда пишеш скрипты ато иногда не понятно что написано а так всё очень хорошо а те кто хочет практики то пусть на других каналах ишет этот канал нужен
int[] array = new int[5];
array[0] = 2;
array[1] = 3;
array[2] = 4;
array[3] = 5;
array[4] = 6;
for (int i = 0; i < array.Length; i++);
Console.WriteLine(array[i]+", ");
Console.ReadKey();
ПОЧЕМУ В СТРОЧКЕ Console.WriteLine(array[i]+", "); ОШИБКА i НЕ СУЩЕСТВУЕТ В ТЕКУЩЕМ КОНТЕКСТЕ???!!
int[] array = new int[5];
array[0] = 2;
array[1] = 3;
array[2] = 4;
array[3] = 5;
array[4] = 6;
for (int i = 0; i < array.Length; i++)
//Вот, где у тебя ошибка, забыл фигурные скобки поставить после условия for
//И после условия for знака ; быть не должно
{
Console.WriteLine(array[i]+", ");
}
Console.ReadKey();
Спасибо огромное
Alex West можно же не ставить здесь скобки эти
for (int i = 0; i < array.Lenght; i++)
Console.WriteLine(array[i] + ", ");
Alex West зачем лишний раз напрягать пальцы?)
@@stepanfomincev7331 +
Про обыкновенные массивы слёту понял, спасибо) Но вот про двухмерные было как то непонятно сказано, недосказано вернее(
представь массив: {1, 2, 3, 4, 5};
каждый элемент - число (1-5).
К примеру двойной массив можно сделать так
{ {1, 2, 3, 4, 5}, {6, 7, 8, 9, 10}, {11, 12, 13, 14, 15} }
Получается что двойной массив - это нично иное, как массив из массивов, как к примеру одинарный - это массив из чисел к примеру. Тоесть это одинарный массив из одинарных массивов.
Я это понял, спасибо) Просто я хотел сообщить автору, что он недосказал про двухмерные массивы.
что же ты слету понял ? как очистить массивы ? ,как сортировать, как удалять и добавлять елементы ? сомневаюсь. вот про этот минус уроков тут и говорят. похоже на начало фильма, но не на весь фильм. такие уроки нужны хотя бы в двух сериях. введение (на что похож этот ролик)и вторая часть, хотя бы про основной функционал работы с массивами. ведь операций с массивами масса. но кто о них рассказывает? а никто бл..... !
автору, безусловно, огромное спасибо. но изучать массивы надо отсылать куда-либо в другое место, если знание нет возможности выразить словесно.
не хочу обидеть Тома, но как программа поняла что он больше нуля?
Спасибо за видео!
Простой рандомайзер от 1 до 15:
using System;
public class Example
{
public static void Main()
{
Random rnd = new Random();
string[] rcs = { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15" };
int mIndex = rnd.Next(0, rcs.Length);
Console.WriteLine("Randomnoe chislo:");
Console.WriteLine("Chislo: {0}", rcs[mIndex]);
Console.ReadKey();
}
}
number.Remove(56); у меня удаляло только первую встречающююся 56, а если написать while(number.Remove(56)); то удаляет все 56 в списке, если их много
ty
Спасибо за урок, всё понятно, но 1 вопрос, для чего нужны массивы?
Объясняю с точки зрени программирования игр.Например ты хочешь задать характеристику своему персонажу(типо здоровье,опыт и т .д)Так вот,все эти данные можно распределять по массивам,чтобы потом удобно вытаскивать и изменять
Если у тебя будет характеристик 20, удачи вспомнить какая характеристика под каким номером идет. И если после тебя кто-то возьмется эту игру дорабатывать, этому человеку будет проще застрелиться.
Для быстрого доступа к каким то из данных массива, к примеру параметров для других функций или методов, ну или для обработки данных. Типа как база данных с быстрым доступом. То есть ты имеешь в массиве два числа. первый элемент массива содержит число 56, второй элемент содержит 89 в любой момент ты можешь обратиться к ним что бы получить от них произвольную. к примеру array[0]+array[1] и его производную ты выдаешь за результат. так же можно при помощи массива какую то неизвестную информацию обрабатывать. Так как в массив можно подавать информацию програмно. То есть, к примеру игра, игрок делает какое то действие, складывает головоломку. После сложения каждый элемент головоломки передает в массив свои координаты, у тебя есть еще один массив в котором координаты уложены в определенной последовательности. Потом проходит проверка на одинаковость двух массивов. Если они не одинаковы то пользователю выводится сообщение что он сложил головоломку не правильно.
@@mwcredo1 Разве для этого hash map не придумали?
Например если ты желаешь создать генератор паролей)
Можно не задавать количество элементов, а при присвоении,чтобы сситема сама поняла сколько элементов надо и проинициализовала массив нужной величины?
то, что мы указали пространство имен System разве не подразумевает то, что Collections.Generic; тоже туда входит? Не понимаю зачем указывать отдельно.
Спасибо тебе!
Простите, не понятно:
for (int i = 0; i < array.Length; i++)
Console.WriteLine(array[i]+ ", ");
Мы выводим циклом весь массив array, но зачем мы передаем параметром массиву array значение переменной i ? array[i] при выводе текста.
Куда и зачем девается значение записаное в i ?
Спасибо
Минута раздумий привела к мысли что:
Мы передаем массиву array значение переменной i для того что бы это значение выбирало "клетку" ли "номер" ячейки масива для вывода на экран, так?
при первой итерации цикла значение i = 0 потому первым будет выведен элемент массива под номером 0 потом i меняется с 0 на 1 и i = 1 будет выведен элемент массива под номером 1
Все правильно понял?
Да, все верно
Дз не понял😢
Я тоже
А можно с помощью массива list сделать базу данных? Например, регистрируется в сетевой игре какой-то игрок. Вводит свой никнейм и он записывается в массив list
Скорее нет чем да. Так как скрипт при выполнении не может возвращяться на уже пройденое место. То есть Это возможно но при помощи другого скрипта с изменением другого. В этом языке это если не ошибаюсь невозможно, так как файлы скомпилированы. А вот в php возможно, но все равно это глупая затея. Проще при выполнении скрипта подавать в массив данные с базы данных
Гош, подскажи, есть ли команда какая чтобы выбрать Range(диапозон) в массиве. К примеру есть массив из 200 чисел и нужно выбрать числа с 20 по 40, как то без перебора всего массива это можно сделать?
вообще ни черта не понял про многомерные массивы. мой мозг сказал мне: "моя остановочка" после слов о том, что каждый элемент первого массива является вторым массивом.
а так, спасибо за уроки
я тоже
А можно с помощью if проверить есть ли какой-то элемент в списке?
не Jonh, а John
Xamarin Studio Community на настоящий момент уже, + удобный инструмент.
И так, не могу найти косяк...
Хочу создать двумерный массив, где первый массив носит значения 0-4, а второй 5-9 и, соответственно, вывести на экран значения двумерного массива
(Предполагаю, что дело в последних двух строчках, но это не точно)
int[] a = new int[5];
for (int i = 0; i < a.Length; i++)
a[i] = i;
int[] b = new int[5];
for (int i = 0; i < b.Length; i++)
b[i] = i + 5;
int[,] numbers = new int[,] {a, b};
Console.WriteLine(numbers [a, b]);
Делал еще по-другому: объявлял двумерный массив перед обычными, таким образом: ( int[,] numbers = new int[5, 5]; )
А все остальное аналогично, но всё равно не получалось.
Где проблема??
5:31 Хотел Сербский массив написать)))))
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp2
{
class Program
{
static void Main(string[] args)
{
int x;
Console.WriteLine("Введите количество чисел, которые нужно запомнить");
x = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Введите числа, которые нужно запомнить в очередь");
int[] play = new int[x];
for (int i = 0; i < play.Length; i++)
{
play[i] = Convert.ToInt32(Console.ReadLine());
}
Console.WriteLine("Вот вашы числа");
for (int i = 0; i < play.Length; i++)
Console.WriteLine(play[i] + ", ");
Console.ReadLine();
}
}
}
Учу C#в приложении,(не скажу, дабы не рекламить) и вижу что там все то же самое , что и у тебя)
Что за приложение?
про тебя же в новостях говорили ты же в гугле работаешь в сан франциско
Спасибо за занятия, очень прикольно ведешь, можешь подсказать почему при использовании List, в цикле for выдается ошибка?
List i = new List();
i.Add("Jakc");
i.Add("т");
i.Add("й");
i.Add("ц");
for( string g = "name"; g = i.Count ; g= Console.ReadLine())
у цикла for нет тела
А что нельзя в цикле for записать так: for (int i = 0,i
существуют ли многомерные списки?
int[,] numbers = new int[5, 5];
for (int j = 0; j < numbers.Length; j++)
for (int i = 0; i < numbers.Length; i++)
Console.Write (numbers [i, j]);
Console.ReadKey();
System.IndexOutOfRangeException: "Индекс находился вне границ массива."
Помогите решить эту проблему.
у меня такая же ошибка
@Nort как тогда написать, если массив двумерный?
Гоша, очень помогло, но у меня есть вопрос, я все не могу найти, как заполнять массив напрямую пользователем, т.е в приложении, если я хочу завести массив , но числа задать уже в приложении, как это сделать ?
Через цыкл с вводом элемента
а как перебрать двомерный или многомерный массив если ты не знаешь его длинны?
не могу задействовать отладку (ф5). на убунте16.плиз помогите! она просто светится серым, даже нажать не могу
Пфф чё за дичь, пишет типа "int[] does not contain a definition for 'Lenght' and no extension method 'Lenght" accepting a first argument of type 'int[]' could be found (are you missing a using directive or an assembly reference?)
в чем разница? Массивы получаются одни и те же, но во втором случае короче : string [] names = new string [3] { "123" , "321" , "231" }; или как я задаю: string [] names = {"123", "321", "231"}?
вторая запись не правильна
как закомментировать в windows? ctrl + / не делает.
выделить то, что хочешь закоментировать и Ctrl+Alt+C
не работает, друг
Если работаешь в Visual Studio, то попробуй Ctrl+E+C , также Ctrl+E+U для раскомментирования. Советую загуглить "хоткеи для Visual Studio", первая ссылка на хабре. Надеюсь будет полезно
*CTRL + K, CTRL + C* (Сначало k,потом c)
-P.S-
Ctrl+K, Ctrl+U раскомментирование строки
Если ты в визуал студио то просто выделяешь то что тебе надо закомментировать , а потом нажимаешь ctrl+shift+/
Спасибо было интересно . А как вы цвет консольного сделали белым ? Есть специальный оператор , но похоже вы его задали с помощью опций программы . Я хочу эту программу увидеть на форме .
У тебя Windows?
У него мак, там по стандарту белая тематика
Объясните зачем использовать списки, если можно не указывать размер в обычном массиве, например: int[] MyArray = {1, 43, 3, 2, 1, 3, 5};
ну, например, когда надо заполнять список не сразу как создал, а потом
Не очень хорошо объяснил двухмерные массивы, пришлось самому догонять и тестить, но домашнее задание сделал, :3
Математика 5 класс, матрицы
чёт не помню что бы у нас это было
Ага 5-й класс, 1-й курс универа не хотел?)
int [,] numbers = new int[5,5];
numbers [1, 2] = 23;
Console.WriteLine(numbers[1, 2]);
Не совсем понятно, что значит numbers [1, 2] = 23;
Мы задаем значение 23 массиву №1 в ячейку №2?
Или мы задаем массиву №1 всем ячейкам значение 23 и массиву №2 всем ячейкам 23?
Dixie Обоим массивам значение 23
в 1 массиве есть 2 значение и это 23
все норм за исключением многомерных массивов
Всё норм за исключением того что про зубчатые массивы вообще ничего не рассказали, хотя они ещё сложней по структуре чем многомерные
что такое двойной массив?
Огромное спасибо сижу с блокнотом и все записываю и потом в mono
я так же делаю но с книгой)
( знаю пишу спустя 2 года но все же))
@@sansiGD офигеть как быстро время летит
Ты забыл в этом видео ускорить скорость просмотра))) Получается в реальной жизни ты заторможенный ))))) лол)))
Я не могу хорошо понять, для чего нужны скобки?
скобки показывают что это массив
@@nikita.moskovskiy Спасибо, бро! Но за 3 года, я уже как-то разобрался))) 😂
а почему списки затратнее массивов?
Помогите, сама консоль запускается, но в ide пишет что индекс находится вне границ массива
Попробуй заменить кавычки
Ребят,если мы выделяем память для нашего массива,разве мы её потом не должны удалить с помощью delet?
Нет, в c# нету такого, в с++ есть.
Мой первый калькулятор
using System;
namespace Script
{
class MainClass
{
public static void Main (string[] args)
{
float num, num_2;
string a;
Console.WriteLine ("Введите число");
num = Convert.ToInt32(Console.ReadLine());
Console.WriteLine ("Введите знак ");
a = Console.ReadLine ();
Console.WriteLine ("Введите ещё одно число");
num_2 = Convert.ToInt32(Console.ReadLine());
if (a == "+") {
Console.WriteLine ("
Ответ " + (num + num_2));
} else if (a == "-") {
Console.WriteLine ("
Ответ " + (num - num_2));
} else if (a == "*") {
Console.WriteLine ("
Ответ " + (num * num_2));
} else if (a == "/") {
Console.WriteLine ("
Ответ " + (num / num_2));
} else if (a == "%") {
Console.WriteLine ("
Ответ " + (num * num_2 / 100));
} else {
Console.WriteLine ("
Извините вы ввели неправильный знак");
}
Console.ReadKey ();
}
}
}
Круто
@@oliverstyle4119 спасибо )
Отлично! Молодец! А теперь попробуйте if/else заменить на switch/case. Посмотрите, на сколько лаконичнее будет смотреться программа (точнее, код)
@@helloxtesIa спасибо, обязательно попробую )
есть похожая программа, только вместо else if у меня switch(знаю можно было лучше сделать)
почему в намберс 1-2 массив а 3-ий число?
потому что выше указанно только двумерный массив поэтому в Namber 3 число считается как за ошибку(т.е. просто число)
если же был бы указан трех мерный массив, то естественно и 3 -е число тоже было бы массивом
Джон пишеться так John
И не надо писать что этому видео 5 лет и сансей уже давно не смотрит на коментарии я это знаю
Как правильно написать чтобы в операторе иф сравнивать сразу несколько массивов!?
через операторы и или и т.д(на си шарпе будет так(и- &&, или - ||)):
if (mas[i]> 0 && mas[i]
Это самое странное объяснение многомерных массивов из всех, что я слышал.
ЛЮДИ!!! Многомерный массив и Ступенчатый массив - ЭТО РАЗНЫЕ ВЕЩИ!
Массив массивов или Массив, в котором каждый элемент - массив - ЭТО СТУПЕНЧАТЫЙ МАССИВ:
int[ ][ ] x = new int[3][ ];
Его суть в том, что поскольку это, грубо говоря, массив массивов, то последние вложенные элементы (массивы) в иерархии ступенчатого массива могут быть разной длины! Поэтому в последней квадратной скобке мы ничего не пишем. А вот цифра 3 в первой скобке обозначает количество этих вложенных массивов. И таких вложенных в массив массивов может быть сколько угодно (можно ставить сколько угодно квадратных скобок)!
Пример:
int[ ][ ] jaggedArr = new int[3][ ]
{
new int[5] {1,8,2,7,9},
new int[3] {2,4,6},
new int[2] {33,42}
};
А вот Многомерный массив - это не "массив массивов", а МАССИВ С МНОЖЕСТВОМ ИЗМЕРЕНИЙ!!! В нём не может быть разных длин, поскольку данный тип массивов является скорее сеткой из элементов со строгой шириной и высотой (если это двухмерный массив или квадратная сетка), а также длиной (если это трёхмерный массив или кубическая сетка), четырёхмерной длиной (если это четырёхмерный массив или тессерактообразная сетка) и т. д.
Так что если уж и взялся учить, то учи более понятно. Согласен, пока что новичкам будет достаточно и этого объяснения, но впоследствии они станут путаться!!!
Не понял только, в каких ситуациях используется new
мне кажется, что во всех
Ты учился на программиста?
почему не int array[10]; ?
#гошаЛутшийITмастер
class Program
{
public static void Main(string[] args)
{
int [,] nums = new int[2,2];
nums[0, 0] = 1;
nums[0, 1] = 2;
nums[1, 0] = 11;
nums[1, 1] = 12;
for(int i = 0; i < nums.Length; i++)
{
for(int x = 0; x < nums.Rank; x++)
{
Console.WriteLine(nums[i, x]);
}
}
Console.ReadKey();
}
}
список вроде выводит, но потом ошибка "System.IndexOutOfRangeException: Индекс находился вне границ массива". А вот почему это ошибка вылезает - не понимаю. Если кто может, объясните что не так.
для многомерных массивов есть метод GetLength()
@@ArchyAngle спасибо)
у меня почему-то не работает !
using System;
using System.Collections.Generic;
namespace Application
{
class MainClass
{
public static void Main (string[] args)
{
List numbers = new List ();
numbers.Add (25);
numbers.Add (55);
Console.WriteLine (numbers (2) );
}
}
}
сверил 5 раз всё какбы правельно но неработает!!!
Console.WriteLine (numbers (2) );
Во-первых у тебя тут всего два элемента в листе, а лист начинается с нуля, то есть если хочешь вывести 55, тебе нужно писать 1 а не 2 в скобках.
Во-вторых, должны быть квадратные скобки, например numbers[1]
Ну, я так понимаю, многомерный массив - это массив с двумя координатами? Или что он такое то...
вообще массивы могут могут быть и трехмерными и четырехмерными. ну представь - пакеты для пакетов решили положить в огромный супер-пакет, потом еще пакеты для пакетов тоже положить в супер-пакет. потом эти два супер пакета сунули в один супер-пупер пакет. и так далее.
это я так. чтобы понятнее было. )
@@vladimirsimonenko8950 Спасибо!
Проблема в том что просто не сумел автор на понятном языке обьяснить концовку.Просто на других видео понимаешь,заходишь сюда и суть просто теряется в неправельных формулировках и предложениях,нужно заметки составлять потом пытаться новичкам объяснить,а не устраивать мозговой штурм.А так выходит прежде чем понять тему,нужно понять что пытался довести автор.Впрочем все равно спасибо,поработайте пожалуйста над качеством донесения информации.
у меня один вопрос, у меня в Visual Studio пишет,что ' i ' не существует в текущем контексте, как исправить?
Скинь в коменты код,думаю помогу
Тот же самый код, который в видео
Возможно, при объявлении переменной цикла (i), вы забыли поставить её тип? Проверьте запись, она должна выглядеть так:
for (int i = 0; i < array.Length; i++)
@@whxmvnce4569,проверь поставил ли ты фигурные скобки {},после условия for
Что делать если метода Lenght не существует?
не нужно отвечать я просто не так написал
Переберём все элементы массива!!!???(3:44) А если их ахулиард? Я что их должен все вводить. А если мне нужен случайный массив?
Есть функция Random
А если нужен то блять обойдешься
я забыл как быстро коментировать? какие нужны сочитания кавишь (windows)
Artemis 360 Ctrl Alt C