Вопрос задан 17.07.2023 в 18:08. Предмет Информатика. Спрашивает Генних Никита.

Программа должна находить произведения элементов кратных трем. В чем моя ошибка? 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(); } } }
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Жемчужных Анастасия.

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();

}

}

}

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

В вашем коде есть несколько проблем:

  1. Вы объявляете переменную n, но не присваиваете ей значение, поэтому массив mas будет иметь нулевую длину. Чтобы исправить это, нужно присвоить значение переменной n, например, с помощью ввода с клавиатуры: int n = Convert.ToInt32(Console.ReadLine());.

  2. В цикле for вам нужно указать условие окончания цикла. Вместо i<n вы должны использовать i < mas.Length, чтобы обойти все элементы массива mas.

Вот исправленный код:

csharp
using 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, и выводить результат.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос