С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 28.04.2016
Сообщений: 43

Вывести на экран число, стоящее перед минимальным и число, стоящее после максимального

29.12.2016, 14:01. Показов 1425. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как вывести на экран число, стоящее перед минимальным и число, стоящее после максимального.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace massiv
{
    class Program
    {
        static void Main(string[] args)
        {
            //////////////////
            int i, n = 0;
            Console.WriteLine("Введите размер массива");
                n = Convert.ToInt32(Console.ReadLine());
            int[] a = new int[n];
            for (i = 0; i < n; i++)
            {
                Console.Write("Введите элементы массива: ");
                a[i] = Convert.ToInt32(Console.ReadLine());
               
            }
            foreach (double item in a)
                Console.Write(item + " ");
            Console.WriteLine();
            /////////////////-х-х-х-х-х-х-х-х-х-х-х-х-х-х-х-х-х-х-х-х-х-х
            double min = a[0]; double p = 0; int indexMin = 0;                                     //
            for (i = 1; i < n; i++)                                     //
            {                                                           //
                if (min > a[i])                                         //
                    min = a[i];
                p = a.Min();
                indexMin = (Array.IndexOf(a, p))+0;
            }                                                           //
            Console.WriteLine("Минимальный = {0} ---- {1}", min, indexMin);                //
            ////////////////-х-х-х-х-х-х-х-х-х-х-х-х-х-х-х-х-х-х-х-х-х-х-х
            double max = a[0]; double o = 0; int indexMax = 0;                           //
            for (i = 1; i < n; i++)                                     //
            {                                                           // 
                if (max < a[i])                                         //
                    max = a[i];
                o = a.Max();
                indexMax = (Array.IndexOf(a, o)) + 0;
            }                                                           //
            Console.WriteLine("Максимальный = {0} ---- {1}", max, indexMax);               //
                                                      //
            ////////////////-х-х-х-х-х-х-х-х-х-х-х-х-х-х-х-х-х-х-х-х-х-х-х
                    
            foreach (double item in a)
                Console.Write(item + " ");
            Console.ReadKey();
        }
    }
}
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.12.2016, 14:01
Ответы с готовыми решениями:

Регулярное выражение, вытащить число, стоящее до знака "_"
Есть строки: Требуется: 1. вытащить число, стоящее до знака _ 2. после знака _ вытащить текст, состоящий из количества...

Нужно удалить слово, стоящее после курсора
курсор ставится в рандомное место и после курсора должны удалятся все символы до пробела насколько я понял нужно циклом задать перебор...

Вывести каждое слово, стоящее на n-ой позиции
Здравствуйте. Помогите, пожалуйста. Пользователем вводится строка слов. Вывести каждое слово, стоящее на n-ой позиции (n вводится...

14
309 / 309 / 215
Регистрация: 24.09.2013
Сообщений: 771
29.12.2016, 14:05
qeerty,
C#
1
2
3
4
if (indexMin != 0)
        Console.WriteLine(a[indexMin - 1]);
if (indexMax < a.Length - 1) 
        Console.WriteLine(a[indexMax + 1]);
0
 Аватар для Sanya_sa
912 / 816 / 333
Регистрация: 03.02.2015
Сообщений: 5,276
Записей в блоге: 9
29.12.2016, 14:11
C#
1
2
3
4
string GetBeforeMaxIndex(int[] arr)
{
   return Array.IndexOf(arr, arr.Max()) <= 0 ? "INDEX MAX = 0" : (Array.IndexOf(arr, arr.Max()) - 1).ToString();
}
Не проверял
0
0 / 0 / 0
Регистрация: 28.04.2016
Сообщений: 43
29.12.2016, 14:11  [ТС]
А как делать так, чтобы например максимальный элемент стоит последним, то вывести первый элемент. И наоборот.
0
309 / 309 / 215
Регистрация: 24.09.2013
Сообщений: 771
29.12.2016, 14:17
Лучший ответ Сообщение было отмечено qeerty как решение

Решение

qeerty,
C#
1
2
Console.WriteLine(indexMin != 0 ? a[indexMin - 1] : a[a.Length - 1]);
Console.WriteLine(indexMax < a.Length - 1 ? a[indexMax + 1] : a[0]);
0
 Аватар для 1231231ghacking
102 / 106 / 62
Регистрация: 19.11.2015
Сообщений: 380
29.12.2016, 14:19
C#
1
2
3
4
if(arr.Max() == arr.Last())
   Console.WriteLine(arr.First());
if(arr.Max() == arr.First())
   Console.WriteLine(arr.Last());
0
 Аватар для ata
269 / 253 / 186
Регистрация: 28.10.2015
Сообщений: 723
29.12.2016, 14:40
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
using System;
using System.Linq;
using System.Collections.Generic;
 
class Program
{
    static void Main()
    {
        int[] arr = Enumerable.Repeat(new Random(), 20).Select(r => r.Next(100)).ToArray();
        Console.WriteLine(String.Join(", ", arr));
        int min = Array.IndexOf(arr, arr.Min());
        int max = Array.IndexOf(arr, arr.Max());
        min = (min - 1 + arr.Length) % arr.Length;
        max = (max + 1) % arr.Length;
        Console.WriteLine("Pre-min: {0}, post-max: {1}", arr[min], arr[max]);
    }
}
0
160 / 148 / 92
Регистрация: 30.03.2011
Сообщений: 569
29.12.2016, 15:14
ata, все красиво, но с max намудрили. Исправьте.

Добавлено через 2 минуты
Поясню: если минимальный с индексом 0, а максимальный с максимальным индексом??
0
 Аватар для ata
269 / 253 / 186
Регистрация: 28.10.2015
Сообщений: 723
29.12.2016, 17:06
Цитата Сообщение от MVK Посмотреть сообщение
ata, все красиво, но с max намудрили. Исправьте.
Добавлено через 2 минуты
Поясню: если минимальный с индексом 0, а максимальный с максимальным индексом??
Я вообще-то проверял перед тем как запостить. Ладно, еще раз проверил. Ну, и что не так? Все как ТС сказал:

Цитата Сообщение от qeerty Посмотреть сообщение
А как делать так, чтобы например максимальный элемент стоит последним, то вывести первый элемент. И наоборот.
0
160 / 148 / 92
Регистрация: 30.03.2011
Сообщений: 569
29.12.2016, 18:28
Рассмотрите случай: минимальный имеет индекс 0, а максимальный - (arr.Length-1)
0
 Аватар для ata
269 / 253 / 186
Регистрация: 28.10.2015
Сообщений: 723
29.12.2016, 18:34
Ну давайте рассмотрим. Пусть arr.Length = 10. Соответственно, min = 0, max = 9.

min = (min - 1 + arr.Length) % arr.Length = (0 - 1 + 10) % 10 = 9 % 10 = 9.
max = (max + 1) % arr.Length = (9 + 1) % 10 = 10 % 10 = 0.

Что не так?
0
160 / 148 / 92
Регистрация: 30.03.2011
Сообщений: 569
29.12.2016, 19:50
Обратите внимание на задание.
0
 Аватар для ata
269 / 253 / 186
Регистрация: 28.10.2015
Сообщений: 723
30.12.2016, 06:35
Обратил. Вы можете толком сказать, что Вам не нравится? Мне буквально дурно делается от Вашего мычания.
1
160 / 148 / 92
Регистрация: 30.03.2011
Сообщений: 569
31.12.2016, 09:54
ata, надеюсь, "краснота" в глазах прошла и "чайник" остыл?
Если обрабатывать, например, такой массив:{ 2,1,2,3,4,5,3 }, то min=0 (указывает на первую 2), а max = 6 (указывает на вторую тройку) - все замечательно. Но при обработке массива { 1,2,3,4,5 } : min = 4; max = 0; что не верно, в этом случае нужно выдать предупреждающее сообщение.
0
 Аватар для ata
269 / 253 / 186
Регистрация: 28.10.2015
Сообщений: 723
31.12.2016, 10:02
Почему не верно? Так и должно быть.

Цитата Сообщение от qeerty Посмотреть сообщение
А как делать так, чтобы например максимальный элемент стоит последним, то вывести первый элемент. И наоборот.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
31.12.2016, 10:02
Помогаю со студенческими работами здесь

Пользователем вводится строка слов. Вывести каждое слово, стоящее на n-ой позиции
Вывести каждое слово, стоящее на n-ой позиции (n вводится пользователем)

Вставить элемент с нулевым значением перед минимальным и после максимального элемента массива
Дан массив размера N . Вставить элемент с нулевым значением перед минимальным и после максимального элемента массива.

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

Определить число, стоящее перед *
Есть строка 208*Иванов*Р.Г.*ПР1*5. Мне нужно определить число перед пробелом и if n=208 then..... else if n= и т.д. У меня...

Определить максимальное число, стоящее в массиве после первого отрицательного
вот условие задачи: Дан массив А(N), где N – заданное натуральное число. Известно, что в массиве есть хотя бы 1 отрицательное число....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru