М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
89825518635e
89825518635e
01.03.2022 12:27 •  Информатика

Исправить ошибку в c#: индекс находится вне границы массива static void znaki(int[]a) { for(int r=0; r { if(a[r]> 0) { console.writeline(a[r]); if(a[r+1]< 0) { console.writeline(a[r]); } } } } static void main(string[] args) { int n = convert.toint32(console.; int[] a = new int[n]; znaki(a); } }}

👇
Ответ:
ано6
ано6
01.03.2022

Если правильно поняла суть вашей программы, то нужно вводить количество элементов массива с клавиатуры (массив заполняется рэндомно от -10 до 10) и вывести элементы больше 0 . Вас в цикле for зачем-то понесло на второе условие if(a[r+1]<0) это неверно, цикл сам переберет все значения. Примерный код:

static void znaki(int[] a)

       {

           //Массив до изменений этот код можно удалить

           //Выводит весь массив со всеми значениями

           for (int i = 0; i < a.Length; i++)

           {

              Console.Write(a[i]+" ");

           }

           Console.WriteLine();

           //  

           for (int r = 0; r < a.Length-1; r++)

           {

               if (a[r] >= 0)

               {

                   if (a[r + 1] <= 0)

                   {

                       Console.WriteLine("Пара: "+a[r]+" " +a[r+1]);

                   }

               }

               if (a[r] <= 0)

               {

                   if (a[r + 1] >= 0)

                   {

                       Console.WriteLine("Пара: " + a[r] +" " + a[r + 1]);

                   }

               }

           }

       }

       static void Main(string[] args)

       {

           Console.WriteLine("введите количество элементов в массиве:");

           int n = Convert.ToInt32(Console.ReadLine());

           int[] a = new int[n];

           Random rand = new Random();

           for (int i = 0; i < a.Length; i++)

           {

               a[i] = rand.Next(-10,10);

           }

           znaki(a);

           Console.ReadLine();

       }


Исправить ошибку в c#: индекс находится вне границы массива static void znaki(int[]a) { for(int r=0;
4,8(88 оценок)
Открыть все ответы
Ответ:
Линейный алгоритм
если в алгоритме присутствует условие,то это алгоритм называется разветвляющийся(ветвление), Разветвляющийся алгоритм — алгоритм, в котором в зависимости от условия выполняется либо одна, либо другая последовательность действий
алгоритм в котором действия повторяются многократно называется циклический
Циклический алгоритм — описание действий, которые должны по вторяться указанное число раз или пока не выполнено заданное условие. Перечень повторяющихся действий называется телом цикла.
4,8(77 оценок)
Ответ:
asdghkbf
asdghkbf
01.03.2022
Var
n,t,s,d,e:integer;
begin
writeln('');
repeat
writeln('Введите сумму в рублях<=1000');
readln(n);
until (n>0) and (n<=1000);
t:=n div 1000;
n:=n-t*1000;
s:=n div 100;
n:=n-s*100;
d:=n div 10;
if d<>1 then
begin
n:=n-d*10;
e:=n;
end;
case t of
     1:write('тысяча ');
end;
if s>=0 then
case s of
     1:write('сто ');
     2:write('двести ');
     3:write('триста ');
     4:write('четыресто ');
     5:write('пятьсот ');
     6:write('шестьсот ');
     7:write('семьсот ');
     8:write('восемьсот ');
     9:write('девятьсот ');
end;
if d>=0 then
case d of
     1:
     case n of
     10: write('десять ');
     11: write('одиннадцать ');
     12: write('двенадцать ');
     13: write('тринадцать ');
     14: write('четырнадцать ');
     15: write('пятнадцать ');
     16: write('шестнадцать ');
     17: write('семнадцать ');
     18: write('восемнадцать ');
     19: write('девятнадцать ');
     end;
     2:write('двадцать ');
     3:write('тридцать ');
     4:write('сорок ');
     5:write('пятьдесят ');
     6:write('шестьдесят ');
     7:write('семьдесят ');
     8:write('восемьдесят ');
     9:write('девяносто ');
end;
if e>=0 then
case e of
     1:write('один ');
     2:write('два ');
     3:write('три ');
     4:write('четыре ');
     5:write('пять ');
     6:write('шесть ');
     7:write('семь ');
     8:write('восемь ');
     9:write('девять ');
end;
if (e=1) then write('рубль ')
else if (e=0)or(e>4) then write('рублей ')
else write('рубля ');
end.
4,5(3 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ