Определить произведение элементов одномерного массива кратных заданному числу - C#
Формулировка задачи:
Всем доброго времени суток! Задание:
Дан массив из N элементов (натуральные числа). Определить произведение элементов, кратных заданному числу Р. Всё это следует проделать с помощью функции
. Ниже представлен мой нерабочий код с функцией. А ещё ниже представлен мой рабочий код, но это уже без функции. (все коды в спойлере).namespace ConsoleApplication1 { class Program { static void Main(string[] args) { int m = 1; int N; N = Convert.ToInt32(Console.ReadLine()); int[] myArr = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; Console.WriteLine("myArr: "); for (int i = 0; i < 18; i++) { Console.Write(myArr[i] + " "); } itog = r2(m,N, myArr); Console.WriteLine(itog); Console.ReadKey(); } public static int r2 (int m, int N, int MyArr ) { bool isFlag = false; Console.WriteLine("\n Enter N: "); foreach (int i in myArr) if (i % N == 0) { m *= i; isFlag = true; } if (isFlag) { Console.WriteLine("\n Multiplying: " + m); } else { Console.WriteLine("Элементов, кратных числу {0} в массиве не найдено", N); } return (itog); } } } int m = 1; bool isFlag = false; int N; int[] myArr = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; //задаем одномерный массив Console.WriteLine("myArr: "); for (int i = 0; i < 18; i++) { Console.Write(myArr[i] + " "); } Console.WriteLine("\n Enter N: "); N = Convert.ToInt32(Console.ReadLine()); //Преобразует строку, считанную в консоли к типу int (целое число). foreach (int i in myArr) if (i % N == 0) // если число в массиве кратно заданному N, то цикл начинает выполняться { m *= i; // находит произведение элементов isFlag = true; } if (isFlag) { Console.WriteLine("\n Multiplying: " + m); } else { Console.WriteLine("Элементов, кратных числу {0} в массиве не найдено",N); } Console.ReadKey();
Решение задачи: «Определить произведение элементов одномерного массива кратных заданному числу»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace cb { class Program { static void Main(string[] args) { int p=2; int N,i; N = Convert.ToInt32(Console.ReadLine()); int[] myArr = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; Console.WriteLine("myArr: "); for (i = 0; i < N; i++) { Console.Write(myArr[i] + " "); } int a=r2(p, N, myArr); Console.WriteLine(); if (a != 1) { Console.WriteLine("Itog={0}", a); } else Console.WriteLine("Не найдено") ; Console.ReadKey(); } public static int r2( int p, int N, int[] MyArr) { int i; int m = 1; for (i = 0; i < N; i++) { if (MyArr[i] % p == 0) { m *= MyArr[i]; } } return (m); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д