Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 26.11.2011
Сообщений: 62
1

В одномерном массиве найти макс элемент и заменить его суммой элементов с положительными индексами

23.01.2012, 15:40. Показов 1477. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужно в одномерном массиве найти макс элемент и заменить его суммой элементов с положительными индексами. Вот это не никак не хочет норм работать, сегодня экзамен из-за нее завалил((
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 int[] array = { 5, -9, 8, 6, -14 };
            int max = 0;
            Console.WriteLine("Исходный массив:");
 
            for (int i = 0; i < 5; i++) Console.Write(array[i] + " ");
            Console.WriteLine();
            for (int i = 1; i < array.Length; ++i)
                if (array[i] > array[max])
                    max = i;
            for (int i = 0; i < 5; i++) Console.Write(array[i] + " ");
            Console.WriteLine();
            int s = 0;
            for (int i = 0; i < 5; i+2)
                s = s + array[i];
            array[max] = s;
 
            Console.ReadKey();
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.01.2012, 15:40
Ответы с готовыми решениями:

Найти первый нулевой элемент в одномерном массиве и заменить его суммой элементов, лежащих за ним
Дан одномерный массив. Найти первый нулевой элемент в этом массиве и заменить его суммой...

В матрице 4х4 в каждой строке заменить макс элемент суммой элементов с четными индексами
В матрице 4х4 в каждой строке заменить макс элемент суммой элементов с четными индексами

Найти в одномерном массиве максимальный элемент среди элементов с четными индексами
Составить блок-схему вычисления и программу в VBA: поиск максимального элемента среди элементов...

В заданном массиве каждый элемент заменить суммой его и всех предшествующих элементов
1. В заданном массиве каждый элемент заменить суммой его и всех предшествующих элементов.

5
250 / 250 / 135
Регистрация: 09.04.2011
Сообщений: 524
23.01.2012, 15:49 2
Цитата Сообщение от Generic32 Посмотреть сообщение
заменить его суммой элементов с положительными индексами.
Может не с положительными, а с четными индексами?
0
340 / 340 / 90
Регистрация: 04.03.2010
Сообщений: 648
23.01.2012, 15:54 3
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class test
    {
        static void Main(string[] args)
        {
            int[] array = { 5, -9, 8, 6, -14 };
            int sum = array.Where((x) => x > 0).Sum();
            int max = array.Max();
 
            array = array.Select((x) => x == max ? sum : x).ToArray();
 
            Console.Write(string.Join(" ", array));
            Console.ReadKey();
        }
    }
!с положительными элементами
1
250 / 250 / 135
Регистрация: 09.04.2011
Сообщений: 524
23.01.2012, 16:00 4
Всего пара ошибок. Не там идет вывод финального массива, и ошибка в модификации цикла, при подсчете элементов с четными индексами.
Исправленный вариант.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
static void Main()
        {
            int[] array = { 5, -9, 8, 6, -14 };
            int max = 0;
            int change = 0;
            Console.WriteLine("Исходный массив:");
            foreach (var i in array)
            {
                Console.Write("{0, 4}", i);
            }
            for (int i = 0; i < array.Length; ++i)
            {
                if (array[i] > array[max]) max = i;
                if (i % 2 == 0) change += array[i];
            }
            array[max] = change;
            Console.WriteLine("\nИзмененный массив:");
            foreach (var i in array)
            {
                Console.Write("{0, 4}", i);
            }
            Console.ReadKey(true);
        }
1
0 / 0 / 0
Регистрация: 26.11.2011
Сообщений: 62
23.01.2012, 16:03  [ТС] 5
Высокий, да да с четными
0
340 / 340 / 90
Регистрация: 04.03.2010
Сообщений: 648
23.01.2012, 16:10 6
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 class test
    {
        static void Main(string[] args)
        {
            int[] array = { 5, -9, 8, 6, -14 };
            int sum = array.Where((x, idx) => idx % 2 == 0).Sum();
            int max = array.Max();
 
            array = array.Select((x) => x == max ? sum : x).ToArray();
 
            Console.Write(string.Join(" ", array));
            Console.ReadKey();
        }
    }
1
23.01.2012, 16:10
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.01.2012, 16:10
Помогаю со студенческими работами здесь

В одномерном массиве найти и заменить минимальный элемент на его номер
В одномерном массиве найти минимальный элемент и заменить на его номер

В массиве первый элемент заменить суммой нечетных положительных элементов, а последний элемент - суммой четных
В целочисленном массиве первый элемент заменить суммой нечетных положительных элементов, а...

Отыскать последний положительный элемент в одномерном массиве и заменить его на среднее арифметическое элементов массива
Отыскать последний положительный элемент в одномерном массиве и заменить его на среднее...

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


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru