Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.11.2016, 19:23   #1
Komi
Новичок
Джуниор
 
Регистрация: 24.11.2016
Сообщений: 2
По умолчанию Нужна помощь с массивами в C#

Дана такая задача:
Дано целое число N и массив из N целых чисел, содержащий по крайней мере два нуля. Вывести сумму чисел из данного набора, расположенных между последними двумя нулями (если последние нули идут подряд, то вывести 0).
Спасибо, все решено

Последний раз редактировалось Komi; 25.11.2016 в 15:42.
Komi вне форума Ответить с цитированием
Старый 24.11.2016, 19:36   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Ar[i]==0 без '. Не?
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 24.11.2016, 19:39   #3
Komi
Новичок
Джуниор
 
Регистрация: 24.11.2016
Сообщений: 2
По умолчанию

Да, точно, но все равно работает не верно
Komi вне форума Ответить с цитированием
Старый 24.11.2016, 21:28   #4
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Могу предложить 2 варианта
Код:
static void Main(string[] args)
        {
            Random rnd = new Random();
            int sum = 0;
            int nul = 0;
            int n = rnd.Next(3,20);
            int[] ar = new int[n];
            int[] rev = new int[n];
            for (int i = 0; i < n; i++)
                ar[i] = rnd.Next(0, 10);
            ar[rnd.Next(1, n/2) - 1] = 0;
            ar[rnd.Next(n/2, n) - 1] = 0;
            for (int i = 0; i < n; i++)
                Console.Write(ar[i] + " ");
            Console.WriteLine("\nVersion 1");
            for (int i = ar.Length; i > 0; i--)
            {
                if (ar[i - 1] == 0) nul++;
                if (nul == 2) break;
                else if (nul > 0) sum += ar[i - 1];
            }
            Console.WriteLine(sum);
            Console.WriteLine("\nVersion 2");
            rev = ar;
            sum = 0;
            Array.Reverse(rev);
            int nul1 = Array.IndexOf(rev, 0);
            int nul2 = Array.IndexOf(rev, 0, nul1+1);
            for (int i = nul1; i <= nul2; i++)
                sum += rev[i];
            Console.Write(sum);
            Console.ReadKey();

        }
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна помощь с массивами!! с++ jinos Помощь студентам 4 12.11.2014 19:09
Нужна помощь с массивами ! Katmai Общие вопросы Delphi 3 05.08.2010 00:46
нужна помощь в задаче с массивами frefres Помощь студентам 1 16.12.2009 21:59
Нужна помощь с одномерными массивами! SHYRA777 Помощь студентам 1 03.12.2009 16:37
нужна помощь с массивами и числами Pascal Rus 47 Помощь студентам 1 13.12.2008 01:56