Вопрос задан 29.09.2023 в 11:56. Предмет Информатика. Спрашивает Береснева Даша.

Using System; using System.IO; using System.Linq; using System.Collections.Generic; namespace

CSharp_Shell { public static class Program { public static void Main() { string X; string not; string F; string A; X = "Привет"; string[] nota = new string[7]; nota[1] = "До"; nota[2] = "Ре"; nota[3] = "Ми"; nota[4] = "Фа"; nota[5] = "Соль"; nota[6] = "Ля"; nota[7] = "Си"; Console.WriteLine("Введите ноту"); F = Console.ReadLine(); A = F+nota[1+3]; Console.WriteLine(A); } } } Эта программа не хочет запускаться она должна прибавлять по 3 символа к примеру вводим до, а она выводит ми.
0 0
Перейти к ответам

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

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

Ответ:

static void Main(string[] args)

       {

           string F;

           string[] nota = new string[7];

           nota[0] = "До";

           nota[1] = "Ре";

           nota[2] = "Ми";

           nota[3] = "Фа";

           nota[4] = "Соль";

           nota[5] = "Ля";

           nota[6] = "Си";

           Console.WriteLine("Введите ноту");

           F = Console.ReadLine();

           int Index = -1;

           for(int i=0;i<7;i++)

           {

               if(nota[i]==F)

               {

                   Index = i+2;

                   if (Index > 6) Index = Index - 7;

               }

           }

           if(Index == -1) Console.WriteLine("Нота не найдена");

           else Console.WriteLine(nota[Index]);

           Console.ReadLine();

       }

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

Проблема в вашем коде заключается в неправильном доступе к элементам массива nota. В C# индексы массива начинаются с 0, поэтому первый элемент имеет индекс 0, а последний элемент имеет индекс 6 (а не 1 и 7, как у вас). Попробуйте следующий исправленный код:

csharp
using System; namespace CSharp_Shell { public static class Program { public static void Main() { string X; string not; string F; string A; X = "Привет"; string[] nota = new string[7]; nota[0] = "До"; nota[1] = "Ре"; nota[2] = "Ми"; nota[3] = "Фа"; nota[4] = "Соль"; nota[5] = "Ля"; nota[6] = "Си"; Console.WriteLine("Введите ноту"); F = Console.ReadLine(); // Проверка введенной ноты и добавление 3 символов из массива nota int index = Array.IndexOf(nota, F); if (index != -1 && index + 3 < nota.Length) { A = nota[index + 3]; Console.WriteLine(A); } else { Console.WriteLine("Нота не найдена или невозможно добавить 3 символа."); } } } }

В этом исправленном коде мы сначала находим индекс введенной ноты в массиве nota с помощью Array.IndexOf. Затем мы проверяем, существует ли такая нота и можно ли добавить к ней 3 символа. Если да, то мы выводим соответствующую ноту. В противном случае выводим сообщение об ошибке.

0 0

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

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

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

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