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

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


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

foreach ([тип] [переменная] in [коллекция])
{
   //тело цикла
}

Пример программы, в которой находится сумма элементов массива с использованием цикла foreach:

static void Main(string[] args)
{
   int[] numbers = { 4, 7, 13, 20, 33, 23, 54 };
   int s = 0;

   foreach (int el in numbers)
   {
     s += el;
   }
   Console.WriteLine(s);
   Console.ReadKey();
}

На каждой итерации в переменную el последовательно записывается элемент коллекции. На первой итерации значение переменной el равно “4” , на второй итерации - “7” и т.д.

Как и в других циклах, в foreach можно использовать операторы break и continue.

Данный оператор стоит использовать для получения (чтения) данных из коллекции. Не стоит использовать его для добавления или удаления элементов из коллекции, иначе вы получите исключение (ошибку) Collection was modified; enumeration operation may not execute.

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

Используя цикл foreach, выведите на экран все элементы массива целых чисел, которые больше 20 и меньше 50.
Понравилась статья? Подпишись на рассылку и узнавай первым о новых уроках по почте!


Поделиться с друзьями:
19 май 2013 00:45
fEng_sHui 13 янв 2017 17:07

int[] mass1 = new int[10];
for (int i = 0; i < mass1.Length; i++)
{
Console.Write("Element {0}: ", i);
mass1[i] = Convert.ToInt32(Console.ReadLine());
}
foreach (int each in mass1)
{
if (each > 20 && each < 50)
{
Console.WriteLine("Elements >20 and <50: " + each);
}

segorcag 12 янв 2017 00:18
Интересная работа, высокая оплата!

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

Более подробная информация на нашем сайте. > realno.zarplatt(точка)ru <

mihpir889 06 янв 2017 10:07

// Создаем и заполняем массив
int[] numbers = new int[70];
for (int i = 0; i < numbers.Length; i++)
{
numbers[i] = i;
}


foreach (int el in numbers)
{
if (el > 20 && el < 50)
Console.WriteLine(el);
}
Console.ReadKey();


Vodomer 04 янв 2017 22:25
static void Main(string[] args)
{
//Задача.Используя цикл foreach, выведите на экран все элементы массива целых чисел, которые больше 20 и меньше 50.


int[] arrA = { 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 51 };
int s = 0;

foreach (int value in arrA)
{
if (value > 20 && value < 50)
{
s += value;
Console.WriteLine(value);
}
}

Console.ReadLine();
}

Александр 23 ноя 2016 07:21

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

namespace ConsoleApplication5
{
class Program
{
static void Main(string[] args)
{

int[] numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70 };

foreach (int es in numbers)
{
if (es > 20 && es < 50)
{
Console.WriteLine(es);
}
}
Console.ReadKey();
}
}
}

Илья 16 ноя 2016 21:14
class Program
{
static void Main(string[] args)
{
int[] a = new int[100];
Random r = new Random();
int i;
Console.WriteLine("Array:");
for (i = 0; i < a.Length; i++)
{
a[i] = r.Next(-100, 100);
Console.Write(a[i] + " ");
}
Console.WriteLine();
Console.WriteLine("Array elements, that are more than 20 and less than 50:");
foreach (int el in a)
{
if (el < 50 && el > 20)
{
Console.WriteLine(el+ " ");
}
}
Console.ReadKey();
}
}

pirs 14 ноя 2016 16:27
int[] arr1 = new int[60];
for (int i = 0; i < arr1.Length; i++)
{ arr1[i] = i + 1; }

foreach (int el in arr1)
{ if (el > 20 && < 50) Console.WriteLine(el); }

Console.ReadKey();

r033 25 окт 2016 11:11
Самый простой вариант

{
int[] numbers = { 4, 7, 13, 20, 33, 23, 54 };
foreach (int el in numbers) { if (20 < el & el < 50) Console.WriteLine(el); }
Console.ReadKey();
}

Юрец 26 сен 2016 22:34

int razmer;

Console.WriteLine("Введите размерность массива");
razmer = Int32.Parse(Console.ReadLine());
int[] mas = new int[razmer];
Random r = new Random();
Console.WriteLine();

for(int i = 0; i<mas.Length; i++)
{
mas[i] = r.Next(100);
Console.WriteLine("{0} - элемент массива равен {1}", i+1, mas[i]);
}

foreach (int q in mas)
{
if (q > 20 && q < 50)
Console.WriteLine("Число {0} находится между 20 и 50", q);

}
Console.ReadKey();

sv_klim_1 12 сен 2016 23:19
Random rand = new Random();
short size = 15;
int[] arr1 = new int[size];

for(int i = 0; i < size; i++)
{
Console.Write((arr1[i] = rand.Next(0, 100)) + " ");
}
Console.WriteLine();

foreach (int diff in arr1)
{
if(diff < 50 && diff > 20) { Console.Write(diff + " "); }
}

Евгений 14 авг 2016 08:40
static void Main(string[] args)
{
int[] array = new int[50];
Random rand = new Random ();

for(int i = 0; i < array.Length; i++)
{
array[i] = rand.Next(0,100);
Console.Write(array[i]+" ");
}
Console.WriteLine();
Console.ReadKey();
foreach (int x in array)
{
Console.Write((x > 50 && x < 60) ? x + " ": "");
}
Console.ReadKey();
}

Devo4ka 07 июн 2016 15:26

int[] array = new int[15];
Random x = new Random ();

for (int i = 0; i < array.Length; i++) {
array [i] = x.Next (10, 60);
Console.Write (array [i] + " ");
}Console.WriteLine ();

foreach(int el in array){
if (el >= 20 && el <= 50)
Console.Write (el+" ");
}

Максим 31 май 2016 12:52

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

namespace тренировка
{
class Program
{
static void Main(string[] args)
{
int[] numbers = { 30, 1, 888, 1234567, 33, 26, 44, 25, 228, 49 };
foreach(int n in numbers)
{
if (n > 20 && n < 50) Console.Write(n + ", ");
}
Console.ReadKey();
}
}
}

poohcoolguy 14 май 2016 20:11

static void Main(string[] args)
{
int[] massive = new int[100];
Random rand = new Random();
Console.WriteLine("Имеется массив с числами:");
for (int i = 0; i < massive.Length; i++)
{
massive[i] = (sbyte) rand.Next(); // преобразование int в sbyte выполнено для увеличения шанса удовлетворить условие 20<X<50 набором случайных чисел в небольшом массиве (100 чисел)
Console.WriteLine(massive[i]);
}
Console.WriteLine("Выводим значения удовлетворяющие условию 20 < X < 50");
foreach (int check in massive)
{
if (check > 20 && check < 50)
Console.WriteLine(check);
}
Console.WriteLine("Для выхода нажмите любую клавишу...");
Console.ReadKey();
}

Ablaykhan 28 апр 2016 18:18
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace foreach_application_1
{
class Program
{
static void Main(string[] args)
{
int[] numbers = { 1, 2, 12, 21, 33, 44, 55, 43, 3 };
int a = 0;
foreach(int el in numbers)
{
if ( 20<=el && el<=50)
{
Console.WriteLine(el);
}
}
Console.ReadKey();
}
}
}

Ablaykhan 28 апр 2016 18:09
Пардон, бегло прочитал задание. Сейчас исправлю

Ablaykhan 28 апр 2016 18:04
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace foreach_application_1
{
class Program
{
static void Main(string[] args)
{
int[] numbers = new int[31];
int s = 0;
int a = 20;
for(int i=0; i < 31; i++)
{
numbers[i] = a + i;
Console.WriteLine(numbers[i] + " ");
}
foreach(int el in numbers)
{
s += el;
}
Console.WriteLine(s);
Console.ReadKey();
}
}
}

Ablaykhan 28 апр 2016 18:03
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace foreach_application_1
{
class Program
{
static void Main(string[] args)
{
Random r = new Random();
int[] numbers = new int[31];
int s = 0;
int a = 20;
for(int i=0; i < 31; i++)
{
numbers[i] = a + i;
Console.WriteLine(numbers[i] + " ");
}
foreach(int el in numbers)
{
s += el;
}
Console.WriteLine(s);
Console.ReadKey();
}
}
}

Blago 07 апр 2016 15:27


int[] numbers = {1, 4, 7, 13, 20, 33, 23, 54, 64, 10, 15, 21, 25, 30, 22, 26, 36, 40, 42,48, 50 };


foreach (int el in numbers)
{
if (el % 2 == 1)
continue;
{
if (el >= 20 && el <= 50)
Console.WriteLine(el);
}
}

Console.WriteLine("Всё пока что");
Console.ReadKey();

john 02 апр 2016 21:01
without array :))





for (int i = 20; i < 51; i++)
{
if(i % 2 == 0)
Console.WriteLine(i);
}

Дан 19 мар 2016 19:17
Написано же целых чисел...

float[] array1 = {2.5f, 37, 5.1f, 65.3f, 12.4f, 6, 21, 76, 23.1f, 49};

foreach (float s in array1)
{
int sint = (int) s;
if (s/sint == 1&&50>s&&s>20)
{
Console.WriteLine(s);
}
}

Console.ReadKey();

Виктор Ш 24 фев 2016 17:27
class Program
{
static void Main(string[] args)
{
int[] numbers = { 4, 7, 13, 20, 33, 23, 55, 106, 36, 49, 63 };


foreach (int i in numbers)
{
if (i >= 20 && i <= 50)
{
Console.WriteLine(i);
}
}


Console.ReadKey();
}
}
}

apfffff 17 фев 2016 11:06

Составить алгоритм для вычисления функции, как здесь составить цикл, помогите пожалуйста!

- 1
¦ -===¬ , если 0<y<1.36; dy=0.136;
¦ \¦1+y
¦
z= < 0 , если y=0;
¦
¦ 1
¦ -====¬ , если -1.5<y<0; dy=0.15.
L \¦1-2y

voloshyn-i 25 янв 2016 10:01
{
static void Main(string[] args)

{
int[] numbers = { 4, 7, 13, 20, 33, 23, 54, 46, 78 };
int s = 0;

foreach (int el in numbers)
{
if (el <= 50 && el >= 20)
Console.WriteLine(el);
}

Console.ReadKey();

}

}

Vaniok 10 янв 2016 13:53
int[] massive1 = { 21,1,54,23,45,76,4,3,23,544,654,34, };
foreach (int f in massive1)
{
if(f>20&&f<50)


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

Vaniok 10 янв 2016 13:52
ivan.bishoviy.98@mail.ru

Ponomarew 28 дек 2015 19:26
int[] massive = {1,5,27,39,45,17,27,99,30,73,12,5,29,49 };
foreach (int s in massive)
{
if (s>20 && s<50)
{
Console.WriteLine(s);
}
}

Valet 23 дек 2015 19:55

static void Main(string[] args)
{
int[] mas=new int[10];

Random rand=new Random();
Console.WriteLine("Элементы массива:");
for (int i = 0; i < mas.Length; ++i)
{
mas[i] = rand.Next(0, 100);
Console.Write(mas[i]+" ");
}
Console.WriteLine();
foreach (int i in mas)
{
if(i>20&&i<50)
Console.Write(i+" ");
}
}

Arzu 09 дек 2015 14:56
static void Main(string[] args)
{
int[] mass = new int[10];
Random rd = new Random();
foreach (int el in mass)
{
mass[el] = rd.Next(20, 51);
Console.Write(mass[el] + " ");
}
Console.ReadKey();
}
}

Kolsky 08 ноя 2015 12:28

static void Main(string[] args)
{
int[] Num = { 1, 46, 18, 23, 64, 49, 33, 102, 8 };
string Out="";
foreach(int a in Num)
{
if (a > 20 && a < 50) Out = (Out + a + ", ");
}
Out = Out.Remove(Out.Length - 2)+".";
Console.WriteLine(Out);
Console.ReadKey();
}
}
}


vostok7777 26 окт 2015 05:28

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

namespace ConsoleApplication11
{
class Program
{
static void Main(string[] args)
{
int [] num = {41, 2, 34, 4, 0, 60, -8, 80, 11, 25, 88, 9};
foreach(int s in num)
{
if (20 < s && s < 50)
Console.WriteLine(s);

}
Console.ReadKey();
}

}
}


Дмитрий 10 окт 2015 07:40
Самый понятный урок )))

using System;

namespace EducationApp
{
class Program
{
static void Main()
{
int [] num = {3, 8, 16, 22, 26, 31, 34, 45, 55, 122};
foreach (int elem in num)
{
if (elem > 20 && elem < 50)
{
Console.WriteLine(elem);
}
}
Console.ReadKey();
}
}
}


Link125 18 сен 2015 19:12
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int[] mass1 = new int[10];
Random random = new Random();
for(int i = 1; i < mass1.Length; i++) {
mass1[i] = random.Next(0,100);
}
foreach(int i in mass1){
if ((i > 20) && (i < 50))
{
Console.Write(i + " ");
}
}
Console.ReadKey();
}
}
}

MichGar 23 июл 2015 20:41
/*
Используя цикл foreach, выведите на экран все элементы массива целых чисел, которые больше 20 и меньше 50.
*/

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

namespace DemoForeach
{
class Program
{
static void Main(string[] args)
{
int[] numbers = new int[10];
Random random = new Random();

Console.WriteLine("Массив:");
for (int i = 0; i < numbers.Length; i++)
{
numbers[i] = random.Next(1, 100);
Console.WriteLine(numbers[i]);
}

Console.WriteLine("\nЧисла массива numbers, которые больше 20 и меньше 50");
foreach (int i in numbers)
{
if ((i > 20) && (i < 50))
Console.WriteLine(i);
}
}
}
}

Юлия 23 июн 2015 06:41

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

namespace ConsoleApplication1
{
class Program
{
public static void DisplayList()
{

Console.Write(",");
}
public static void DisplayList(string s)
{
Console.Write(s);
}
static void Main(string[] args)
{List<string> names= new List<string>();
names.Add("Катя");
names.Add("Лёша");
names.Add("Света");
names.Add("Оксана");
names.Add("Юля");

foreach (string n in names )
{
Console.Write(n);
DisplayList();

}
Console.WriteLine();
foreach (string n in names)
{
Console.Write(n);
DisplayList(" / ");

}
Console.ReadKey();

}
}
}


Максим 09 июн 2015 14:15
virtual.xinell
---
Используя foreach, вы никогда не выйдите за пределы массива, не нужно объявлять счетчик, и использовать его для доступа к элементам массива, el явно удобнее, чем array[i].

virtual.xinell 09 июн 2015 13:51
не понимаю, смысл от этого цикла? преимущества перед тем же for() какие?

Максим 23 май 2015 11:43
rotkiv
---
Да

rotkiv 23 май 2015 07:40
вопрос. Переменная "el" активна только в теле цикла, то есть после завершения прохода по элементам массива она обнуляется, стирается?

rotkiv 22 май 2015 14:03

static void Main(string[] args)
{
int[] array = {36, 33, 5, 49, 21, 15, 35, 54, 42, 32, 54, 2, 29};
foreach (int i in array)
{
if (i >= 20 && i <= 50)
Console.WriteLine(i);
Console.ReadKey();
}
}

Flamingo 18 май 2015 08:11

static void Main(string[] args)
{
int[] numbers = { 4, 7, 13, 20, 33, 37, 45, 24, 34, 23, 54 };
foreach (int i in numbers)
{
if(i <= 20 || i >= 50)
{
continue;
}
Console.WriteLine(i);
}
Console.ReadKey();
}

Богдан 11 май 2015 19:50
static void Main(string[] args)
{
Console.ForegroundColor = ConsoleColor.DarkYellow;
Console.WriteLine("Сгенерированный массив:");
Console.ResetColor();

Random rand = new Random();
int[] numbers = new int[10];

for (int i = 0; i < 10; i++)
{
numbers [i] = rand.Next(0, 100);
Console.Write(numbers[i] + " ");
}

Console.WriteLine("");
Console.WriteLine("===================================");
Console.ForegroundColor = ConsoleColor.DarkYellow;
Console.WriteLine("Числа которые попали в диапазон:");
Console.ResetColor();
foreach (int el in numbers)
{
if (el > 20 && el < 50)
Console.Write(el + " ");

}
Console.ReadKey();
}

phoenix 15 апр 2015 10:15
Перечитал ДЗ еще раз и исправил код для массива, в котором есть различные элементы, а не только ряд от 21 до 50:
int[] Mass1 = new int[29];
Random R1 = new Random();
for (int i = 0; i < 29; i++)
{ Mass1[i] = R1.Next(100); }
Console.WriteLine("Все элементы массива: ");
foreach (int el in Mass1)
{ Console.Write(el + ", "); }
Console.WriteLine();
Console.WriteLine("Элементы массива удовлетворяющие требованию 20 < Element < 50: ");
foreach (int el in Mass1)
{ if (el > 20 && el < 50) { Console.Write(el); Console.Write(", "); } }
Console.ReadKey();

phoenix 15 апр 2015 10:06
int[] Mass1 = new int[29];
for (int i = 0; i < 29; i++)
{ Mass1[i] = i; Mass1[i] += 21;}
foreach (int el in Mass1)
{Console.Write(el); if (el == 49) break; Console.Write(", "); }
Console.ReadKey();

AzraeL 08 апр 2015 10:54
(Мое решение):

static void Main(string[] args)
{
int[] mas = {5, 7, 10, 15, 22, 29, 34, 37, 43, 48, 52, 61, 69, 99};
foreach (int el in mas)
{
if (el > 20 && el < 50)
Console.WriteLine(el);
}
Console.ReadKey();
}


LL 28 мар 2015 19:54

{
int[] n= new int[61];
Random r = new Random();
for (int i = 0; i < 61; i++)
{
n[i] = r.Next(0,60);
Console.Write(n[i] + " ");
}
Console.Write("\nЧисла, которые больше 20 и меньше 50\n");
foreach (int k in n)
{
if (k > 20 && k < 50)
Console.Write(k+" ");
}

Console.ReadKey();
}

ARRAY com#2 09 мар 2015 18:28
ПОНЯЛ !!! Он не выводит предыдущие значения ! нужно в блок foreach вставить writeline.

ARRAY 09 мар 2015 18:25
Console.Clear();
Console.WriteLine("1 - Q");
Console.WriteLine("2 - W");
if (Console.ReadKey(true).Key == ConsoleKey.W)
{
string[] Array = new string[5];
Array[0] = "1st";
Array[1] = "2nd";
Array[2] = "3rd";
Array[3] = "ERROR ! # 1";
Array[4] = "ERROR ! # 2";
string s = "";
Console.Clear();
foreach (string S in Array)
{
s = S;
}
Console.WriteLine(s);
}
Выводит "ERROR # 2"
Что не так ? скажите пожалуйста.

sfdd 04 мар 2015 12:57
int[] a = new int[31];
a[0] = 20;
for (int i = 1; i < a.Length; i++)
{
a[i]=a[i-1]+1;
}
foreach (int el in a)
Console.WriteLine(el);

Ekot 27 фев 2015 18:53
Ниже не так понял
вот так лучше вроде
static void Main(string[] args)
{
int[] numbers = { 4, 7, 13, 20, 33, 23, 54 };
int s = 0;

foreach (int el in numbers)
{
if (el > 20 && el < 50)
{ Console.WriteLine(el); }
}

Console.ReadKey();
}

Giffy 02 фев 2015 23:06
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace @foreach
{
class Program
{
static void Main(string[] args)
{
int N,s=0;
Console.WriteLine("Введите размер массива");
N = Convert.ToInt32(Console.ReadLine());
int[] massiv = new int[N];
Random rnd = new Random();
for (int i = 0; i < massiv.Length;i++ )
{
massiv[i] = rnd.Next(10*4);
}
foreach (int numb in massiv)
{
s += numb;
if (numb> 20 && numb < 50)
{
Console.WriteLine(numb);
}
}
}
}
}

Rafnsvartr 16 янв 2015 23:23
В предыдущем ошибка была =(

// Используя цикл foreach, выведите на экран все элементы массива целых чисел,
// которые больше 20 и меньше 50.
int[] numbers = { 4, 7, 13, 20, 33, 23, 54 };
int s = 0;

foreach (int el in numbers) {
s += el;
if (20 < el && el < 50) {
Console.WriteLine(el);

}
}
Console.Read();

Rafnsvartr 16 янв 2015 23:22

int[] numbers = { 4, 7, 13, 20, 33, 23, 54 };
int s = 0;

foreach (int el in numbers) {
s += el;
if (20 < s && s < 50) {
Console.WriteLine(s);

}
}
Console.Read();

Slavik 09 янв 2015 12:52
int[] numbers = { 4, 7, 13, 20, 33, 23, 54 };

foreach (int el in numbers)
{
if (el > 20 && el < 50)
Console.WriteLine(el);
}

Console.ReadKey();

Сергей 29 дек 2014 23:30
int s = 0;
int[] massive = new int[51];
for (int i = 0; i < massive.Length; i++)
{
massive[i] = s;
s++;
}

foreach (int e in massive)
{
if (e>20 && e<50)
Console.WriteLine(e);
}
Console.ReadKey();

Виталий 27 дек 2014 13:29
У меня только общее число показывает:

int[] block = { 21, 22, 23, 24, 25, 38, 46 };
int b = 0;
foreach (int el in block)
{
b += el;
}

Console.Write(b);
Console.ReadKey();

Результат - 199.

armggagik 24 дек 2014 15:27
Rodion
Вы используете Console.WriteLine , надо Console.Write.
например:
static void Main(string[] args)
{
int numbers;
Console.WriteLine("Введите размер массива целых чисел");
numbers = Convert.ToInt32(Console.ReadLine());
int[] ArrayOfNumbers = new int[numbers];
for (int num = 0; num < ArrayOfNumbers.Length; num++)
{
Console.WriteLine("Введите " + (num + 1) + " элемент массива");
ArrayOfNumbers[num] = Convert.ToInt32(Console.ReadLine());
}
Console.Write("Все числа большие 20 и меньшие 50" + ": ");
foreach (int number in ArrayOfNumbers)
{
if (number > 20 && 50 > number)
// Console.WriteLine("Все числа большие 20 и меньшие 50" + ":" + number);
Console.Write(" " + number);
}
Console.ReadKey();
}

Rodion 08 дек 2014 17:04
static void Main(string[] args)
{
int numbers;
Console.WriteLine("Введите размер массива целых чисел");
numbers = Convert.ToInt32(Console.ReadLine());
int[] ArrayOfNumbers = new int[numbers];
for (int num = 0; num < ArrayOfNumbers.Length; num++)
{
Console.WriteLine("Введите " + (num + 1) + " элемент массива");
ArrayOfNumbers[num] = Convert.ToInt32(Console.ReadLine());
}
foreach (int number in ArrayOfNumbers)
{
if (number > 20 && 50 > number)
Console.WriteLine("Все числа большие 20 и меньшие 50" + number);
}
Console.ReadKey();
}

Вопрос:Почему числа выводятсья не в одну строчку,а в столбик - связано с тем что if внутри foreach.Но если if вынести из foreach,то if не видит number.Как сделать так чтобы числа писались в строчку

Богдан 26 ноя 2014 12:34
static void Main(string[] args)
{

int[] ar1 = { 1, 2, 4, 5, 30, 100, 62, 50, 40 };
foreach(int namber in ar1){
Console.Write( (namber > 20) && (namber < 50)? (namber+" "): null);
}

Console.ReadKey();


}

Квинт 25 окт 2014 09:52
{
class Program
{
static void Main(string[] args)
{
int[] mas = new int[10];
Console.WriteLine("Введите элементы массива:");
for (int i=0; i<10; i++)
{mas[i]= Convert.ToInt32(Console.ReadLine());}
Console.Write("Числа большие 20 и меньшие 50: ");
foreach(int chislo in mas)
{if ((chislo>20) && (chislo<50))
Console.Write(chislo + ", ");
}
Console.ReadKey();
}
}
}

evgenii 17 окт 2014 20:43
int[] mas1 = { 12, 32, 34, 45, 5, 56, 7, 8, 49, 10 };

foreach (int mas in mas1)
{
if (mas > 20)
{
if (mas < 50)
{
Console.WriteLine(mas);
}
}
}
Console.ReadKey();

Slavik 08 сен 2014 20:47
спасибо за урок
static void Main(string[] args)
{
int[] array = new int[20];
Random r = new Random();

for (int i = 0; i < array.Length; i++)
{
array[i] = r.Next(10, 70);
}

Console.WriteLine("\tArray");
foreach (int i in array)
{
Console.Write( i + " ");
}

Console.WriteLine("\n\t20 < elements < 50");
foreach (int counter in array)
{
if ((counter > 20) && (counter < 50))
{
Console.Write(counter + " ");
}
}
Console.ReadKey();

воспользовався рандомным заполнением(посмотрел как)
в цикле foreseach, где юзаю if, можно как - то записать тернарный оператор, а то я пробова, не вышло(

Максим 04 авг 2014 15:18
mumm
---
после оператора if не нужно ставить ";"

mumm 04 авг 2014 11:48
Не могу разобраться. Почему выводит все числа в массиве?

int[] numbers = { 4, 7, 13, 20, 33, 23, 54 };
foreach (int el in numbers)
{
if (el > 20 && el < 50) ;
Console.WriteLine(el);
}

Console.ReadKey();

Максим 29 июл 2014 15:12
n0n4m3r
---
Наоборот хорошо

n0n4m3r 29 июл 2014 14:55
А ничего, что я пользуюсь автозаполнением массивов?


int[] array = new int[100];
Random filling = new Random();
for (int i = 0; i < array.Length; ++i)
{
array[i] = filling.Next(1, 101);
Console.Write(array[i] + "; ");
}


foreach (int between in array)
if (between > 20 && between < 50)
Console.WriteLine(between);
Console.ReadKey();

nadjon4ik 26 июл 2014 21:01
int[] mas = { 20, 24, 50, 49, 8, 6, 42, 3, 21, 47, 5, 1, 3 };
foreach (int rel in mas)
{
if (rel > 20 && rel < 50) { Console.Write(rel+ " "); }

}
Console.ReadKey();

Максим 28 май 2014 14:13
Svyatoslav
---
Потому что 48 больше 20 и меньше 50 ) Условие же такое if (element > 20 && element < 50)

Svyatoslav 27 май 2014 21:45
int[] mas = {1, 54, 65, 17, 48, 15, 4, 3, 2, 87, 94, 55, 14, 15};
foreach (int element in mas)
if (element > 20 && element < 50)
Console.WriteLine(element);
Console.ReadKey();

Пояснит кто, почему у меня выводится только "48" ?
Ответ желательно сюда: https://vk.com/sv0rk

Yegor 20 май 2014 18:06
int[] first = new int[10];
for (int i=0; i<10; i++)
{
Console.WriteLine("Введите " + (i+1) + "-й элемент из 10 первого массива: ");
first[i] = Convert.ToInt32(Console.ReadLine());
}
Console.WriteLine();
Console.WriteLine("Числа >20 и <50 введенного Вами массива: ");
foreach (int a in first)
{
if (a > 20 && a < 50)
Console.WriteLine(a);
}
Console.ReadKey();

Иван 27 апр 2014 14:52
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int[] mas = { 44, 54, 87, 64, 21, 65, 33, 64, 23, 45, 46, 65, 1, 0 };
foreach (int el in mas)
{
if (el > 20 && el < 50)
{
Console.WriteLine(el);
}
}
Console.ReadLine();
}
}
}

Игорь 18 апр 2014 16:27
class Program
{
static void Main(string[] args)
{
int[] mas = {11,65,25,33,50,37,38};
foreach (int el in mas)
{
if (el > 20 && el < 50)
{
Console.WriteLine(el);
}
}
Console.ReadLine();
}
}

Антон 11 апр 2014 20:00
Farid, Что то ты много скобок лишних напихал, вот как твое должно выглядеть:
static void Main(string[] args)
{
int[] numbers = { 4, 7, 13, 20, 33, 25, 29, 31, 42, 41, 35, 47, 51, 66 };
foreach (int num in numbers)

if (num > 20 && num < 50)
Console.WriteLine(num);
Console.ReadKey();
}

Farid 31 мар 2014 12:49
int[] array = { 4, 7, 13, 20, 33, 40, 51, 26, 23, 54 };

foreach (int cislo in array)
{
if (cislo > 20 && cislo < 50)
{
Console.WriteLine(cislo);
}

Илья 06 мар 2014 20:18
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication6
{
class Program
{
static void Main(string[] args)
{
int[] numbers = { 4, 7, 13, 20, 33, 23, 54 };

foreach (int i in numbers)
{
if ((i >= 20) && (i <= 50)) {
Console.WriteLine(i);
continue;
}
}
Console.ReadKey();
}
}
}

Максим 27 фев 2014 17:33
Ы_ы
---
&& - это оператор логической операции "И" над операндами типа bool
& - выполняет битовую операцию логического умножения для целочисленных типов, и логическую операцию "И" над операндами типа bool

Но в работе этих двух операторов в качестве операции "И" есть одно различие. Нарпример есть такое выражение:
a && b && c
В случае, если первая часть этого выражения (a) будет false, то все последующие части (b, c) вычислятся не будут (в этом нет смысла), и сразу будет возвращен результат false. Если использовать здесь операторы "&", то будут вычислятся все части выражения (тратится лишнее время)

Ы_ы 27 фев 2014 15:46
List<int> aMyArray = new List<int>() ;
for (int i = 0; i <= 60; i++)
{
aMyArray.Add(i);

}

foreach (int i in aMyArray )
{
if (i > 20 & i < 50) // вот тут вопрос. почему с одним амперсандном все работает?
{
Console.WriteLine(i);
}
}

KRECER 29 янв 2014 09:00
int[] numbers = {10, 150, 33, 68, 39, 70, 21, 48, 89, 55, 39};
foreach (var num in numbers)
{
if (num > 20 & num < 50) Console.WriteLine(num);
}
Console.ReadKey();

Алексей 08 янв 2014 14:56
int count;
Console.WriteLine("Enter count elements of array:");
count = Convert.ToInt32(Console.ReadLine());

int[] a = new int[count];
for (int i = 0; i < a.Length; i++)
{
Console.WriteLine("Enter " + (i + 1) + " element of array");
a[i] = Convert.ToInt32(Console.ReadLine());
}

foreach (int number in a)
{
if (number > 20 && number < 50)
Console.WriteLine(number);
}
Console.ReadKey();

odmion 01 янв 2014 17:34
админ. добавь форматирование текста в комментариях. а то ну очень неудобно читать решенные задачи.

odmion 01 янв 2014 17:28
static void Main(string[] args)
{
// Заполняем массив случайными числами
int[] arrayA = new int[20];
Random numbers=new Random();
foreach(int i in arrayA)
{
arrayA[i] = numbers.Next(1, 100);
if(arrayA[i]>20 & arrayA[i]<50) Console.WriteLine(arrayA[i]);
}
Console.ReadKey();
}

The Saint 21 дек 2013 23:14
int[] numbers = { 4, 7, 13, 20, 23, 25, 27, 54 };

foreach (int el in numbers)
if (el > 20 && el < 50)
{
Console.WriteLine(el);
}
Console.ReadKey();

Андрей 21 дек 2013 06:45
static void Main(string[] args)
{
int[] nums = { 15, 29, 32, 39, 24, 43, 47, 82, 37, 41 };

foreach (int element in nums)
if (element > 20 && element < 50)
Console.WriteLine(element);

Console.ReadKey();
}

Ризван 19 дек 2013 14:06
int[] numbers = { 4, 7, 13, 20, 33, 23, 43, 45, 54 };

foreach (int name in numbers)
{
if(name > 20 && name < 50 )
Console.WriteLine(name);
}



Console.ReadKey();

Максим 09 дек 2013 23:55
RennarD
---
if (El > 50 || El < 20)
{
Console.Write(El+" ");
}
else continue;
}
Оператор continue используется тогда, когда не нужно выполнять код ниже этого оператора, а здесь он стоит в конце цикла, и в нем смысла нет.

palazhevich 09 дек 2013 23:25
static void Main(string[] args)
{
int[]nambers={10,20,25,30,40,45,50,60};
foreach (int el in nambers)
if (el>20 && el< 50)
{
Console.WriteLine(el);
}
Console.ReadLine();
}

RennarD 09 дек 2013 21:15
static void Main(string[] args)
{
int[] array = new int[10];
Random random = new Random();
for (int i = 0; i < 10; i++)
{
array[i] = random.Next(0, 70);
Console.Write(array[i]+" ");
}
Console.WriteLine();
Console.WriteLine("-----------Result----------------");
foreach (int El in array)
{
if (El > 50 || El < 20)
{
Console.Write(El+" ");
}
else continue;
}
Console.ReadKey();
}
}
}

Максим 04 дек 2013 22:25
Георгий
---
У вас так и не требуется. Так было бы, если бы вы Console.ReadKey(); в цикл поставили

Георгий 04 дек 2013 17:56
int[] numbers = { 23, 56, 78, 45, 12, 11, 58, 26, 8, 2 };
int s = 0;

foreach (int el in numbers)
{
if (el < 50 && el > 20)
{
s = el;
}
else
{
continue;
}
Console.WriteLine(s);
}
Console.ReadKey();


Только у меня вопрос : возможно ли сделать так что бы не требовалось нажимать каждый раз кнопку для появления следуюющего числа?

Максим 11 ноя 2013 17:50
Игорь
---
О форматтированом выводе Write() вы можете почитать здесь:
1. http://stackoverflow.com/questions/4223815/format-strings-in-console-writeline-method
2. http://msdn.microsoft.com/ru-ru/library/586y06yf%28v=vs.110%29.aspx

А с рандомом все понятно, 1 аргумент - максимальное возможное число, 2 аргумента - диапазон. NextBytes - заполняет массив байтов

Игорь 09 ноя 2013 20:48
static void Main(string[] args)
{
int[] array = new int[20];
Random r = new Random();
System.Console.WriteLine(" Moi massiv");
for (int i = 0; i < array.Length; i++)
{ array[i]=r.Next(101);
System.Console.Write("{0, 3}", + array[i]);
}
foreach (int B in array)
{ if (B<20)
{ Console.WriteLine("Lower then 20 {0, 3}", B); }
if (B>50) {Console.WriteLine("Higher then 50 {0, 3}", B); }

}
System.Console.ReadKey();
}
}
я тоже хочу комментов к проге, не могли бы вы выдать инфу о том где есть все функции writeline особенно то как работают {} в нем. и рассказать о рандоме более подробно. щас делаю это задание для case думаю что нить да выйдет))

Павел 09 ноя 2013 11:09
{
int[] nums = { 1, 6, 23, 7, 23, 76, 3, 6, 7, 8, 24, 345, 34, 8, 34, 76, 35, 39, 87, 45, 34 };
foreach (int n in nums)
{
if (n > 20 && n < 50)
{
Console.WriteLine(n);
}
}
Console.ReadKey();
}

Nikolay 13 окт 2013 09:27
static void Main(string[] args)
{
int[] array1 = { 10, 20, 30, 40, 50, 60, 70, 80, 90, 100 };
foreach (int el in array1)
{
}
if (el >= 20 && el <= 50)
Console.WriteLine(el);
}
Console.ReadKey();
}

Alexander 13 окт 2013 00:54
int[] numbers = { 4, 7, 13, 20, 33, 23, 54 };
int s = 0;
foreach (int i in numbers)
{
s = i;
Console.WriteLine(s);
Console.WriteLine(s > 20 && s < 50 ? "больше 20 и меньше 50" : "Не попадает под условие");
Console.ReadKey();
}

Даша 09 окт 2013 17:46
int[] array = {12, 24, 36, 54};
foreach (int num in array)
{
if (num > 20 && num < 50)
{
Console.WriteLine(num);
}
}

Максим 20 сен 2013 16:25
DushaZ
---
"больше 20 и меньше 50", а вы сделали меньше 20 или больше 50

DushaZ 19 сен 2013 08:24
class Program
{
static void Main(string[] args)
{
int[] a = { 1, 15, 100, 53, 12, 16, 65, 47, 82, 38, 64, 37, 68, 90, 23 };
foreach (int b in a)
{
if (b < 20 || b > 50)
Console.WriteLine(b);
}
Console.ReadKey();
}
}

Nastya1512 15 сен 2013 16:52
static void Main(string[] args)
{
int[] arr= new int[100];
int i = 0;
arr[i] = i;
foreach (int el in arr)
{
if(i >= 20 && i <= 50)
{
Console.WriteLine(i);
}
i++;
}

Console.ReadKey();
}

Максим 22 авг 2013 12:11
hojiakbar
---
ну тут вы выводите элементы в зависимоти от того, как они были записаны в массив. Лучше было бы универсальное решение

hojiakbar 21 авг 2013 23:32
static void Main(string[] args)
{
int[] massiv = new int[100];
for (int i=0; i < massiv.Length; i++)
{
massiv[i] = i;
}
foreach (int k in massiv)
{
if (k <= 20) continue;
Console.WriteLine(k.ToString());
if (k == 50) break;
}
Console.ReadKey();
}

Максим 20 авг 2013 14:34
tiptop32
---
отлично

tiptop32 20 авг 2013 08:30
static void Main(string[] args)
{
int[] mas = new int [10];
Random r = new Random();
for (int i = 0; i < mas.Length; i++)
{
mas[i] = r.Next(1,100);
Console.WriteLine(mas[i]);
}
Console.WriteLine("");
Console.WriteLine("Элементы, которые больше 20 и меньше 50: ");
foreach (int el in mas)
{
if (el < 50 && el > 20)
{
Console.WriteLine(el);
}
}
Console.ReadKey();
}

Максим 01 авг 2013 16:58
sergey
----
ненужную переменную s нужно было прибрать) А так, очень рад, что кто-то таки делает дз)

sergey 01 авг 2013 12:41
Пример решения ДЗ )
int[] anymassiv = { 1, 4, 45,25,11,20,50, };
int s = 0;
foreach (int el in anymassiv) {

if (el > 20 && el < 50) {
Console.WriteLine(el);
}
}


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

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


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

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

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

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

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

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