
Программа должна находить произведения элементов кратных трем. В чем моя ошибка? 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 n; int[] mas = new int [n] ; Random ran = new Random(); for (int i=0; i { mas [i] = ran.Next(1,10); Console.Write("{0}t", mas[i]); } Console.WriteLine(); int p=1; for (int i=1; i { if (mas[i]%3==0) p=p * mas[i]; } Console.WriteLine("Произведение элементов кратных 3 = {0}" , p); Console.ReadLine(); } } }

Ответы на вопрос

using System; // для данной задачи достаточно подключить только одну библиотеку
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int n;
n = int.Parse(Console.ReadLine()); //была ошибка - переменной не было присвоено значение
int[] mas = new int[n];
Random ran = new Random();
for (int i = 0; i<n;i++) // была ошибка - неправильное объявление цикла for
{
mas[i] = ran.Next(1, 10);
Console.Write("{0}\t", mas[i]); // был пропущен \
}
Console.WriteLine();
int p = 1;
for (int i = 0; i<n;i++) // была ошибка - неправильное объявление цикла for
{
if (mas[i] % 3 == 0) p = p * mas[i];
}
Console.WriteLine("Произведение элементов кратных 3 = {0}", p);
Console.ReadLine();
}
}
}



В вашем коде есть несколько проблем:
Вы объявляете переменную
n
, но не присваиваете ей значение, поэтому массивmas
будет иметь нулевую длину. Чтобы исправить это, нужно присвоить значение переменнойn
, например, с помощью ввода с клавиатуры:int n = Convert.ToInt32(Console.ReadLine());
.В цикле
for
вам нужно указать условие окончания цикла. Вместоi<n
вы должны использоватьi < mas.Length
, чтобы обойти все элементы массиваmas
.
Вот исправленный код:
csharpusing System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Введите размер массива:");
int n = Convert.ToInt32(Console.ReadLine());
int[] mas = new int[n];
Random ran = new Random();
for (int i = 0; i < mas.Length; i++)
{
mas[i] = ran.Next(1, 10);
Console.Write("{0}\t", mas[i]);
}
Console.WriteLine();
int p = 1;
for (int i = 0; i < mas.Length; i++)
{
if (mas[i] % 3 == 0)
p = p * mas[i];
}
Console.WriteLine("Произведение элементов, кратных 3 = {0}", p);
Console.ReadLine();
}
}
}
Теперь программа будет запрашивать размер массива, затем генерировать случайные числа, выводить массив, находить произведение элементов, кратных 3, и выводить результат.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili