Как найти второй положительный элемент массива? - C#
Формулировка задачи:
В лабе требуется найти произведение элементов массива с чётными номерами записать на место второго положительного элемента.
Как найти второй положительный элемент?
P.S. В этом коде оно записывает произведение вместо последнего положительного
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace laba2_mass { class Program { public const int n = 10; public static void Main() { int[] a = new int[n]; int i, idx1 = 0, idx2 = 0, p = 1; Console.WriteLine("Массив"); Random rand = new Random(); for (i = 0; i < n; i++) { a[i] = rand.Next(-10, 10); Console.Write(a[i] + " "); } Console.WriteLine(); Console.WriteLine(); //============================// for (i = 0; i < n; i++) { if(i == 1 || i == 3 || i == 5 || i == 7 || i == 9) p *= a[i]; } Console.WriteLine("p = " + p + "\n"); //============================// for (i = 0; i < n; i++) { if (a[i] > 0) { if (idx1 == 0) { idx1 = i; } if (idx1 < i) { idx2 = i; } } } Console.WriteLine("a[idx1] = " + a[idx1] + "\n"); Console.WriteLine("idx1 = " + idx1 + "\n"); Console.WriteLine("a[idx2] = " + a[idx2] + "\n"); Console.WriteLine("idx2 = " + idx2 + "\n"); //===========================// for (i = 0; i < n; i++) { if (i == idx2) { a[idx2] = p; } Console.Write(a[i] + " "); } Console.WriteLine(); Console.ReadKey(); } } }
Решение задачи: «Как найти второй положительный элемент массива?»
textual
Листинг программы
int multiplication =1; int wtf = 0; int[] massiv = new int[10]; Random rnd = new Random(); bool a = false; bool b = true;//если начинаем с четного элемента for (int i = 0; i < massiv.Length; i++) { massiv[i] = rnd.Next(-10, 10); if (massiv[i] > 0 && a == true) wtf = i; if (massiv[i] > 0) a = true; if(b){ multiplication *= massiv[i]; b=false;} else b=!b; } massiv[wtf] = multiplication; Console.WriteLine("2 положительный элемент массива = {0}",massiv[2]); //Кривовато, но пишет вместо второго. А вообще генерация нуля все портит.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д