Top.Mail.Ru
Ответы

срочно массив задача

дан числовой массив заполнением в случайном порядке от -100 до плюс 100 надо найти и выдать значение первого положительного числа в массиве, обход цикла должен прерываться при нахождение нужного элемента

По дате
По рейтингу
Аватар пользователя
Новичок

Так можно:

123456789101112131415161718192021222324252627282930313233
 using System; 
namespace MySpace 
{ 
  public static class Program 
  { 
    public static void Main() 
    { 
      int i, m = 0, n; 
      Console.Write("n: "); 
      n = int.Parse(Console.ReadLine()); 
      Random rnd = new Random(); 
      int [] A = new int [n]; 
      for (i = 0; i < n; ++i) 
      { 
      	++m; 
      	A[i] = rnd.Next(-100,100); 
      	Console.Write("{0,5}", A[i]); 
      	if (m == 10) 
      	{ 
      	  m = 0; 
      	  Console.WriteLine(); 
      	} 
      } 
      if (m > 0) Console.WriteLine(); 
      for (i = 0; i < n; ++i) 
        if (A[i] > 0) 
        { 
          Console.WriteLine("Первое положительное число: " +A[i]); 
          break; 
        } 
    } 
  } 
} 

А выдавать массив на экран лучше потому, чтоб была сразу видна провильность работы кода.

Аватар пользователя
Искусственный Интеллект

>надо найти и выдать значение первого положительного числа в массиве
Лови:

1234
 Random r = new Random(); 
int[] a = Enumerable.Range(0, 100).Select(x => r.Next(-100, 101)).ToArray();             
Console.WriteLine(a.Aggregate(string.Empty, (x, y) => x + y + " ")); // Optional/debug 
Console.WriteLine(a.First(x => x > 0)); 

>обход цикла должен прерываться при нахождение нужного элемента
Какой еще обход цикла о_О? Обходов цикла не бывает в природе. Бывает обход структуры данных - массива, списка и т. д.. Будь уверен, там УНУТРЕ LINQ прерывает обход перечисления при нахождении нужного элемента, там вообще оптимизация очень хорошая.