
Вопрос задан 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] + " "); } } } } }Оно почему то не работает, найдите пожалуйста ошибку

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

Отвечает Лубяников Данил.
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();
Пример работы:





Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
В коде у вас есть небольшая ошибка. Ошибка заключается в ненужной точке с запятой (;
) после условия if (i % 2 == 0)
. Из-за этого блок кода ниже, который должен выводить элементы массива, выполняется независимо от условия, и вы получаете неправильный результат.
Вот исправленный код:
csharpusing 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)
была удалена, чтобы правильно выполнять блок кода внутри условия. Теперь программа должна работать должным образом и выводить элементы массива с чётными номерами.


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

Информатика 47

Информатика 33

Информатика 67

Информатика 18

Информатика 25

Информатика 563

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