Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Рекомендации по выбору оператора цикла

Цикл перебора foreach

Цикл foreach используется для просмотра всех объектов из некоторой группы данных, например массива, списка или другого контейнера. Он будет рассмотрен при изучении тем: Контейнеры, итераторы, массивы.

Операторы цикла взаимозаменяемы, но можно привести некоторые рекомендации по выбору наилучшего в каждом конкретном случае.

Оператор do while обычно используют, когда цикл требуется обязательно выпол­нить хотя бы раз, например, если в цикле производится ввод данных.

Оператором while удобнее пользоваться в тех случаях, когда либо число итераций заранее неизвестно, либо очевидных параметров цикла нет, либо модификацию параметров удобнее записывать не в конце тела цикла.

Оператор for предпочтительнее в большинстве остальных случаев. Однозначно — для организации циклов со счетчиками, то есть с целочисленными переменными, которые изменяют свое значение при каждом проходе цикла регулярным образом (например, увеличиваются на 1).

 

Пример программы

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace laba

{

class Program

{

static void Main(string[] args)

{

#region Главный код

string ye="y";

while (ye=="y")

{

Console.WriteLine("Впиши номер Лабы");

string y = Console.ReadLine();

switch (Convert.ToInt16(y))

{

case 1:

laba1(); //Запуск функции лаба по работе с массивом двумерным

break;

case 2: laba2();

break;

case 3: laba3();

break;

case 4: laba4(); //Лаба одномерный массив

break;

case 5: laba5();

break;

default: Console.WriteLine("Такой лабы нету повторите попытку");

break;

}

Console.Write("еще сделаем(y/n)? ");

ye = Console.ReadLine();

}

}

#endregion

#region Лаба 1

static void laba1()

{

Console.WriteLine("Поехали делать перву лабу");

int[,] masA = new int[3, 3], masB = new int[3, 3];

 

Console.WriteLine("Поеxали Забивать цифирки");

int k;

for (int i = 0; i < 3; i++) //Цикл от 0 до 3

{

k = 0;

for (int j = 0; j < 3; j++)

{

string y = Console.ReadLine();

masA[i, j] = Convert.ToInt16(y);

 

if (masA[i,j] == 0)

{

k++;

}

}

if (k == 0)

{

for (int j = 0; j < 3; j++)

{

masB[i, j] = masA[i, j];

}

}

}

Console.WriteLine("Посмотрим чего там у нас в массиве A");

masWin(masA); //функция по печати массива

masWinaddr(masA);

Console.WriteLine("Посмотрим чего там у нас в массиве B");

masWin(masB);

masWinaddr(masB);

}

static void masWinaddr(int[,] mass)

{

unsafe // Для работы с памятью(адрес) нужен не безопасный режим

{

for (int i = 0; i < 3; i++)

{

for (int j = 0; j < 3; j++)

{

fixed (int* y = &mass[i, j])

{

IntPtr addr = (IntPtr)y; // тут запуск идет памяти осталься от старай работы если не надо могу убрать

Console.Write(addr.ToString("x") + " ");

}

 

}

Console.WriteLine();

}

}

}

static void masWin(int[,] mass)

{

for (int i = 0; i < 3; i++)

{

for (int j = 0; j < 3; j++)

{

Console.Write(mass[i, j]);

}

Console.WriteLine();

}

 

}

#endregion

static void laba4()

// сложение двух массивов в третий и вывод на экран

{

int i=0;

string zn;

int[] a={1,1,2,3,4,5,6,7,8,9};

int[] b=new int[10],c=new int[10];

Console.Clear();

Console.WriteLine("Лаба 4");

Console.WriteLine("Вводим значения для массива с");

while (b.Length > i) //Цикл вайл, в условии вычисляется длина массива и //сравнивается с переменной, в цикле происходит забивка цикла

{

Console.WriteLine("Элемент"+i.ToString());

zn = Console.ReadLine();

b[i] = Convert.ToInt32(zn);

i++;

}

for (int j=0; j < 10; j++) // цикл фор от 0 до 10 в внутри цикла происходит //сложение двух массивов в один

{

c[j] = a[j] + b[j];

}

foreach (int f in c) // Цикл foreach используеться для перебора переменных //массива

{

Console.WriteLine(f.ToString());

}

}

 

 

<== предыдущая лекция | следующая лекция ==>
Цикл с параметром for | Возникновение (создание) юридического лица
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 506; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.