Вопрос задан 05.07.2023 в 07:30. Предмет Информатика. Спрашивает Сакенов Бауржан.

Задание на С# Задание: Дан массив, состоящий из целых чисел. Нумерация элементов начинается с 0.

Напишите программу, которая выведет элементы массива, номера которых четны (0, 2, 4...). Входные данные Сначала задано число N — количество элементов в массиве (1<=N<=100). Далее через пробел записаны N чисел — элементы массива. Массив состоит из целых чисел. Выходные данные Необходимо вывести все элементы массива с чётными номерами. Решение: using System; using System.IO; namespace ConsoleApp2 { class Program { static void Main(string[] args) { int a = Int32.Parse(Console.ReadLine()); string text = Console.ReadLine(); string[] arraystring = text.Split(new char[] { ' ' }); int[] arrayy = new int[a]; int b = 0; for (int i = 0; i < a; i++) { b = Int32.Parse(arraystring[i]); arrayy[i] = b; if (i % 2 == 0) ; { Console.Write(arrayy[i] + " "); } } } } }Оно почему то не работает, найдите пожалуйста ошибку
0 0
Перейти к ответам

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

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

C#

Ответ:

Задача не предполагает создание нового массива, в ней сказано "вывести все элементы массива с чётными номерами".

  • int a = Int32.Parse(Console.ReadLine());
  • string text = Console.ReadLine();
  • string[] array = text.Split(' ');
  • for (int i = 0; i < a; i+=2) Console.Write(array[i] + " ");
  • Console.WriteLine();
  • Console.ReadLine();

или можно используя System.Linq ("int a" даже лишняя):

  • int a = Int32.Parse(Console.ReadLine());
  • string text = Console.ReadLine();
  • string[] array = text.Split(' ');
  • Console.WriteLine(string.Join(' ', array.Where((x,i) => i%2==0)));
  • Console.ReadLine();

Пример работы:



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

В коде у вас есть небольшая ошибка. Ошибка заключается в ненужной точке с запятой (;) после условия if (i % 2 == 0). Из-за этого блок кода ниже, который должен выводить элементы массива, выполняется независимо от условия, и вы получаете неправильный результат.

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

csharp
using System; namespace ConsoleApp2 { class Program { static void Main(string[] args) { int a = Int32.Parse(Console.ReadLine()); string text = Console.ReadLine(); string[] arraystring = text.Split(new char[] { ' ' }); int[] arrayy = new int[a]; for (int i = 0; i < a; i++) { int b = Int32.Parse(arraystring[i]); arrayy[i] = b; if (i % 2 == 0) { Console.Write(arrayy[i] + " "); } } } } }

В этом коде точка с запятой (;) после условия if (i % 2 == 0) была удалена, чтобы правильно выполнять блок кода внутри условия. Теперь программа должна работать должным образом и выводить элементы массива с чётными номерами.

0 0

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

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

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

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