Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> C# массив 
V
    Опции темы
Forfex
  Дата 25.4.2009, 19:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 25.4.2009

Репутация: нет
Всего: нет



Выручите плз:
Дан целочисленный массив А размера 10. Вывести номер первого/последнего из тех его элементов A[i], которые удовлетворяют двойное неравенство: A[1]<A[i]<A[10]. Если таких элементов нет то вывести 0.

Имеется код, но он мало того что не правильно работет, так и написан не понятно smile 
Код

var a = new int[10] {1, 4, 5, 3, 8, 4, 5, 6, 2, 10};
var b = a.Select(x => x > a[0] && x < a[a.Length-1]).ToList();
if (b.TrueForAll(x => !x))
    Console.WriteLine(0);
else
    Console.WriteLine("First: {0}, Last: {1}",
        b.FindIndex(x => x), b.FindLastIndex(x => x));



PM MAIL   Вверх
Neox_GeForce
Дата 25.4.2009, 21:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 283
Регистрация: 14.11.2007
Где: Украина

Репутация: нет
Всего: нет



Задание не пойму никак. Обьясни что найти надо-то


--------------------
user posted image
Челябинские программисты настолько суровы, что обходятся без компиляторов.
Челябинские программисты настолько суровы, что считают ассемблер недопустительной роскошью - они вручную магнетизируют участки жесткого диска.
PM MAIL ICQ   Вверх
Forfex
Дата 25.4.2009, 22:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 25.4.2009

Репутация: нет
Всего: нет



т.е. Вывести порядковый номер минимального и максимального элемента который находится в пределах между A[0] и A[9]. В даном варианте A[0] = 1, A[9] = 10; т.е. надо вывести порядковый номер минимального числа в этих пределах = A[8] =2, и максимального = A[4] = 8. Если таких элементов нет то вывести 0.

Это сообщение отредактировал(а) Forfex - 25.4.2009, 22:15
PM MAIL   Вверх
Neox_GeForce
Дата 25.4.2009, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 283
Регистрация: 14.11.2007
Где: Украина

Репутация: нет
Всего: нет



Понял

Добавлено @ 22:20
Вот код
Код

static void Main(string[] args)
        {
            var /*int[]*/ a = new int[10] { 1, 4, 5, 3, 8, 4, 5, 6, 2, 10 };
           
            int MinIndex=0,MaxIndex=0,max=a[1],min=a[1];
            for (int i = 1; i < a.Length -1; i++)
            {
                if (a[i] > a[0] && a[i] < a[9] && a[i] > max) { max = a[i]; MaxIndex = i;}
                if (a[i] > a[0] && a[i] < a[9] && a[i] < min) { min = a[i]; MinIndex = i;}
            }

            Console.WriteLine("Max елемент={0}[{1}]", max, MaxIndex/*+1*/);
            Console.WriteLine("Min елемент={0}[{1}]", min, MinIndex/*+1*/);
                Console.ReadKey();
        }

Програма выводит значение и  индекс, чтоб порядковий номер то нуно додать единицу.

Это сообщение отредактировал(а) Neox_GeForce - 25.4.2009, 23:39


--------------------
user posted image
Челябинские программисты настолько суровы, что обходятся без компиляторов.
Челябинские программисты настолько суровы, что считают ассемблер недопустительной роскошью - они вручную магнетизируют участки жесткого диска.
PM MAIL ICQ   Вверх
Forfex
Дата 25.4.2009, 22:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 25.4.2009

Репутация: нет
Всего: нет



Спасибо огромное smile 



Это сообщение отредактировал(а) Forfex - 25.4.2009, 22:54
PM MAIL   Вверх
Soah
Дата 25.4.2009, 22:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 512
Регистрация: 18.2.2009

Репутация: 6
Всего: 54



Цитата(Forfex @  25.4.2009,  22:28 Найти цитируемый пост)
И можно ли эту задачу выполнить без var?

Код

int[] a = new int[10] { 1, 4, 5, 3, 8, 4, 5, 6, 2, 10 };
int MinIndex=0,MaxIndex=0,max=a[1],min=a[1];
// ....

 smile 

P.S. а что сегодня за день, столько вопросов по C# в разделах C++ smile 
PM MAIL   Вверх
Neox_GeForce
Дата 25.4.2009, 23:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 283
Регистрация: 14.11.2007
Где: Украина

Репутация: нет
Всего: нет



Не надо етой строки
и можно без вар. Просто var означает что тип задан неявно. Компилятор сам задаст тип.
MSDN

Это сообщение отредактировал(а) Neox_GeForce - 25.4.2009, 23:40


--------------------
user posted image
Челябинские программисты настолько суровы, что обходятся без компиляторов.
Челябинские программисты настолько суровы, что считают ассемблер недопустительной роскошью - они вручную магнетизируют участки жесткого диска.
PM MAIL ICQ   Вверх
Rififi
Дата 25.4.2009, 23:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1254
Регистрация: 9.3.2008

Репутация: 3
Всего: 36



Forfex, 
O.M.G., пипец.
Видишь ли, какая штука, в последовательности элементов минимального и максимального НЕ МОЖЕТ НЕ БЫТЬ.
Счастье, то есть минимум/максимум есть, его не может не быть. Это как с кроликом, ты его не видишь? А он есть. 
Ты получаешь приз "Самое кривое описание этой недели". rofl, just rofl.
Код
var b = a.Skip(1).Take(a.Length-2).ToList();
Console.WriteLine("First: {0}, Last: {1}", b.FindIndex(x => x == b.Min())+1, b.FindIndex(x => x == b.Max()) + 1);


PM MAIL   Вверх
Forfex
Дата 25.4.2009, 23:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 25.4.2009

Репутация: нет
Всего: нет



А как задать тут же: если таких элементов нет то вывести 0 ( к примеру { 1, 4, 5, 6, 8, 4, 5, 6, 9, 3 }? 
пробывл else добавлять - бред получается smile 
PM MAIL   Вверх
Neox_GeForce
Дата 25.4.2009, 23:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 283
Регистрация: 14.11.2007
Где: Украина

Репутация: нет
Всего: нет



Код

   static void Main(string[] args)
        {
            int[] a = new int[10] { 1, 4, 5, 6, 8, 4, 5, 6, 9, 3 };
            bool k = false;
            int MinIndex=1,MaxIndex=1,max=a[1],min=a[1];
            for (int i = 1; i < a.Length - 1; i++)
            { 
            if(a[i] > a[0] && a[i] < a[9]) { k=true;}
            }
            if(k)
            {
            for (int i = 1; i < a.Length - 1; i++)
                {
                    if (a[i] > a[0] && a[i] < a[9] && a[i] > max) { max = a[i]; MaxIndex = i; }
                    if (a[i] > a[0] && a[i] < a[9] && a[i] < min) { min = a[i]; MinIndex = i; }
                }
             Console.WriteLine("Max елемент={0}[{1}]", max, MaxIndex/*+1*/);
            Console.WriteLine("Min елемент={0}[{1}]", min, MinIndex/*+1*/);
            }
             
            else
           Console.WriteLine("Нету елементов!");
            
                Console.ReadKey();
        }

Вроде Все. И MaxIndex, MinIndex надо иницианилизировать единицами, а то если первый елемент макс или мин то индекс 0 будет. 

Это сообщение отредактировал(а) Neox_GeForce - 26.4.2009, 00:03


--------------------
user posted image
Челябинские программисты настолько суровы, что обходятся без компиляторов.
Челябинские программисты настолько суровы, что считают ассемблер недопустительной роскошью - они вручную магнетизируют участки жесткого диска.
PM MAIL ICQ   Вверх
Forfex
Дата 26.4.2009, 00:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 25.4.2009

Репутация: нет
Всего: нет



 smile Всем спасибо) Тема закрыта)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0488 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.