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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.10.2014, 10:00   #1
Valentin20
 
Регистрация: 20.10.2014
Сообщений: 3
Сообщение Помогите первокурснику с С#

Нужно сделать следующее:
1.Определить количество элементов массива, расположенных между максимальным элементом и минимальным элементом(первым по порядку, если их несколько).Если по какой либо причине количество элементов определить не удается, выдать об этом сообщение с указанием причины.
2.Удалить в массиве последнюю группу из двух подряд идущих одинаковых чисел.Если удаление элементов невозможно, выдать об этом сообщение.
Valentin20 вне форума Ответить с цитированием
Старый 20.10.2014, 10:31   #2
challengerr
Участник клуба
 
Аватар для challengerr
 
Регистрация: 30.07.2008
Сообщений: 1,604
По умолчанию

Код:
using System;

class a
{

static void Main()
{
int[] b;
int i;
int min;
int max;
int minn;
int maxn;
b = new int[5];
b[0] = 1;
b[1] = 2;
b[2] = 3;
b[3] = 4;
b[4] = 5;

min= b[0];
minn = 1;
max = b[0];
maxn = 1;

for( i = 0; i< 5; i++)
{
if ( b[i] < min)
{
min = b[i];
minn = i+ 1;

if(b[i] > max)
{
max = b[i];
maxn = i+1;
}
}

System.Console.WriteLine( maxn - minn - 1);
}
Кажется, первая так делается.

Во второй итерируя в цикле, начиная с последнего элемента массива, нужно проверять элементы на равенство и затем сдвинуть в направлении начала массива.
"SPACE.THE FINAL FRONTIER.This's a voyage of starship Enterprise. It's 5-year mission to explore strange new worlds,to seek out new life and civilizations,to boldly go where no man has gone before"
challengerr вне форума Ответить с цитированием
Старый 20.10.2014, 10:39   #3
Valentin20
 
Регистрация: 20.10.2014
Сообщений: 3
По умолчанию

Спасибо, буду дальше разбиратся.

нет, что то не то, не получается

Последний раз редактировалось Stilet; 18.11.2014 в 10:18.
Valentin20 вне форума Ответить с цитированием
Старый 21.10.2014, 13:35   #4
Fenex
Форумчанин
 
Аватар для Fenex
 
Регистрация: 15.02.2012
Сообщений: 821
По умолчанию

Выкладывайте то, к чему вы пришли. Посмотрим что не так.
^-.-^ My GitHub
Fenex вне форума Ответить с цитированием
Старый 18.11.2014, 08:28   #5
Valentin20
 
Регистрация: 20.10.2014
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Fenex Посмотреть сообщение
Выкладывайте то, к чему вы пришли. Посмотрим что не так.
Пришел я вот к чему, это первое я переделал вроде правильно теперь.
Код:
class Program
    {
        static void Main()
        {
            int[] b;
            int i;
            int min;
            int max;
            int minn;
            int maxn;
            b = new int[5];
            b[0] = 1;
            b[1] = 2;
            b[2] = 3;
            b[3] = 4;
            b[4] = 5;

            min = b[0];
            minn = 0;
            max = b[0];
            maxn = 0;

            for (i = 0; i < 5; i++)
            {
                if (b[i] < min)
                {
                    min = b[i];
                    minn = i;
                }

                    if (b[i] > max)
                    {
                        max = b[i];
                        maxn = i;
                    }
                }
                int count = 0;
                if (minn > maxn)
                {
                    int temp = minn;
                    minn = maxn;
                    maxn = temp;
                }
                for (i = minn+1; i < maxn; i++)                    
                    count++;
                
                    System.Console.WriteLine("Индекс минимального элемента :"+minn);
                    System.Console.WriteLine("Индекс максимального элемента :"+ maxn);
                    System.Console.WriteLine("количество элементов массива, расположенных между максимальным элементом :"+ count);
                Console.Read();
А как сделать это я не знаю: 2.Удалить в массиве последнюю группу из двух подряд идущих одинаковых чисел. В этой же программе.

Последний раз редактировалось Stilet; 18.11.2014 в 10:19.
Valentin20 вне форума Ответить с цитированием
Старый 20.11.2014, 17:41   #6
Fenex
Форумчанин
 
Аватар для Fenex
 
Регистрация: 15.02.2012
Сообщений: 821
По умолчанию

Цитата:
2.Удалить в массиве последнюю группу из двух подряд идущих одинаковых чисел. В этой же программе.
Надо начать цикл с конца массива и продолжать перебирать элементы до тех пор, пока не встретите два и более одинаковых символа. Посчитайте количество одинаковых символов. Когда определите это - просто сдвигайте значения влево и всё.

Если кажется, что это трудно, то делайте поэтапно. Сначала сделайте то, что я написал в первом предложении, потом дальше. Если что-то не получится, выкладывайте ваш код сюда, народ поможет.
^-.-^ My GitHub

Последний раз редактировалось Fenex; 20.11.2014 в 17:47.
Fenex вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите создать програму для роботы с файлами, пожалуйста помогите нужно очень срочно Сергей Человек Фриланс 3 06.07.2009 19:30
Помогите Помогите Пожалуйста Решить Одну Задачку в Паскале!!! VisTBacK Помощь студентам 6 19.09.2008 13:44