C#   Уроки программирования с нуля. Си-шарп для чайников   C#

Здравствуйте, гость!
Вход
Регистрация


Массивы в Си-шарп. Класс List
Массив – это набор однотипных данных, которые располагаются в памяти последовательно друг за другом. Доступ к элементам массива осуществляется по индексу (номеру) элемента. Массив может содержать элементы любого типа данных, можно даже создавать массив массивов (ступенчатый массив). Количество элементов в массиве называется размером массива. Массивы относятся к ссылочным типам данных.

Массивы в Си-шарп могут быть одномерными и многомерными.

Одномерные массивы

Одномерный массив по-другому еще называется вектором, и для доступа к его элементам используется только один индекс. Выглядит вектор примерно так:

одномерный массив в Си-шарп

В Си-шарп объявление массива имеет такую структуру:

тип[] имя_массива = new тип[размер массива];

Пример:

int[] array = new int[5]; // создаем массив целых чисел
string[] seasons = new string[4] {"зима","весна","лето","осень"}; //объявление массива строк и его инициализация значениями

Если происходит инициализация, оператор new можно упускать:

string[] seasons = {"зима","весна","лето","осень"}; //корректно

Доступ к элементам осуществляется по индексу. Следует помнить, что индексация начинается с нуля – первый элемент массива имеет индекс 0, а последний n-1, где n – размер массива.

static void Main(string[] args)
{
   int[] numbers = new int[5];
   numbers[0] = 5;
   numbers[1] = 2;
   numbers[4] = 3;
   numbers[5] = 2; // ошибка, индекс вне рамок массива
}

В качестве массива можно представить, например, список студентов в группе (имена), показатели температуры воздуха за последние несколько дней и так далее.

Многомерные массивы

Одним из случаев многомерного массива служит двумерный массив (матрица). В матрице для доступа к элементам необходимо использовать два индекса.

многомерный массив в Си-шарп

Количеством индексов, используемых для доступа к элементам массива называется размерность массива.

int[,] numbers1 = new int[2, 2]; // объявление двумерного массива
int[,,] numbers2 = new int[2, 2 ,3]; // объявление трехмерного массива
int[,] numbers3 = new int[3, 2] { {6, 0},
{5, 7},
{8, 9} }; // инициализация двумерного массива

Элементу массива numbers1 с координатами 1,1 присвоим значение 8:
numbers1[1, 1] = 8;

Многомерные массивы используются гораздо реже одномерных.

Приведу немного бредовый пример данных, которые можно было бы представить в качестве двумерного массива:

Есть матрица 7*4. Строки, которых семь, будут соответствовать дням недели, а 4 столбца - времени дня (00:00, 06:00, 12:00, 18:00). В качестве данных будет температура воздуха.

Значение температуры с координатами 2,3 будет соответствовать температуре в среду в 18:00. На практике, конечно, такие данные представлялись бы в другом виде, но для примера подойдет.

Ступенчатые (jagged) массивы в Си-шарп

Ступенчатый (jagged) массив – это массив массивов. В нем длина каждого массива может быть разной. Примерно это выглядит так:

ступенчатый массив в Си-шарп

Пример объявления ступенчатого массива:

static void Main(string[] args)
{
   int[][] array = new int[3][]; // объявляем массив, который содержит 3 массива
   array [0] = new int[3]; //создание внутреннего массива
   array [1] = new int[2];
   array [2] = new int[5];
}

Доступ к элементам осуществляется по тому же принципу, как и с многомерными маcсивами, только тут уже участвуют две пары квадратных скобок (продолжение примера выше):

array [0][1] = 5;
array [1][1] = 8;
array [1][2] = 5; // ошибка, индекс «2» вне границ массива

Свойство Length

Все массивы являются объектами и у них есть некоторые свойства.
Самым полезным для нас будет свойство Length, которое возвращает количество элементов в массиве (во всех размерностях)

static void Main(string[] args)
{
   int[] numbers = new int[5];
   int size = numbers.Length; // size = 5
}

Класс List

Класс List служит для работы со списками, о чем и говорит его название. Это такой «навороченный» массив. Главное отличие от простого массива в том, что он динамический – вы можете вставлять и удалять элементы в любое время, в то время как в простом массиве размер указывается при создании и сделать его больше или меньше нельзя.

static void Main(string[] args)
{
   List<string> teams = new List<string>(); // создание списка
   teams.Add("Barcelona"); // добавление элемента
   teams.Add("Chelsea");
   teams.Add("Arsenal");
   List<string> teams2 = new List<string>() {"Dynamo", "CSKA" }; // инициализация
}

Добавление элементов

Для добавления элементов в список в нем реализовано несколько методов:

МетодОписание
Add([элемент])добавляет элемент в конец списка
AddRange([список элементов])добавляет в конец списка элементы указанного списка
Insert([индекс],[элемент])вставляет элемент на позицию соответствующую индексу, все элементы «правее» будут сдвинуты на одну позицию
InsertRange([индекс], [список элементов])то же самое, только вставляется множество элементов

Удаление элементов

МетодОписание
Remove([элемент])удаляет первое вхождение указанного элемента из списка
RemoveRange([индекс], [количество])удаляет указанное количество элементов, начиная с указанной позиции
RemoveAt([индекс])удаляет элемент, который находится на указанной позиции
Clear()удаляет все элементы списка

Свойство Count соответствует свойству обычного массива – Length – количество элементов.

static void Main(string[] args)
{
   List<string> teams = new List<string>() { "Inter", "Milan", "Bayern", "Juventus"};
   teams.Insert(2,"Barcelona"); // вставляем в список элемент "Barcelona" на позицию 2
   teams.Remove("Milan"); // удаляем первое вхождение элемента "Milan" из списка
   List<string> newTeams = new List<string>() { "Liverpool", "Roma", "Borussia", "Valencia" };
   teams.AddRange(newTeams); // добавляем в конец списка элементы списка newTeams
}

Стоит помнить, что простые массивы работают быстрее, чем списки List. Если в вашей программе не особо важна производительность и вы не работаете с большими количествами данных, то удобнее использовать список, в противном случае нужно использовать простые массивы.

Домашнее задание

Работать с массивами без использования циклов в большинстве случаев нет смысла. О циклах мы поговорим в следующем уроке. А так, пока можете создать разные типы массивов, записать что-то, вывести на экран некоторые элементы массива, попробуйте получить доступ до элемента вне рамок массива. Создайте список, попробуйте добавить элемент в конец списка, вставить элемент по индексу и так далее.

PS. Буду очень благодарен, если поделитесь с друзьями этой статьей с помощью кнопок социальных сетей в конце поста.
Понравилась статья? Подпишись на рассылку и узнавай первым о новых уроках по почте!


Поделиться с друзьями:
19 апр 2013 15:57
nnikacag 22 окт 2017 07:18
Пройдите 1 регистрацию, сделайте 2 действия
и получайте от 8950 рублей каждые сутки в автоматическом режиме.

Мы гарантируем:
- Первый заработок в течении 60 минут.
- Стабильный доход 24 часа в сутки.
- Поступление денег без задержек.
- Для России, стран СНГ и Европы.
- Без вложений и установки ПО.
- Специально для новичков и людей без опыта.

Ознакомтесь с условиями на нашем сайте. ( prosto-dengi.tk )

CurtisTrody 14 окт 2017 09:51
Мы ценим ваше время и делим с вами общие цели. Ваши продажи для нас главный приоритет.
оптимизация сайтов в сети SEO2000

оращайтесь договримся есть примеры работ логин скайпа SEO2000

Avito321vom 29 сен 2017 01:23
<b>Пополение баланса Авито (Avito) за 50%</b> | <b>Телеграмм @a1garant</b>

<b>Приветствую вас, дорогие друзья!</b>

Рады предоставить Всем вам услуги по пополнению баланса на действующие активные аккаунты Avito (а также, абсолютно новые). Если Вам надо определенные балансы - пишите, будем решать. Потратить можно на турбо продажи, любые платные услуги Авито (Avito).

<b>Аккаунты не Брут. Живут долго.</b>

Процент пополнения в нашу сторону и стоимость готовых аккаунтов: <b>50% от баланса на аккаунте.</b>
Если требуется залив на ваш аккаунт, в этом случае требуются логин и пароль Вашего акка для доступа к форме оплаты, пополнения баланса.
Для постоянных заказчиков гибкая система бонусов и скидок!

<b>Гарантия: </b>

<b>И, конечно же ничто не укрепляет доверие, как - Постоплата!!!</b> Вперед денег не просим...

Рады сотрудничеству!

<b>Заливы на балансы Авито</b>
________

авито мелеуз деньги под проценты
продажа аккаунтов wot авито
как авторизовать аккаунт на авито
как на авито номер телефона если он есть в другом аккаунте
у меня взломали аккаунт авито

nnikacag 28 сен 2017 15:26
Пройдите 1 регистрацию, сделайте 2 действия
и получайте от 8950 рублей каждые сутки в автоматическом режиме.

Мы гарантируем:
- Первый заработок в течении 60 минут.
- Стабильный доход 24 часа в сутки.
- Поступление денег без задержек.
- Для России, стран СНГ и Европы.
- Без вложений и установки ПО.
- Специально для новичков и людей без опыта.

Ознакомтесь с условиями у нас на сайте. ( prosto-dengi.tk )

Nataliehic 24 сен 2017 22:47
Данное сообщение размещено здесь с помощью XRumer + XEvil 3.0
XEvil 3.0 - революционное приложение, способное обходить практически любую антибот-защиту.
Распознавание капчи Google, Facebook, Yandex, VKontakte, Captcha Com и свыше 8400 тысяч других типов!
Вы читаете это - значит, это работает! ;)
Подробности на официальном сайте XEvil.Net, есть бесплатная демо-версия.

AnnDanVan 23 сен 2017 04:23
Приветики мальчики и девочки. А как интересно Вы
проводите своё свободное время?

ghbdtn 21 сен 2017 05:43
Эти ебучие массивы выводятся так:

int[][] arr = new int[3][];
arr[0] = new int[3];
arr[1] = new int[2];
arr[2] = new int[5];
arr[0][2] = 16;
arr[1][0] = 45;
arr[2][4] = 99;
foreach (int item in arr[0])
Console.Write(item + " ");
Console.WriteLine();
foreach (int item in arr[1])
Console.Write(item + " ");
Console.WriteLine();
foreach (int item in arr[2])
Console.Write(item + " ");


А эти ебучие списки вот так:




List<string> Teams = new List<string>();
Teams.Add("Barcelona");
Teams.Add("Manchester");
Teams.Add("Spartaq");
foreach (string Team in Teams)
Console.WriteLine(Team);



АНАНИМАС 21 авг 2017 14:08
ну блядь, и как эти ебучие массивы/листы выводить на экран?

nalinacag 10 июл 2017 23:41
Интересная работа, оплата высокая!

Вы работаете дома! Полностью честно и прозрачно;
Доступно для всех - неважно кто вы и какой у вас опыт работы в интернете!
Вы будете зарабатывать: свыше четырёх тысяч рублей в день!
Сложность: Несложно!
Оплата: - уже на следующий деньги у вас на счету!

Ознакомтесь с условиями у нас на сайте. > realno-money.tk < Скопируйте и вставьте в адресную строку Вашего браузера.

wveracag 30 июн 2017 19:31
Интересная работа, высокая оплата!

Вы работаете дома! Полностью честно и прозрачно;
Доступно для всех - неважно кто вы и какой у вас опыт работы в интернете!
Вы будете зарабатывать: свыше четырёх тысяч рублей в день!
Сложность: Несложно!
Оплата: - уже на следующий деньги у вас на счету!

Ознакомтесь с условиями у нас на сайте. > realno-money.tk < Скопируйте и вставьте в адресную строку Вашего браузера.

lalinacag 26 июн 2017 20:19
Пройдите 1 регистрацию, сделайте 2 действия
и получайте от 8950 рублей каждые сутки в автоматическом режиме.

Мы гарантируем:
- Первый заработок в течении 60 минут.
- Стабильный доход 24 часа в сутки.
- Поступление денег без задержек.
- Для России, стран СНГ и Европы.
- Без вложений и установки ПО.
- Специально для новичков и людей без опыта.

Ознакомтесь с условиями на нашем сайте. ( prostozarplata.tk )

nalinacag 26 июн 2017 00:22
Несложная работа с обучением, оплата ежедневно!

Вы работаете дома! Полностью честно и прозрачно;
Доступно для всех - неважно кто вы и какой у вас опыт работы в интернете!
Вы будете зарабатывать: свыше четырёх тысяч рублей в день!
Сложность: Несложно!
Оплата: - уже на следующий деньги у вас на счету!

Ознакомтесь с условиями на нашем сайте. > realno-money.tk < Скопируйте и вставьте в адресную строку Вашего браузера.

Gleb 16 май 2017 00:54

static void Main(string[] args)
{

TvShow tv = new TvShow();
ConsoleKeyInfo key;
Console.WriteLine("Tv on.");
Console.WriteLine("F1 -previos chanel / F2 - next chanel / F3 - set chanel");
while (true)
{
key = Console.ReadKey();
selectChanel(tv, key);
Console.WriteLine("Now chanel: " + tv.getChanel());
}
}

private static void selectChanel(TvShow tv, ConsoleKeyInfo key)
{
switch (key.Key)
{
case ConsoleKey.F1:
tv.prevChanel();
break;
case ConsoleKey.F2:
tv.NextChanel();
break;
case ConsoleKey.F3:
Console.Write("Enter chanel 0..10 : ");
try
{
int ch = Convert.ToInt32(Console.ReadLine());
tv.setChanel(ch);
} catch (FormatException)
{
Console.WriteLine("Bad format");
}
break;
default:
Console.WriteLine("Bad key");
break;
}
}
//////////////////////////////////////////////////////
class TvShow
{
private int chanel = 0;

public void NextChanel()
{
if (chanel < 10)
{
chanel++;
} else
{
chanel = 0;
}
}

public void prevChanel()
{
if (chanel > 0)
{
chanel--;
}
else
{
chanel = 10;
}
}

public void setChanel(int chanel)
{
if (chanel >= 0 && chanel <= 10)
{
this.chanel = chanel;
}
else
{
Console.WriteLine("Bad chanel. Enter chanel 0...10");
}
}

public int getChanel()
{
return chanel;
}
}

ИнтерДизайн 21 мар 2017 19:51
There is no way to tell C# to automatically sort a list as items are added. If the items in a list are required to be always sorted into order the A number of methods are provided with the List and ArrayList classes for the purposes of finding items. The most basic method is the

ИнтерДизайн 19 мар 2017 01:23
We're sorry. To protect our users, we can't process your request right now.

ИнтерДизайн 16 мар 2017 07:59
To protect our users, we can't process your request right now. We're sorry.

http://www.maillotdefoot-euro.com/maillot-juventus-c-3_81 14 мар 2017 20:58
It`s really useful! Thank you!

ИнтерДизайн 13 мар 2017 20:08
Whilst useful for many tasks arrays are really starting to show their age in terms of both . If the type of the array elements is a reference type, you can leave out the. In the previous chapter we looked at C# Arrays. Копирует весь список ArrayList в совместимый одномерный массив Array. Класс List служит для работы со списками, о чем и говорит его . T с указанной начальной емкостью. The "Javascript Array" is a type which is added into the Unity Engine, and. In the case you want to return an array of enums as a list you can do the following. The Haskell sample operates on lists, while the C sample operates on arrays. Hence I would like to know if it it possible to convert System. This is because PropertyField doesn't show any children – like array elements . I'm working on a windows form to calculate UPC for item numbers. It will avoid all sorts of useless memory allocation. There is also a constructor overload for List that will work. However the biggest thing that.. But I guess this would required a strong typed array. Массивы в Си-шарп могут быть одномерными и многомерными. Arrays are only really good when you know exactly how many elements you. C_Sharp_List_and_ArrayList_Collections. Built-in array; Javascript Array; ArrayList; Hashtable; Generic List; Generic. This tutorial comes after the Custom Data tutorial. Finally clear method remove all the items . Finally clear method remove all the items. Software Engineering Stack. I have started and tried using a list, but I keep getting stuck. But in the same dream, someone from SO told me otherwise. Performance « JacksonDunstan. This article provides an overview of Collections, Array Lists, Hash Tables.

ИнтерДизайн 10 мар 2017 23:10
To protect our users, we can't process your request right now. We're sorry.

ИнтерДизайн 06 мар 2017 17:56
If the type of the array elements is a reference type, you can leave out the. Finally clear method remove all the items . However the biggest thing that.. C_Sharp_List_and_ArrayList_Collections. Массивы в Java ковариантны с самой первой версии, когда в языке ещё не . Массивы в Си-шарп могут быть одномерными и многомерными. The "Javascript Array" is a type which is added into the Unity Engine, and. Arrays are only really good when you know exactly how many elements you. I have started and tried using a list, but I keep getting stuck. I'm working on a windows form to calculate UPC for item numbers. But I guess this would required a strong typed array. Hence I would like to know if it it possible to convert System. Built-in array; Javascript Array; ArrayList; Hashtable; Generic List; Generic. In the previous chapter we looked at C# Arrays. Finally clear method remove all the items. There is also a constructor overload for List that will work. In the case you want to return an array of enums as a list you can do the following. It will avoid all sorts of useless memory allocation. Whilst useful for many tasks arrays are really starting to show their age in terms of both . Массив — ссылочный тип, следовательно, память для него . Software Engineering Stack. But in the same dream, someone from SO told me otherwise. C Sharp Не секрет, что C# сегодня популярный и динамично. Performance « JacksonDunstan. This article provides an overview of Collections, Array Lists, Hash Tables. Класс List служит для работы со списками, о чем и говорит его . T представляет простейший список однотипных объектов.

segorcag 20 фев 2017 08:14
Увлекательная работа на дому.
Мы предлагаем: Достойная зарплата без задержек, справка 2-НДФЛ, карьерный рост, бесплатное обучение,
свободный график, страховые взносы в Пенсионный фонд, официальный договор (по желанию).
Рабочий график, Вы определяете самостоятельно.
Ваш возраст и образование значения не имеют.
Обязательные условия: наличие компьютера и интернета.
Ваши действия:
1. На сайте ( off-rabota.tk ) скачайте и установите приложение.
2. Ознакомьтесь с содержимым.
3. Пройдите несложную регистрацию.
4. Обязательно, пройдите курсы обучения. (Бесплатно)
5. Начинайте зарабатывать!
Зарплату мы перечисляем только на банковскую карту любой платёжной системы.
(Для работы советуем оформить отдельную карту)
ВНИМАНИЕ! Весь процесс регистрации, обучения совершенно бесплатны. Не попадитесь в руки мошенников!

-----JGHHJ16FU16G1U6F51J6F1J6R1UY6F5Y-----

qegorcag 08 фев 2017 13:09
Увлекательная работа не выходя из дома.
Мы предлагаем: Достойная зарплата без задержек, справка 2-НДФЛ, карьерный рост, бесплатное обучение,
свободный график, страховые взносы в Пенсионный фонд, официальный договор (по желанию).
График Вашей работы, Вы устанавливаете самостоятельно.
Ваш возраст и образование значения не имеют.
Обязательные условия: наличие компьютера и интернета.
Ваши действия:
1. На сайте ( off-rabota.tk ) скачайте и установите приложение.
2. Ознакомьтесь с содержимым.
3. Пройдите несложную регистрацию.
4. Обязательно, пройдите курсы обучения. (Бесплатно)
5. Начинайте зарабатывать!
Зарплату мы перечисляем только на банковскую карту любой платёжной системы.
(Для работы советуем оформить отдельную карту)
ВНИМАНИЕ! Весь процесс регистрации, обучения совершенно бесплатны. Не попадитесь в руки мошенников!

-----JGHHJ16FU16G1U6F51J6F1J6R1UY6F5Y-----

Dennishen 31 янв 2017 10:15
* Episode 3 Global Warming

Абылай 16 окт 2016 07:19
как можно добавить максимума и минимума элемента массива??
помогите))

Саша 17 сен 2016 20:20
Ребят, у меня вопрос: почему в список при инициализации нельзя вставить массив?.
За ранние благодарю!

Inna 28 май 2016 11:32
а где применим джагет? просто действительно интересно.. и да, почему не заполняется рандомами он?

*Serega* 21 апр 2016 00:31
Доброго времени суток! Возникло пару вопросов:
1. Возможно ли в одном массиве использовать и числа и слова?
2. Как сделать отображение массива в три столбца, а не в строчку как в данном примере?

string[,] a = new string[3, 4];
a[0, 0] = " Зима ";
a[0, 1] = " Весна ";
a[0, 2] = " Лето ";
a[0, 3] = " Осень ";
a[1, 0] = " -5 ";
a[1, 1] = " 10 ";
a[1, 2] = " 30 ";
a[1, 3] = " 15 ";
a[2, 0] = " 1 ";
a[2, 1] = " 2 ";
a[2, 2] = " 3 ";
a[2, 3] = " 4 ";
foreach (string el in a)
{
Console.WriteLine(el);
}
Console.ReadKey();


Заранее большое спасибо за ответ!

lidiia 14 апр 2016 11:03
1, Напишите программу последовательного ввода чисел из диапазона
0…255. Запрещается последовательно вводить два числа, разность
между которыми меньше 7. Программа заканчивает работу после обна-
ружения первой ошибки
2, Дан двухмерный массив 7 на 7. Найти сумму модулей отрицательных нечетных элементов.

MrMeshcher 19 фев 2016 20:59

using System;
using System.Collections.Generic;

namespace Lesson6
{
public class Program
{
/*
1) Напишите функцию, которая будет менять в массиве целых чисел все элементы,
которые равны указанному значению (аргумент) на противоположное значение по знаку.
Например, все элементы массива которые равны 5, будут меняться на -5.

2) Напишите функцию, которая будет находить минимальное число из трех.

3) Напишите функцию, которая будет возвращать указанный элемент ряда Фибоначчи.
Ряд Фибоначчи – это ряд, в котором каждый следующий элемент равен сумме двух предыдущих. 1 1 2 3 5 8 13 21…
Функция принимает порядковый номер элемента, и возвращает соответствующий элемент.*/
public static void Main(string[] args)
{
int[] numbers = { 0, -3, 32, -6, 27, 55, 43, -2, 34 };
Program.reNumber(numbers);
foreach (int i in numbers)
{
Console.WriteLine(i.ToString());
}
Console.WriteLine("Минимальное число = " + Program.minValue(numbers));

Console.WriteLine("Седьмой элемент ряда Фибоначи равен "+Program.numFibonacci(8));
Console.ReadKey();

}

public static void reNumber(int[] array)
{
for (int i = 0; i < array.Length; i++)
{
array[i] *= -1;
}


}

public static int minValue(int[] array)
{
int min = array[0];
for (int i = 1; i < array.Length; i++)
{
if (array[i] < min)
{
min = array[i];
}

}
return min;
}

public static int numFibonacci(int count)
{
List<int> array = new List<int>();
array.Add(1);
array.Add(1);
int member = 0;
for(int i=0; i< count-1; i++)
{
member=array[i]+array[i+1];
array.Add(member);
}
return array[count-1];
}

}
}


MrMeshcher 19 фев 2016 20:59
using System;
using System.Collections.Generic;

namespace Lesson6
{
public class Program
{
/*
1) Напишите функцию, которая будет менять в массиве целых чисел все элементы,
которые равны указанному значению (аргумент) на противоположное значение по знаку.
Например, все элементы массива которые равны 5, будут меняться на -5.

2) Напишите функцию, которая будет находить минимальное число из трех.

3) Напишите функцию, которая будет возвращать указанный элемент ряда Фибоначчи.
Ряд Фибоначчи – это ряд, в котором каждый следующий элемент равен сумме двух предыдущих. 1 1 2 3 5 8 13 21…
Функция принимает порядковый номер элемента, и возвращает соответствующий элемент.*/
public static void Main(string[] args)
{
int[] numbers = { 0, -3, 32, -6, 27, 55, 43, -2, 34 };
Program.reNumber(numbers);
foreach (int i in numbers)
{
Console.WriteLine(i.ToString());
}
Console.WriteLine("Минимальное число = " + Program.minValue(numbers));

Console.WriteLine("Седьмой элемент ряда Фибоначи равен "+Program.numFibonacci(8));
Console.ReadKey();

}

public static void reNumber(int[] array)
{
for (int i = 0; i < array.Length; i++)
{
array[i] *= -1;
}


}

public static int minValue(int[] array)
{
int min = array[0];
for (int i = 1; i < array.Length; i++)
{
if (array[i] < min)
{
min = array[i];
}

}
return min;
}

public static int numFibonacci(int count)
{
List<int> array = new List<int>();
array.Add(1);
array.Add(1);
int member = 0;
for(int i=0; i< count-1; i++)
{
member=array[i]+array[i+1];
array.Add(member);
}
return array[count-1];
}

}
}

Рустем 18 фев 2016 20:14
Замечательный курс!!!! просто и наглядно!

dmitry_zon 28 янв 2016 15:49
а количество элементов в массиве/списке ограничено?

Rina 08 дек 2015 16:46
Задать двумерный массив 5х5. Заполнить его случайным образом от -10 до +10 и вывести на экран. а) определить есть ли в массиве элемент 0. Если есть, определить сколько их и вывести на экран их позицию.

б) Сколько в массиве элементов кратных заданному числу?

в)Вычислить, есть ли в массиве 2 одинаковых элемента.

г) Найти сумму элементов главной диагонали.

д) Найти произведение элементов над главной диагональю

е) Выяснить, есть ли строка или столбец состоящий только из положительных или отрицательных элементов, указать их номера.

ё)повернуть массив на 90, 180 и 270 градусов и вывести на экран.

Alibek 07 дек 2015 18:14
Создать класс MyArray который содержит символьный ступенчатый массив. Создайте конструктор, который будет инициализировать этот массив, который должен содержать только следующие символы:'+','*','-'. В классе определите:
метод,который упорядочит эти символы и запишет результат в строку.
метод, возвращающий строковый ступенчатый массив, в котором каждый элемент(массив)-это объединение символов по каждому массиву ступенчатого массива

Rina 01 дек 2015 14:09
1. Задать одномерный массив из 10 целочисленных элементов. Заполнить его случайным образом. Найти максимальное, минимальное и среднее значение элементов массива.

2. Задать одномерный массив из 10 целочисленных элементов. Заполнить его случайным образом. Отсортировать элементы массива методом "пузырька".

3. Найти максимальный по модулю элемент массива.

4. Заменить все наименьшие элементы массива на наибольшие.

5. Найти сумму всех элементов массива,кратных заданному числу n.

При решении данных задач использовать метод Random для заполнения элементов массива.

Rina 01 дек 2015 14:01
1. Сформировать числовой массив.(30 элементов). записать его случайным образом от 1 до 100. отсортировать массив по возрастанию методом "пузырька".И определить наличие в массиве элемента совпадающего с номером 12.

slok 27 ноя 2015 19:52
Хочу просто ввести и вывести массив. Что неправильно написано. При компиляции выдает ошыбку

static void Main(string[] args)
{
int[,] mas = new int[3,3]; // обявлення масиву

// заповнення масиву
Console.WriteLine("Заполним матрицу");
for (int i = 0; i < 3; i++)
{
Console.WriteLine("Вводим строку " + (i + 1));
for (int j = 0; j < 3; j++)
{
mas[i, j] = int.Parse(Console.ReadLine());
}
}

// виведення масиву
for (int i = 0; i < 3; i++)
{
for (j = 0; j < 3; j++)
{
Console.Write(mas[i, j] + " ");
}
Console.WriteLine();
}

Console.ReadKey();

Степа 15 ноя 2015 23:47
Здравствуйте, если не сложно можете подсказать. mas.GetLength(0) - это значит я получаю длину(количество элементов) первой строки , а mas.GetLength(1) -количество элементов второй строки в двумерном массиве? И еще как мне поменять местами в двумерном массиве два противоположных элемента, с учетов перестановки элемента только один раз? Как я понимаю нужно проводить два параллельных цикла for и потом сравнивать элементы, а вот перестановка элементов в один раз, совсем запутался, подскажите пожалуйста.

valbort 15 ноя 2015 16:35
Я не понял про "Свойство Length". Что значит "возвращает количество элементов в массиве" и зачем это нужно? Обьясните, кто понял, пожалуйста. Совсем не смог понять про Lenght(((((

OLEGTWFTW 15 окт 2015 00:13
artiFAKt

"Следует помнить, что индексация начинается с нуля – первый элемент массива имеет индекс 0, а последний n-1, где n – размер массива."
Думаю дальше додумаешь сам))

artiFAKt 14 окт 2015 14:25
[quote] Есть матрица 7*4. Строки, которых семь, будут соответствовать дням недели, а 4 столбца - времени дня (00:00, 06:00, 12:00, 18:00). В качестве данных будет температура воздуха.

Значение температуры с координатами 2,3 будет соответствовать температуре в среду в 18:00.[/quote]

А случайно не вторник 12:00 ???

Дмитрий 09 окт 2015 14:28
Во, чё сделал (с массивами и особенно циклами у меня туговато пока).

using System;

namespace EducationApp
{
class Program
{
static void Main()
{
int[] massive = new int[5];



for (int i = 1; i < 6; i++)

{
Console.WriteLine("введите {0}-й элемент массива" , i);
massive[i-1] = Convert.ToInt32(Console.ReadLine());
}
for (int j = 1; j < 6; j++)
{
Console.WriteLine("элемент массива равен {0}", massive[j-1]);
}

Console.ReadKey();
}
}
}


Юрий 06 сен 2015 12:13
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
int[] array = new int[20];
array[0] = 1;
for (int i = 1; i < 20; i++)
{
array[i] = array[i-1]+3;
}
for (int u = 0;u<20; u++)
{
Console.WriteLine(array[u]);

}
Console.ReadLine();
}

}
}

Weber 21 авг 2015 11:40
Все уроки понятные, все доступно объяснялось, но вот массив какой-то совсем не понятный второй день сижу ине втыкаю, можете объяснить доступнее как и что?

Никита 18 авг 2015 20:58
do
{
int[,] numbers3 = new int[10, 10] { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9},
{0, 2, 4, 6, 8, 10, 12, 14, 16, 18,},
{0, 3, 6, 9, 12, 15, 18, 21, 24, 27},
{0, 4, 8, 12, 16, 20, 24, 28, 32, 36},
{0, 5, 10, 15, 20, 25, 30, 35, 40, 45,},
{0, 6, 12, 18, 24, 30, 36, 42, 48, 54,},
{0, 7, 14, 21, 28, 35, 42, 49, 56, 63,},
{0, 8, 16, 24, 32, 40, 48, 56, 64, 72,},
{0, 9, 18, 27, 36, 45, 54, 63, 72, 81,}};

Console.WriteLine("Введите первый множитель (0-9)");
int x;
x = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Введите второй множитель (0-9)");
int y;
y = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Ваш ответ - " + numbers3[x, y]);
} while (true);//Таблица умножения.

MichGar 23 июл 2015 20:44
/*
Работать с массивами без использования циклов в большинстве случаев нет смысла.
О циклах мы поговорим в следующем уроке. А так, пока можете создать разные типы массивов,
записать что-то, вывести на экран некоторые элементы массива, попробуйте получить доступ
до элемента вне рамок массива. Создайте список, попробуйте добавить элемент в конец списка,
вставить элемент по индексу и так далее.
*/

using System;
using System.Collections.Generic;
using System.Text;

namespace ArrayList
{
class Program
{
static void Main(string[] args)
{
// Создание массива чисел типа int.
int[] arrayInts = new int[]{1, 10, 28, 49, 0, 56};

// Создание массива чисел типа double.
double[] arrayDoubles = new double[]{0.23, 1.25, 4.56, 0.007};

// Создание массива чисел типа string.
string[] arrayStrings = new string[] {"Dynamo", "Dnipro", "Metalist", "Zorya", "Karpaty"};

// Определение размерностей массивов arrayInts, arrayDoubles и arrayStrings.
Console.WriteLine("В массиве arrayInts {0} элементов.", arrayInts.Length);
Console.WriteLine("В массиве arrayDoubles {0} элементов.", arrayDoubles.Length);
Console.WriteLine("В массиве arrayStrings {0} элементов.", arrayStrings.Length);

// Определение указанного с клавиатуры элемента массива arrayInts
Console.Write("Введите число (от 1 до {0}), \nтак как максимальный элемент массива arrayInts - {0}: ",
arrayInts.Length);
int numberArrayInts = Convert.ToInt32(Console.ReadLine());
if (numberArrayInts > arrayInts.Length)
Console.WriteLine("Вы указали число, которое больше {0}", arrayInts.Length);
Console.WriteLine("{0} элемент массива arrayInts - {1}",
numberArrayInts, arrayInts[numberArrayInts - 1]);

// Определение указанного с клавиатуры элемента массива arrayDoubles
Console.Write("Введите число (от 1 до {0}), \nтак как максимальный элемент массива arrayDoubles - {0}: ",
arrayDoubles.Length);
int numberArrayDoubles = Convert.ToInt32(Console.ReadLine());

if (numberArrayDoubles > arrayDoubles.Length)
Console.WriteLine("Вы указали число, которое больше {0}", arrayDoubles.Length);
Console.WriteLine("{0} элемент массива arrayDoubles - {1}",
numberArrayDoubles, arrayDoubles[numberArrayDoubles - 1]);

// Определение указанного с клавиатуры элемента массива arrayStrings
Console.Write("Введите число (от 1 до {0}), \nтак как максимальный элемент массива arrayStrings - {0}: ",
arrayStrings.Length);
int numberArrayStrings = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("В массиве arrayStrings {0} элементов.", arrayStrings.Length);
if (numberArrayStrings > arrayStrings.Length)
Console.WriteLine("Вы указали число, которое больше {0}", arrayStrings.Length);
Console.WriteLine("{0} элемент массива arrayStrings - {1}",
numberArrayStrings, arrayStrings[numberArrayStrings - 1]);

// Создание списка типа int.
List<string> listStrings = new List<string>();
List<string> listStrings2 = new List<string>();

// Добавление элементов
listStrings2.Add("Metalist");
listStrings2.Add("Zorya");
listStrings2.Add("Karpaty");
listStrings2.Add("Dynamo");

listStrings.Add("Dnipro");
listStrings.AddRange(listStrings2);

// Определение указанного с клавиатуры элемента списка listStrings
Console.Write("Введите число (от 1 до {0}), \nтак как максимальный элемент списка listInts - {0}: ",
listStrings.Count);
int numberListStrings = Convert.ToInt32(Console.ReadLine());
if (numberListStrings > listStrings.Count)
Console.WriteLine("Вы указали число, которое больше {0}", listStrings.Count);
Console.WriteLine("{0} элемент списке listStrings - {1}",
numberListStrings, listStrings[numberListStrings - 1]);
listStrings.Insert(2, "Volyn'");
Console.WriteLine("После добавления нового элемента, {0} элемент списке listStrings - {1}",
numberListStrings, listStrings[numberListStrings - 1]);
}
}
}

Mikhail 15 июл 2015 18:20
//Домашнее задание CSharp для чайников, урок 5.
//Вводятся матрицы M 2x2, U 2x3 и A 2x3,
//вычисляется определитель M и произведение A=M*U.
const int i = 2;
const int j = 3;
double[,] M = new double[i,i] { { 1, 0.4 }, { 0.3, 0.2 }};
double[,] U = new double[i,j] { { 0.5, 0.4, 0.3 }, { 1, 1, 1 } };
double[,] A = new double[i,j];
double Determinant = M[0,0]*M[1,1]-M[0,1]*M[1,0]; //Определитель
Console.WriteLine("|M|= "+Determinant);

A[0,0] = M[0,0] * U[0,0] + M[0,1] * U[1,0]; //Произведение
A[1,0] = M[1,0] * U[0,0] + M[1,1] * U[1,0];
A[0,1] = M[0,0] * U[0,1] + M[0,1] * U[1,1];
A[1,1] = M[1,0] * U[0,1] + M[1,1] * U[1,1];
A[0,2] = M[0,0] * U[0,2] + M[0,1] * U[1,2];
A[1,2] = M[1,0] * U[0,2] + M[1,1] * U[1,2];

Console.WriteLine();
Console.WriteLine("M*U=");//Вывод на экран результатов произведения
for (int row = 0; row < i; row++)
{
for (int column = 0; column < j; column++)
{
Console.Write(A[row,column]+" ");
}
Console.WriteLine();
}
Console.ReadKey();

умапалата 23 июн 2015 17:01

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace test6
{
class Program
{
static void Main(string[] args)
{
//Создам блок пароля
string pass;//создадим переменную типа стринг
do
{
Console.WriteLine("Bведите пароль:");//попросим пользователя ввести пароль а переменную будем крутить в цикле ду
pass = Convert.ToString(Console.ReadLine()); //и будем приравнивать к введенной пользователем инфе
}
while (pass != "root");// покуда пароль не укажут верный


//Создам блок итератора
int i, s = 0; //Обьявляю и инициирую переменные нулем

Console.WriteLine("Программа выведет ряд чисел постоянно увеличивеющихся на 3\nПопробуйте задать число i:");
start1:
//обработка исключений блок трай-кетч с гоуту лейблом
try{
i = Convert.ToInt32(Console.ReadLine());//Попрошу пользователя ввести число-начало итерации
}
catch (Exception) {
Console.WriteLine("Нужно ввести любое числовое значение");
goto start1;
}

List<Int32> array1 = new List<Int32>() {i};//создам два списка так как их можно дополнять "походу"
List<Int32> array2 = new List<Int32>() {i};
while (s < 19)//здесь цикл работает с учетом того что С равно 0
{

i += 3;
s++;
Console.WriteLine(i);//выведем С чисел поиндексно от 0 до 19 увеличивая их последовательно от значения И
array1.Add(i);// короче 20 чисел увеличиваются на 3 последовательно начиная от загаданного юзером
array2.Add(i);//и запишу эти числа в созданные списки
}
array1.RemoveRange( 0, 10);//использую метод списков для удаления лишних чисел
array2.RemoveRange(9, 10);// так чтобы 10 чисел попадало в первый список а 10 во второй
Console.WriteLine("______________________________________________________________________________");


//начну блок сложения массивов
Console.WriteLine("Есть два массива данных по 10 элементов в каждом\nЭто первый");
for (i = 0; i < array1.Count; i++)
{
Console.WriteLine(array1[i]+"\n");//выведу на экран первый массив-список при помощи все того же итератора...
}
Console.WriteLine("И второй массив");
for (i = 0; i < array2.Count; i++)
{
Console.WriteLine(array2[i]+"\n");//и второй...
}


List<Int32> summArray = new List<Int32>(10); //создаю переменную-список для хранения сумм членов списков
for (int ii = 0; ii < 10; ii++)
{
int Summ = array1[ii] + array2[ii]; //реализую алгоритм сложения и помещаю результат в созданную специально переменную
summArray.Add(Summ);//сохраняю результаты в суммСписок
}
Console.WriteLine("Программа просчитает сумму элементов в двух массивах попарно\nЗначения в третьем массиве т.е. суммы значений в первых двух массивах");
for (int iii = 0; iii < summArray.Count; iii++)
{
Console.WriteLine(summArray[iii]);//Результат на экран
}
Console.ReadKey();
}
}
}

Дмитрий 27 май 2015 08:39

private static void Main(string[] args)
{
DateTime days = DateTime.Now;

string[] days_of_the_week = { "Понедельник", "Вторник",
"Среда", "Четверг", "Пятница",
"Суббота", "Воскресенье" };

string day = days.DayOfWeek.ToString();

switch (day)
{
case "Monday":
Console.WriteLine("Сегодня {0}", days_of_the_week[0]);
break;

case "Tuesday":
Console.WriteLine("Сегодня {0}", days_of_the_week[1]);
break;

case "Wednesday":
Console.WriteLine("Сегодня {0}", days_of_the_week[2]);
break;

case "Thursday":
Console.WriteLine("Сегодня {0}", days_of_the_week[3]);
break;

case "Friday":
Console.WriteLine("Сегодня {0}", days_of_the_week[4]);
break;

case "Saturday":
Console.WriteLine("Сегодня {0}", days_of_the_week[5]);
break;

case "Sunday":
Console.WriteLine("Сегодня {0}", days_of_the_week[6]);
break;
}

Console.ReadKey();

Денис 24 фев 2015 00:36
Как вот такой вариант?


int day=0, time=-1, currentdate = 5, currenttime = 18;
string [] days = {"понедельник", "вторник", "среда", "четверг", "пятница", "суббота", "воскресенье"};
int[,] temperature = { { 4, 10, 16, 12 }, { 8, 12, 20, 16 }, { 9, 14, 21, 17 }, { 10, 8, 14, 10 }, { 5, 7, 13, 9 } };
Console.WriteLine("Сейчас " + days [currentdate-1] + " " + currenttime +":00. Температура за прошедшую неделю:");
do {Console.WriteLine("Введите порядковый номер дня недели");
try { day = Convert.ToInt32(Console.ReadLine()); }
catch (FormatException) {Console.WriteLine("Неверный формат");}
catch (OverflowException) {Console.WriteLine("Неверное значение");}}
while (day < 1 || day > currentdate) ;
do {Console.WriteLine("Введите время в часах");
try { time = Convert.ToInt32(Console.ReadLine()); }
catch (FormatException) {Console.WriteLine("Неверный формат");}
catch (OverflowException) {Console.WriteLine("Неверное значение");}}
while ((time < 0 || time > 23) || (time > currenttime && day == currentdate)) ;
Console.WriteLine("Температура воздуха " + temperature[day-1,time/6] + " градусов по Цельсию.");
Console.ReadKey(true);

Денис 23 фев 2015 21:16
Вообще-то абсолютно минимальный вариант этой части кода займет всего одну строку:

Console.WriteLine("Температура воздуха " + temperature[day-1,time/6] + " градусов по Цельсию.");

+ необходимо будет правильно написать проверку даты и времени при введении

Когда будет время - оптимизирую :-)

Максим 23 фев 2015 17:48
Денис
---
Да, а Сергей у нас мастер хардкода

Денис 23 фев 2015 11:47
А еще лучше так:

Console.WriteLine("Температура воздуха ");
if (time >= 0 && time < 6)
Console.WriteLine(temperature[day-1,0]);
else if (time >= 6 && time < 12)
Console.WriteLine(temperature[day-1,1]);
else if (time >= 12 && time < 18)
Console.WriteLine(temperature[day-1,2]);
else
Console.WriteLine(temperature[day-1,3]);
Console.WriteLine("градусов по Цельсию ");

Денис 23 фев 2015 11:43
Можно эту часть:

switch (day)
{
case 1:
if (time >= 0 && time < 6)
Console.WriteLine("Температура воздуха"+temperature[0,0] + "градусов по Цельсию");
else if (time >= 6 && time < 12)
Console.WriteLine("Температура воздуха"+temperature[0,1] + "градусов по Цельсию");
else if (time >= 12 && time < 18)
Console.WriteLine("Температура воздуха"+temperature[0,2] + "градусов по Цельсию");
else
Console.WriteLine("Температура воздуха"+temperature[0,3] + "градусов по Цельсию");
break;
case 2:
if (time >= 0 && time < 6)
Console.WriteLine("Температура воздуха" + temperature[1, 0] + "градусов по Цельсию");
else if (time >= 6 && time < 12)
Console.WriteLine("Температура воздуха" + temperature[1, 1] + "градусов по Цельсию");
else if (time >= 12 && time < 18)
Console.WriteLine("Температура воздуха" + temperature[1, 2] + "градусов по Цельсию");
else
Console.WriteLine("Температура воздуха" + temperature[1, 3] + "градусов по Цельсию");
break;
case 3:
if (time >= 0 && time < 6)
Console.WriteLine("Температура воздуха" + temperature[2, 0] + "градусов по Цельсию");
else if (time >= 6 && time < 12)
Console.WriteLine("Температура воздуха" + temperature[2, 1] + "градусов по Цельсию");
else if (time >= 12 && time < 18)
Console.WriteLine("Температура воздуха" + temperature[2, 2] + "градусов по Цельсию");
else
Console.WriteLine("Температура воздуха" + temperature[2, 3] + "градусов по Цельсию");
break;
case 4:
if (time >= 0 && time < 6)
Console.WriteLine("Температура воздуха" + temperature[3, 0] + "градусов по Цельсию");
else if (time >= 6 && time < 12)
Console.WriteLine("Температура воздуха" + temperature[3, 1] + "градусов по Цельсию");
else if (time >= 12 && time < 18)
Console.WriteLine("Температура воздуха" + temperature[3, 2] + "градусов по Цельсию");
else
Console.WriteLine("Температура воздуха" + temperature[3, 3] + "градусов по Цельсию");
break;
case 5:
if (time >= 0 && time < 6)
Console.WriteLine("Температура воздуха" + temperature[4, 0] + "градусов по Цельсию");
else if (time >= 6 && time < 12)
Console.WriteLine("Температура воздуха" + temperature[4, 1] + "градусов по Цельсию");
else if (time >= 12 && time < 18)
Console.WriteLine("Температура воздуха" + temperature[4, 2] + "градусов по Цельсию");
else
Console.WriteLine("Температура воздуха" + temperature[4, 3] + "градусов по Цельсию");
break;
}

заменить на:

if (time >= 0 && time < 6)
Console.WriteLine("Температура воздуха "+temperature[day-1,0] + "градусов по Цельсию");
else if (time >= 6 && time < 12)
Console.WriteLine("Температура воздуха "+temperature[day-1,1] + "градусов по Цельсию");
else if (time >= 12 && time < 18)
Console.WriteLine("Температура воздуха "+temperature[day-1,2] + "градусов по Цельсию");
else
Console.WriteLine("Температура воздуха "+temperature[day-1,3] + "градусов по Цельсию");

Будет немного короче :-)



Сергей 29 дек 2014 16:18
Получилось громоздко, может можно короче?
Можно ли данные из многомерных массивов добавлять в список List с помощью AddRange? У меня не получилось.
Как вычислить точнее среднюю арифметическую при делении на night.Count?
int day, time;
int[,] temperature = { { 4, 10, 16, 12 }, { 8, 12, 20, 16 }, { 9, 14, 21, 17 }, { 10, 8, 14, 10 }, { 5, 7, 13, 9 } };
Console.WriteLine("Сейчас пятница 15 сентября 18:00. Температура за прошедшую неделю:");
Console.WriteLine("Введите порядковый номер дня недели");
day = Convert.ToInt32(Console.ReadLine());
if (day > temperature.Length/4f)
{
Console.WriteLine("Ошибка!Введите порядковый номер дня недели");
day = Convert.ToInt32(Console.ReadLine());
}
Console.WriteLine("Введите время в часах");
time = Convert.ToInt32(Console.ReadLine());
if (time > 18 && day == temperature.Length / 4f)
{
Console.WriteLine("Ошибка!Введите время в часах");
time = Convert.ToInt32(Console.ReadLine());
}
switch (day)
{
case 1:
if (time >= 0 && time < 6)
Console.WriteLine("Температура воздуха"+temperature[0,0] + "градусов по Цельсию");
else if (time >= 6 && time < 12)
Console.WriteLine("Температура воздуха"+temperature[0,1] + "градусов по Цельсию");
else if (time >= 12 && time < 18)
Console.WriteLine("Температура воздуха"+temperature[0,2] + "градусов по Цельсию");
else
Console.WriteLine("Температура воздуха"+temperature[0,3] + "градусов по Цельсию");
break;
case 2:
if (time >= 0 && time < 6)
Console.WriteLine("Температура воздуха" + temperature[1, 0] + "градусов по Цельсию");
else if (time >= 6 && time < 12)
Console.WriteLine("Температура воздуха" + temperature[1, 1] + "градусов по Цельсию");
else if (time >= 12 && time < 18)
Console.WriteLine("Температура воздуха" + temperature[1, 2] + "градусов по Цельсию");
else
Console.WriteLine("Температура воздуха" + temperature[1, 3] + "градусов по Цельсию");
break;
case 3:
if (time >= 0 && time < 6)
Console.WriteLine("Температура воздуха" + temperature[2, 0] + "градусов по Цельсию");
else if (time >= 6 && time < 12)
Console.WriteLine("Температура воздуха" + temperature[2, 1] + "градусов по Цельсию");
else if (time >= 12 && time < 18)
Console.WriteLine("Температура воздуха" + temperature[2, 2] + "градусов по Цельсию");
else
Console.WriteLine("Температура воздуха" + temperature[2, 3] + "градусов по Цельсию");
break;
case 4:
if (time >= 0 && time < 6)
Console.WriteLine("Температура воздуха" + temperature[3, 0] + "градусов по Цельсию");
else if (time >= 6 && time < 12)
Console.WriteLine("Температура воздуха" + temperature[3, 1] + "градусов по Цельсию");
else if (time >= 12 && time < 18)
Console.WriteLine("Температура воздуха" + temperature[3, 2] + "градусов по Цельсию");
else
Console.WriteLine("Температура воздуха" + temperature[3, 3] + "градусов по Цельсию");
break;
case 5:
if (time >= 0 && time < 6)
Console.WriteLine("Температура воздуха" + temperature[4, 0] + "градусов по Цельсию");
else if (time >= 6 && time < 12)
Console.WriteLine("Температура воздуха" + temperature[4, 1] + "градусов по Цельсию");
else if (time >= 12 && time < 18)
Console.WriteLine("Температура воздуха" + temperature[4, 2] + "градусов по Цельсию");
else
Console.WriteLine("Температура воздуха" + temperature[4, 3] + "градусов по Цельсию");
break;
}
Console.ReadKey();
List<int> night = new List<int>() { 13, 16, 17, 14, 11, 12, 8, 6, 7, 3 };
night.Add(temperature[0, 0]);
night.Add(temperature[1, 0]);
night.Add(temperature[2, 0]);
night.Add(temperature[3, 0]);
night.Add(temperature[4, 0]);
Console.WriteLine("Средняя температура ночью за месяц");
Console.WriteLine((13 + 16 + 17 + 14 + 11 + 12 + 8 + 6 + 7 + 3 + temperature[0, 0]+temperature[1, 0]+temperature[2, 0]+temperature[3, 0]+temperature[4, 0])/night.Count);
Console.ReadKey();

Алексей 25 дек 2014 18:32
я кажется исправил, но не понял как, спасибо всё равно

Алексей 24 дек 2014 12:15
admin
---
нет, вот так
class objName = new class(variables);
list.add(objName);
разница не велика я думаю

Максим 24 дек 2014 11:52
Алексей
---
Вы делаете это так?

list.Add(new ClassName(args));

Алексей 24 дек 2014 11:42
p.s. цикл действует случайное количество раз

Алексей 24 дек 2014 11:39
вообщем у меня в цикле for создаются объекты с разными параметрами, но одним именем и добавляются в список. Я думал, что из-за разных параметров объекты будут добавляться как разные, но ошибся. Как решить проблему?

Юрий 11 дек 2014 16:30
Как то очень мало про массивы если рассчитывать на то, что уроки предназначены для новичков, которые только начинают изучение. Хотя бы по примеру к каждому массиву как их применять, а то те кто чуть больше знают и циклы уже начали применять в коментах, а те кто реально чайник тому ничего непонятно

Максим 08 дек 2014 19:12
iskak
---
Суммируйте элементы матрицы в цикле (о циклах в следующем уроке) и поделите на 9

iskak 08 дек 2014 07:13
дано квадратная матрица третьего порядка найти среднеарифметическую всех элементов

Максим 01 дек 2014 19:19
Raccoon
---
Более простой способ откроется при знакомстве с классами и объектами. Читайте уроки далее, и вы получите ответ

Raccoon 01 дек 2014 16:40
using System;
using System.Collections.Generic;
public class Test
{
public static void Main()
{
List<string> workers = new List<string>();
workers.Add("Ivanov");
workers.Add("Petrov");
workers.Add("Sidorov");
workers.Add("Sergeev");
workers.Add("Tihonov");
for (int i = 0; i < workers.Count; i++)
{
Console.WriteLine(workers[i]);
}
Console.ReadKey();

}
}

Добрый день, подскажите пожалуйста, как прикрепить зп к каждому имени, что бы при вводе фамилии, выводилось ЗП этого человека. Я подозреваю, что это можно сделать через if но наверное есть более простой способ, зарание спасибо

Rostislav 17 ноя 2014 12:04
Julia, для себя тоже захотел сделать вашу задачу, чтобы закрепить тему. Вот мое решение:

static void Main(string[] args)
{
string[,] tabel =new string[3,4];
float[] avrg = new float[3];
int[] max = new int[3];
bool pars;
int temp,i,j;
string[] ts=new string[4];
Console.WriteLine("Введіть прізвище студента та його 3 оцінки: ");
for (i=0;i<tabel.GetLength(0);i++)
{ts=Console.ReadLine().Split(' ');
for (j = 0; j < tabel.GetLength(1); j++)
tabel[i, j] = ts[j];
}
for (i = 0; i < tabel.GetLength(0); i++)
for (j = 0; j < tabel.GetLength(1); j++)
{
pars = Int32.TryParse(tabel[i, j], out temp);
if (pars)
{
avrg[i] += temp;
if (temp > max[i]) max[i] = temp;
}
}
for (i = 0; i < (avrg.Length); i++)
Console.WriteLine("Середня оцінка для студента " + tabel[i, 0] + " " + avrg[i] / 3+". Максимальна оцінка :"+max[i]);

}

Julia 29 окт 2014 23:10
Admin
Вот посмотрите как получилось!!!!
Я через Temp нахожу Максималную оценку!!!

String[,] Degree = new string[3, 4]
{{"M","","",""},
{"R","","",""},
{"K","","",""}};

float Sum = 0, Average = 0, max=0;
int i;
int j;

for (i = 0; i < 3; i++)
{
Console.WriteLine("Insert degree for " + Degree[i,0] + ":");

for (j = 1; j < 4; j++)
{
int temp = 0;
Degree[i, j] = Console.ReadLine();
Console.Write("Next \n");
temp = Convert.ToInt32(Degree[i, j]);
Sum += temp;
if (temp>max)
{
max = temp;
}
}
Average = Sum / 3;

Console.WriteLine("Average = " + Average);
Console.WriteLine("Exelent Degree = "+ max);
Sum = 0; max = 0;
}

Console.ReadKey();

}
}
}



Julia 29 окт 2014 22:14
Admin,
Супер! С обнулением Sum я чего-то профукала, все теперь понятно. Но с максимальной оценкой на каждого ученика не понятно как в коде вы написали. Во первых до этой строчки мах не где не определялся поэтому эта строчка if(Mean > max) делает Баг на слове мах, во вторых почему мах нужно срaвнивать с Mean, может я неправильно разьяснилась Я хочу вывести самую большую оценку у каждого ученика. Это как я понимаю надо какой то еще один луп сделать на проверку введенных оценок на сравнение друг с другом и какой из них самый болшой. а как красиво сделать еще один луп как то не знаю... Спасибо

Максим 29 окт 2014 19:28
Julia
---
Это задание должно делаться при помощи ООП, объектов. Вот так в одном массиве хранить различные данные неправильно.

Сейчас вы не обнуляете сумму после прохода по оценкам для каждого студента, и средняя оценка в итоге неправильная. Вот код с нахождением максимальной оценки:

static void Main(string[] args)
{
String[,] Degree = new string[3, 4]
{{"M","","",""},
{"R","","",""},
{"K","","",""}};

float Sum = 0, Mean = 0;
int i;
int j;
float max = 0;

for (i = 0; i < 3; i++)
{
Console.WriteLine("Insert degree for " + Degree[i, 0] + ":");

for (j = 1; j < 4; j++)
{
Degree[i, j] = Console.ReadLine();
Console.Write("Next \n");
Sum += Convert.ToInt32(Degree[i, j]);

}
Mean = Sum / 3;
if(Mean > max)
max = Mean;
Console.WriteLine("Mean =" + Mean);
Sum = 0;
}

Console.WriteLine(max);
Console.ReadKey();
}

Julia 29 окт 2014 16:20
Посидев еще чуть чуть Вот что полу4ились....
Единственное Вопрос, как прописать сравнение между оценками и вывести наибольшую?

String[,] Degree = new string[3, 4]
{{"M","","",""},
{"R","","",""},
{"K","","",""}};

float Sum = 0, Mean = 0;
int i;
int j;

for (i = 0; i < 3; i++)
{
Console.WriteLine("Insert degree for " + Degree[i,0] + ":");

for (j = 1; j < 4; j++)
{
Degree[i, j] = Console.ReadLine();
Console.Write("Next \n");
Sum +=Convert.ToInt32( Degree[i, j]);

}
Mean = Sum / 3;
Console.WriteLine("Mean =" + Mean);
}

Console.ReadKey();
}
}
}

Julia 29 окт 2014 15:25
Помогите пожалуста, 2 дня сижу с этим кодом и так и сяк знаний и опыта не хватает, так не получается... Обьясните что делаю не так и как надо правольно. Програмка: Массив 3*4 с оценками: но в первом столбе должны быть имена учеников, а другие столбы оценки . Програмка показывает Имя и просит вводить оценки. а потом, а потом с4итает средний бал каждого ученика.
Вначале казалось нечего сложного. но когда на4ала запуталась совсем.
1. Хотела массив сделать в стринге а потом просто цыфры переводить в Интежер, запуталась и все сделала Интежер и 2 таб.
2. Немогу не как вывести Имена каждого у4еника при заполнении оценками
3. не могу ни как сделать Среднее Каждому у4енику, а не всему Масссиву.
Вот Мой Код.... Помогите пожалуста...

int[,] Degree = new int[3, 4];
string[,] Names = new string[3, 4]
{{"M","","",""},
{"R","","",""},
{"K","","",""}};

double Sum = 0, Mean = 0;
int i;
int j;

for (i = 0; i < 3; i++)
{
Console.WriteLine("Insert Degrees for:\n");

for (j = 1; j < 4; j++)
{
Degree[i, j] = Convert.ToInt32(Console.ReadLine());
Console.Write("Next");
Sum += Degree[i, j];
Mean = Sum /(j-1);
}

}

Console.ReadKey();
}
}
}

julia 28 окт 2014 12:58
Все можно не обьяснять как работает Ступенчатые (jagged) массивы.
Благодаря примером в каментариях я все поняла....

julia 28 окт 2014 12:26
Вот как я поигралась с Этим уроком:

static void Main()
{
String City = "Moscow";
String City2 = "Tel Aviv";
string[] CityRange = new string[4] { "Perm", "Samara", "Saratov", "Ufa" }; // создание списка через массив
List<string> newCity = new List<string>() { "Liverpool", "Roma", "Borussia", "Valencia" }; // создание списка через List

// Примеры с методами из Таблицы
Console.WriteLine("Список Городов : " + newCity[0] + ", " + newCity[1] + ", " + newCity[2] + ", " + newCity[3]);
Console.WriteLine(" Длина Массива CityRange= " + CityRange.Length); //Свойства обьекта CityRange
newCity.Add(City); //добавляет элемент в конец списка
newCity.Add(City2);
Console.WriteLine(" Вместимость списка newCity= " + newCity.Capacity); //Свойства Класса newCity-Capacity
Console.WriteLine(" Количество Элементов в списке newCity= " + newCity.Count); //Свойства Класса newCity-Count

newCity.AddRange(CityRange); //добавляет в конец списка элементы указанного списка
Console.WriteLine(" Количество Элементов в списке newCity после добавления нового списка= " + newCity.Count);

newCity.Insert(3, City);//вставляет элемент на позицию соответствующую индексу, все элементы «правее» будут сдвинуты на одну позицию
Console.WriteLine(" Количество Элементов в списке newCity после добавления Города Москва= " + newCity.Count);

newCity.InsertRange(1, CityRange);//то же самое, только вставляется множество элементов
Console.WriteLine(" Количество Элементов в списке newCity после добавления нового списка= " + newCity.Count);

newCity.Remove("Liverpool"); //удаляет первое вхождение указанного элемента из списка
Console.WriteLine(" Количество Элементов в списке newCity после удаления Liverpool = " + newCity.Count);

newCity.RemoveRange(5, 8); //удаляет указанное количество элементов, начиная с указанной позиции
Console.WriteLine(" Количество Элементов в списке newCity после удаления 8 Городов = " + newCity.Count);

newCity.RemoveAt(1); //удаляет элемент, который находится на указанной позиции
Console.WriteLine(" Количество Элементов в списке = " + newCity.Count);
Console.WriteLine(" Список Оставшихся Городов : " + newCity[0] + ", " + newCity[1] + ", " + newCity[2] + ", " + newCity[3] + ", " + newCity[4]);

newCity.Clear(); // удаляет все элементы списка
Console.WriteLine(" Количество Элементов в списке = " + newCity.Count);
Console.ReadKey();

}
}
}

Julia 28 окт 2014 10:29
Admin
Я не очень поняла как работает Ступенчатые (jagged) массивы, если можно дать другой пример этого мссива, спасибо!!!

Иван 02 окт 2014 18:21
Лайк за статью, небольшое замечание я только начал по вашим урокам изучать C# достаточно легко дается, это далеко не первый мой язык. Я тестил все функции которые вы тут даете и понял что аргументом для функции RemoveAll() является не строка а так называем предикат. Помогла в этом разобраться статья из мануала (http://msdn.microsoft.com/ru-ru/library/wdka673a(v=vs.110).aspx) Лучше уберите эту функцию из этой статьи. Для того что бы ей воспользоваться сначала надо написать метод который надо ей сообщать.

А так автору +

Максим 19 сен 2014 15:08
Konstantin
---
Очень непонятный код, откуда там ViewDat, как минимум его нужно заменить на Data
public Evnt(int i)
{
views = new Data[i];
}

Konstantin 19 сен 2014 13:18
мне пишет
Ссылка на объект не указывает на экземпляр объекта.

NullReferenceException

Константин 19 сен 2014 13:05
Я вот хочу задать массив в классе
что то вроде
public class Data
{
public string Name { get; set; }
}
public class Evnt
{
public Data[] views { get; set; }
public Evnt(int i)
{
views = new ViewDat[i];
}
}
А получается весь индекс заполняется
последним вносимым значением


Максим 12 сен 2014 19:14
Aikesha
---
Это очень простое задания, вы сами должны его сделать. Пройдитесь циклом по массиву, суммируя элементы.

Aikesha 11 сен 2014 19:22
Как можно сложить все элементы массива? Admin прошу помоги создать код в среде С#

n0n4m3r 29 июл 2014 11:50
Лайфхак со стаковерфлов:
Если Вам нужен "динамический массив" - Вы можете создать список, например:
List<string> months = new List<string>();
months.Add("January");
months.Add("February");
months.Add("March");
months.Add("April");
months.Add("May");

После чего список перевести в массив:
string[] array = months.ToArray();

Максим 27 июн 2014 18:47
Олег
---
Здесь нет вывода массива потому что для этого нужны циклы, а циклы рассматриваются в следующем уроке. А про вывод стрингового массива не понял, что имелось в виду

Олег 27 июн 2014 16:25
Мне кажется сюда нужно добавить больше примеров, так как не всё ясно. К примеру нету примера вывода числового массива на экран (ну тут я с чужой помощью разобрался более менее), а вот вывод стрингового массива я не понимаю как можно сделать. Я могу вывести только конкретное значение, но не весь массив.

Максим 22 июн 2014 14:30
Somer
---
Зачем тут пример, просто же. Когда необходимо очистить список - myList.Clear();

Somer 22 июн 2014 08:25
Напишите, пожалуйста пример с использование clear();.

Максим 31 май 2014 15:09
AlexSerikov
---
Да, только тогда уж используйте в таком случае цикл do-while, а не for

AlexSerikov 30 май 2014 18:04
так будет по-интереснее.
static void Main(string[] args)
{

Console.WriteLine("Введите магазины");
List<string> Shops = new List<string>();
for (int x = 0; ; )
{
string ShopX = Console.ReadLine();

if (ShopX=="end") break;
else Shops.Add(ShopX);

}
Console.WriteLine("Вывод");
foreach (string Shop in Shops)
{
Console.WriteLine(Shop);
}
Console.WriteLine("Пора удалить магазин");
string ShopDEL = Console.ReadLine();
Shops.Remove(ShopDEL);
Console.WriteLine("Осталось");
foreach (string Shop in Shops)
{
Console.WriteLine(Shop);
}
Console.ReadKey();

}

Максим 15 май 2014 15:06
Яков
---
Да

Яков 14 май 2014 22:04
Admin
____
Спасибо!
Так правильно?
int[,] massive1 = new int[5, 3];
for (int i = 0; i < massive1.GetLength(0); i++)
{
for (int j = 0; j < massive1.GetLength(1); j++)
{
massive1[i, j] = int.Parse(Console.ReadLine());

}

}
Console.ReadLine();

Максим 14 май 2014 17:13
Яков
---
Метод GetLength возвращает длину заданого измерения:
massive1.GetLength(0);
massive1.GetLength(1);

Яков 13 май 2014 22:09
int [,] massive1=new int [5,3];
for (int i = 0; i < massive1.Length; i++)
{
for (int j = 0; j < massive1.Length; j++)
{
massive1[i, j] = int.Parse(Console.ReadLine());
}
}
привет,у меня вопрос как заставить циклы правильно работать
если я не хочу писать код цикла как
for (int i = 0; i < 5; i++)
{
for (int j = 0; j <3; j++)
вопрос как ивлечь длину первой меры массива,и как второй,универсальный так сказать метод.

Максим 08 май 2014 18:14
iNew
---
Привет. Для этого можно использовать тот же список List. При помощи метода Add можно добавлять сколько угодно элементов, а чтобы узнать их количество - воспользоваться свойством Count.

iNew 08 май 2014 01:06
Всем привет!!! Скажите, пожалуйста, а как сделать автоматический подсчет количества элементов массива? Чтобы пользователь просто вводил числа или слова, а программа сама считала сколько было введено элементов. Например для подсчете среднего арифметического.

Aram 21 апр 2014 16:59
class Program
{
static void Main(string[] args)
{
List<string> cars = new List<string>();
cars.Add("Jeep Liberty");
cars.Add("Mercedes-Benz CLK");
cars.Add("Mitsubishi Lancer");
cars.Insert(1, "Opel Astra G");

Console.WriteLine(cars);
Console.ReadKey();
}
}

в чем проблема?

Максим 02 апр 2014 18:42
Алина
---
Вывод матрицы:
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 2; j++)
{
Console.Write(mas[i, j]+" ");
}
Console.WriteLine();
}
}

mas[i, j] = int.Parse(Console.ReadLine()); // здесь mas[i, j] - это и есть обращение к элементу матрицы

Алина 02 апр 2014 10:22
Подскажите, как вывести итоговую матрицу которая тут получилась и как обратится к её элементам? Спасибо
static void Main(string[] args)
{
int[,] mas = new int[3, 2];
Console.WriteLine("Заполним матрицу");
for (int i = 0; i < 3; i++)
{
Console.WriteLine("Вводим строку " + (i + 1));
for (int j = 0; j < 2; j++)
{
mas[i, j] = int.Parse(Console.ReadLine());
}
}
}

Евгений 17 мар 2014 17:38
Элегантно, спасибо!

Максим 17 мар 2014 15:05
Евгений
---
Можно так :
string result = "Noviy spisokk komand: ";
for (int i = 0; i < array.Length; i++)
{
result+=array1[i];
if (i != array1.Length - 1)
result+=", ";
}
Console.WriteLine(result);

Евгений 17 мар 2014 11:18
Спасибо! Дописал и теперь программа ищет минимальное число очков, название этой команды и меняет её на заданную другую. единственное, что не нравится - очень топорный вывод последнего массива уже нового списка команд. Нельзя ли это сделать элегантнее?
static void Main(string[] args)
{
string[] array1={"Real","Barca", "Milan", "Man City"};
Console.WriteLine("Dani komandi: Real, Barca, Milan, Man City.Vvedite ih ochki");
int a = Convert.ToInt32(Console.ReadLine());
int b = Convert.ToInt32(Console.ReadLine());
int c = Convert.ToInt32(Console.ReadLine());
int d = Convert.ToInt32(Console.ReadLine());
int[] array = { a, b, c, d };
int min=array[0];
int n=0;
for (int i=0;i<array.Length;i++) {
if (array[i]<min){
min = array[i];
n=i;
}
}
Console.WriteLine("Viletaet "+ array1[n] + " s " + min + " ochkov");
Console.WriteLine("Vvedite komandy, kotorja ee zamenit");
string q = Console.ReadLine();
array1[n] = q;
for (int i = 0; i < array.Length; i++)
{

}
Console.WriteLine("Noviy spisok komand: " + array1[0] +", " + array1[1] + ", " +array1[2] + ", " +array1[3]);
Console.ReadKey();
}

Максим 16 мар 2014 22:21
Евгений
---
Цикл не закрыт, отсутствует "}". Кроме этого, область видимости переменной ограничивается фигурными скобками "{}". Если переменная объявлена в цикле, то за его пределами она уже не доступна. В вашем случае объявление переменных "min" и "a" следует следать до цикла

Евгений 16 мар 2014 21:20
Подскажите пожалуйста, почему не работает программа? Есть 4 команды. Программа должна вычислять минимальное число очков у всех команд из 4 и называть эту команду и её очки.

string[] array = { "Real", "Barca", "Sevilla", "Valencia" };
int[] array1 = new int[4];
Console.WriteLine("Vvedite Ochki Reala, Barceloni, Sevilla i Valencia");
array1[0] = Convert.ToInt32(Console.ReadLine());
array1[1] = Convert.ToInt32(Console.ReadLine());
array1[2] = Convert.ToInt32(Console.ReadLine());
array1[3] = Convert.ToInt32(Console.ReadLine());
for (int i = 0; i < array1.Length; i++)
{
int min = array1[0];
if (array1[i]<min)
{
array1[i] = min;
int a = i;

}
Console.WriteLine("minimum: " + array[a] + " s " + min + " ochkami");
Console.ReadKey();

Сергей 27 янв 2014 19:56
Большое спасибо)

Максим 27 янв 2014 18:14
Сергей
---
Заполнение двумерного массива с клавиатуры:

static void Main(string[] args)
{
int[,] mas = new int[3, 2];
Console.WriteLine("Заполним матрицу");
for (int i = 0; i < 3; i++)
{
Console.WriteLine("Вводим строку " + (i+1));
for (int j = 0; j < 2; j++)
{
mas[i, j] = int.Parse(Console.ReadLine());
}
}
}

Максим 27 янв 2014 18:04
Женя
---
Это просто форматирование вывода:
{0:#.#} - 0 (индекс) означает что сюда подставится первый аргумент (average_end), дальше после двоеточия идет строка формата, здесь указано выводить только один знак после запятой

Сергей 27 янв 2014 13:22
Извините, забыл добавить "через цикл for"

Сергей 27 янв 2014 13:18
Подскажите, как задать двумерный массив не произвольными, а определенными числами, введенными из консоли. Если можно, то написать код, пожалуйста!

Женя 27 янв 2014 12:38
odmion , написал программу.
Не понимаю как работает этот кусок {0:#.#}

Вычисление среднего арифметического.

static void Main(string[] args)
{
Console.Write("Введите кол-во полученных оценок: ");
int grade_count = int.Parse(Console.ReadLine());
int i;
double average = 0, average_end=0;

int[] grade = new int[grade_count];
for (i = 0; i < grade_count; i++)
{
Console.Write("Введите оценку: ");
grade[i] = int.Parse(Console.ReadLine());
average += grade[i];
}
Console.WriteLine();
average_end = average / grade_count;
Console.Write("Ваша оценка: {0:#.#}",average_end);
Console.ReadKey();

}

Ok 16 янв 2014 23:35
//Lists:

List<string> certificates = new List<string>() { "Microsoft", "CompTIA", "Cisco", "WMware" };

List<string> newCertificates = new List<string>() { "CIW", "LPI", "IBM" };
certificates.AddRange(newCertificates);
foreach (var certificate in certificates)

Console.WriteLine(certificate);
Console.ReadKey();

Максим 13 янв 2014 18:14
Юрец
---
В консоли просто есть высота буферной области (ограничение на количество строк), вы выводите очень большой массив. Когда выводится больше строк, чем значение высоты буферной области, первые строки начинают перетираться. В программе можно задать это значение, используя свойство Console.BufferHeight:

static void Main(string[] args)
{

int a = 30; int b = 20; int c = 20;
int[, ,] array = new int[a, b, c];
array[0, 0, 0] = 1;
array[1, 0, 0] = 2;
array[2, 0, 0] = 3;
array[0, 1, 0] = 4;
array[1, 1, 0] = 5;
array[2, 1, 0] = 6;
array[0, 0, 1] = 11;
array[1, 0, 1] = 22;
array[2, 0, 1] = 33;
array[0, 1, 1] = 44;
array[1, 1, 1] = 55;
array[2, 1, 1] = 66;
array[29, 19, 19] = 456;
Console.BufferHeight = 5000;
for (int i = 0; i < a; i++)
{
for (int j = 0; j < b; j++)
{
for (int k = 0; k < c; k++)
{
Console.Write(array[i, j, k] + " ");
}
Console.WriteLine();
}
}
Console.ReadKey();
}

Юрец 12 янв 2014 20:23
а как правильно выводить на экран многомерный массив? я вот поэксперементировал. обнаружил, что теряются некоторые элементы массива. Мышкой прокручиваю и не нахожу. но они есть, если их отдельно выводить. Что не так? вот програмка:
static void Main(string[] args)
{
int a = 30; int b = 20; int c = 20;
int[,,] array = new int[a,b,c];
array[0,0,0] = 1;
array[1,0,0] = 2;
array[2, 0,0] = 3;
array[0, 1,0] = 4;
array[1, 1,0] = 5;
array[2, 1,0] = 6;
array[0, 0, 1] = 11;
array[1, 0, 1] = 22;
array[2, 0, 1] = 33;
array[0, 1, 1] = 44;
array[1, 1, 1] = 55;
array[2, 1, 1] = 66;
array[29, 19, 19] = 456;

for (int i = 0; i < a; i++)
{
for (int j = 0; j < b; j++)
{
for (int k = 0; k < c; k++)
{
Console.WriteLine(array[i, j, k]);
}
}
}
Console.ReadKey();
}
}
}

Максим 05 янв 2014 21:24
мар
---
Любой элемент, как и другие объекты, в строку конвертируется при помощи метода ToString():
string s = array[1,1].ToString();

мар 05 янв 2014 16:05
как перевести несколько ячеек двумерного массива в тип стринг из интежера ?

odmion 01 янв 2014 13:28
Вычисление среднего арифметического.

static void Main(string[] args)
{
Console.Write("Введите кол-во полученных оценок: ");
int grade_count = int.Parse(Console.ReadLine());
int i;
double average = 0, average_end=0;

int[] grade = new int[grade_count];
for (i = 0; i < grade_count; i++)
{
Console.Write("Введите оценку: ");
grade[i] = int.Parse(Console.ReadLine());
average += grade[i];
}
Console.WriteLine();
average_end = average / grade_count;
Console.Write("Ваша оценка: {0:#.#}",average_end);
Console.ReadKey();

}

Максим 27 дек 2013 00:30
Evgeny
---
Представьте себе куб, на него трехмерный массив и похож

Evgeny 26 дек 2013 15:02
Здравствуйте. Никак не могу понять, как выглядит трехмерный массив. Таблицу представить могу [4,7], [5,5]. А на что похож [3,3,3], нет. ОбЪясните пожалуйста.

Максим 18 дек 2013 18:06
Илья
---
Очень хорошо!

Илья 16 дек 2013 20:01
Одномерные массивы
static void Main(string[] args)
{
int[] mas = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
int[] mas2 = { 3, 8, 4, 15, 17, 24, 9, 47, 7 };
double[] mas3 = { 1.5, 2.7, 4.9, 6.4, 2.8, 5.9 };
int[] mas4 = new int[10];
Console.WriteLine(" Вывод первого элемента массива mas: " + mas[0]);
Console.WriteLine(" Вывод второго элемента массива mas2: " + mas2[1]);
Console.WriteLine(" Вывод третьего элемента массива mas3: " + mas3[2]);
Console.WriteLine(" Вывод четвертого элемента массива mas4: " + mas4[3]);
Console.ReadKey();
Двумерный массив
static void Main(string[] args)
{
int[,] mas = new int [10,10];
mas[2, 1] = 1;
mas[2, 2] = 5;
Console.WriteLine(mas[2, 1]);
Console.WriteLine(mas[2, 2]);
Console.ReadKey();
Список
static void Main(string[] args)
{
List<string> teams = new List<string>() { " Arsenal ", " Manchester United ", " Manchester City ", " Chelsea ", " Liverpool " };
teams.Add(" Everton");
List <string> teams2 = new List<string>() { " Tottenham ", " Aston Villa ", " Cardiff City ", " Sanderland "};
teams.AddRange(teams2);
teams.Insert(2, " WestHam ");
Console.Clear();
foreach (var item in teams) Console.WriteLine(item);
Console.ReadKey();

Екатерина 07 дек 2013 09:37
Мне всегда были непонятны массивы, точнее их практическое использование, а тут поняла) блин, прям магия :DD спасибо вам!)
static void Main(string[] args)
{
string time = DateTime.Now.ToString("HH:mm");
Console.WriteLine("Текущее время " + time);
int[,] pogoda = new int[4, 4]{{6,7,733,1},
{12,16,736,3},
{16,10,734,2},
{21,5,738,1}};
string hours = DateTime.Now.ToString("HH");
int b = Convert.ToInt32(hours);
Console.WriteLine(b);
if (b >= pogoda[0, 0] && b < pogoda[1, 0])
Console.WriteLine("С добрым утром! На улице " + pogoda[0, 1] + " градусов тепла, давление: " + pogoda[0, 2] + "мм.рт.ст., скорость ветра: " + pogoda[0, 3] + "м/с");
else if (b >= pogoda[1, 0] && b < pogoda[2, 0])
Console.WriteLine("Доброго дня! На улице " + pogoda[1, 1] + " градусов тепла, давление: " + pogoda[1, 2] + "мм.рт.ст., скорость ветра: " + pogoda[1, 3] + "м/с");
else if (b >= pogoda[2, 0] && b < pogoda[3, 0])
Console.WriteLine("Добрый вечер! На улице " + pogoda[2, 1] + " градусов тепла, давление: " + pogoda[2, 2] + "мм.рт.ст., скорость ветра: " + pogoda[2, 3] + "м/с");
else Console.WriteLine("Доброй ночи! На улице " + pogoda[3, 1] + " градусов тепла, давление: " + pogoda[3, 2] + "мм.рт.ст., скорость ветра: " + pogoda[3, 3] + "м/с");
Console.ReadKey();
}

Максим 01 дек 2013 14:39
Александра
---
Вывод на экран Jagged-массива:

int[][] array = new int[3][];
array[0] = new int[2]{3,4};
array[1] = new int[1]{7};
array[2] = new int[3]{8,3,5};
for (int i = 0; i < array.Length; i++)
{
for (int j = 0; j < array[i].Length; j++)
{
Console.Write(array[i][j] + " ");
}
Console.WriteLine();
}

Александра 01 дек 2013 13:59
Подскажите пожалуйста, как вывести на экран Jagged-массив...

Максим 14 окт 2013 22:54
Александр
---
Массив mas4 создан, но не проинициализирован (не были заданы элементы), в таком случаи все элементы по умолчанию равны 0. Меняя индекс, вы выводили разные элементы, но они все одинаковые.

Максим 14 окт 2013 22:50
Полина
---
List выводится так же, как и простой массив - в цикле. Например, в цикле foreach:

List<string> teams = new List<string>();
teams.Add("Barcelona");
teams.Add("Chelsea");
teams.Add("Arsenal");
foreach(string team in teams)
{
Console.WriteLine(team);
}
Console.ReadLine();

Александр 14 окт 2013 22:02
("Вывод 1-го элемента mas4: " + mas4[0---->что значит этот ноль? ради интереса пробовал ег оменять.. результат не меняеться... что он значит?]);
static void Main(string[] args)
{
int[] mas = { 1, 2, 5, 6, 8, 4, 9, 10 };
int[] mas2 = new int[10];
double[] mas3 = { 1.5, 2, 5, 6.5, 8, 4, 9, 10 };
double[] mas4 = new double[10];
Console.WriteLine("Вывод 1-го элемента mas: " + mas[0]);
Console.WriteLine("Вывод 1-го элемента mas2: " + mas2[0]);
Console.WriteLine("Вывод 1-го элемента mas3: " + mas3[0]);
Console.WriteLine("Вывод 1-го элемента mas4: " + mas4[0]);
Console.ReadKey();

Полина 14 окт 2013 13:51
Скажите пожалуйста, как вывести на экран весь массив, созданный с помощью List?

Максим 07 окт 2013 01:31
Masha
---
Из msdn:
Ticks - возвращает число тактов, которое представляет дату и время этого экземпляра. Один такт соответствует 100 наносекундам или одной десятимиллионной секунды. В миллисекунде 10 000 тактов.

Значение данного свойства представляет количество 100-наносекундных интервалов, которые прошли с полночи 00:00:00, 1 января 0001, что соответствует значению DateTime.MinValue. Не включает количество тактов, приписываемых корректировочным секундам

Masha 06 окт 2013 19:30
Привет! Подскажите, пожалуйста, что это значит?
long start = System.DateTime.UtcNow.Ticks;

Максим 03 окт 2013 16:49
Ivan
---
хорошая работа

Ivan 02 окт 2013 15:32
Пример моей работы с массивами

static void Main(string[] args)
{
int[] mas = { 1, 2, 5, 6, 8, 4, 9, 10 };
int[] mas2 = new int[10];
double[] mas3 = { 1.5, 2, 5, 6.5, 8, 4, 9, 10 };
double[] mas4 = new double[10];
Console.WriteLine("Вывод 1-го элемента mas: " + mas[0]);
Console.WriteLine("Вывод 1-го элемента mas2: " + mas2[0]);
Console.WriteLine("Вывод 1-го элемента mas3: " + mas3[0]);
Console.WriteLine("Вывод 1-го элемента mas4: " + mas4[0]);
Console.ReadKey();

List<string> teams = new List<string>(); // создание списка
teams.Add("Barcelona"); // добавление элемента
teams.Add("Chelsea");
teams.Add("Arsenal");
List<string> teams2 = new List<string>() { "Dynamo", "CSKA" }; // инициализация
teams.AddRange(teams2);

Console.Clear();

foreach (var item in teams) Console.WriteLine(item);
Console.ReadLine();
Console.Clear();

int[,] mas12 = new int[10, 10];
mas12[2,2]=3;
mas12[2,3]=4;

Console.WriteLine(mas12[2, 2]);
Console.WriteLine(mas12[2, 3]);
Console.ReadLine();
}

Katari 29 сен 2013 13:19
2RomanS:
спасибо, работает!

RomanS 29 сен 2013 04:48
to Katari:
Пиши вот так:
List<string> teams = new List<string>();

Katari 28 сен 2013 12:40
при работе с классом List у меня ошибка.
вставляю кусочек вашей программы:

List teams = new List();
teams.Add("Barcelona");
teams.Add("Chelsea");
teams.Add("Arsenal");
List teams2 = new List() {"Dynamo", "CSKA" };

а Visual Studio ругается на отсутствие класса List.
я создаю класс, а дальше он ругается на .Add
как это побороть?

Максим 22 сен 2013 21:32
Roman
---
Метод RemoveAt([индекс]) удаляет элемент, который находится на указанной позиции. Только в таком случае список следует перебирать с конца, ато при удалении элемента другие сдвигаются

Roman 22 сен 2013 17:21
Кто-нибудь подскажите можно ли как-то работать с индексами List например индексы кратные числу удалять из списка числа.


Добавить комментарий:

Имя (обязат.)
E-mail (обязат., не публикуется)


Для вставки ваших программ пользуйтесь кнопкой "исходный код"
Вёрстка сайта с нуля

Уникальный Видеокурс!

"Научись верстать сайты и заработай на этом!"

Получить видеокурс

Подпишись на курс по программированию, и узнавай первым о новых уроках!

RSS подписка Страничка Вконтакте Мы в Twitter

Ошибка в тексте? Выделите ее мышкой и нажмите Ctrl+Enter
Поблагодарить автора: Номер карты (ПриватБанк)
5168 7572 4170 8660
WebMoney
R372544961915 U685637142028 Z999792764387
Наверх
Система Orphus