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

Поменять местами первый отрицательный и последний положительный элементы массива

13.05.2013, 15:14. Показов 6298. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Поменять местами первый отрицательный и последний положительный элементы массива. Учесть возможность того, что отрицательных или положительных элементов в массиве может не быть.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.05.2013, 15:14
Ответы с готовыми решениями:

Поменять местами первый отрицательный и последний положительный элементы массива
Поменять местами первый отрицательный и последний положительный элементы массива. Учесть...

Массив: Поменять местами первый отрицательный и последний положительный элемент массива
Поменять местами первый отрицательный и последний положительный элемент массива в c#

Поменять местами максимальный и первый отрицательный элементы массива
Только, пожалуйста, напишите программу используя только самые простые операторыНе создавайте новые...

Поменять местами максимальный и первый отрицательный элементы массива
Заранее благодарю за программу

8
192 / 192 / 29
Регистрация: 03.12.2009
Сообщений: 853
13.05.2013, 15:18 2
Что не получается?
0
0 / 0 / 0
Регистрация: 21.04.2013
Сообщений: 10
13.05.2013, 15:27  [ТС] 3
Цитата Сообщение от da1z Посмотреть сообщение
Что не получается?
C#
1
2
3
4
5
6
7
8
9
10
11
12
int[] mas = new int[10];
            Random random = new Random();
            for (int i = 0; i < 10; i++)
            {
                mas[i] = random.Next(-10, 10);
                Console.Write(" ");
                Console.Write(mas[i]);
                
   
              } 
         
                Console.ReadKey();
Создал случайный массив. А как поступить дальше с такой задачей незнаю
0
212 / 214 / 44
Регистрация: 20.12.2011
Сообщений: 635
13.05.2013, 15:33 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
24
25
26
27
            const int N = 10;
            int[] mas = new int[N];
            Random random = new Random();
            for (int i = 0; i < N; i++)
            {
                mas[i] = random.Next(-10, 10);
                Console.Write(mas[i] + " ");
            }
            int ineg = 0, ipos = N - 1;
            while (ineg < N && mas[ineg] >= 0) ineg++;
            while (ipos >= 0 && mas[ipos] <= 0) ipos--;
            if (ipos >= 0 && ineg < N)
            {
                int tmp = mas[ineg];
                mas[ineg] = mas[ipos];
                mas[ipos] = tmp;
                Console.WriteLine("\nok");
                for (int i = 0; i < N; i++)
                {
                    Console.Write(mas[i] + " ");
                }
            }
            else
            {
                Console.WriteLine("\nВ массиве нет нужных элементов!");
            }
            Console.ReadKey();
1
192 / 192 / 29
Регистрация: 03.12.2009
Сообщений: 853
13.05.2013, 15:39 5
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
private static void Main(string[] args)
        {
            int[] mas = new int[10];
            Random random = new Random();
            for (int i = 0; i < 10; i++)
            {
                mas[i] = random.Next(-10, 10);
                Console.Write("{0}; ", mas[i]);
            }
            int indexOfNegativeElement = -1;
            for (int i = 0; i < 10; i++)
            {
                if (mas[i] < 0)
                {
                    indexOfNegativeElement = i;
                    break;
                }
            }
            int indexOfPositiveElement = -1;
            for (int i = 9; i > -1; i--)
            {
                if (mas[i] > 0)
                {
                    indexOfPositiveElement = i;
                    break;
                }
            }
            if (indexOfNegativeElement >= 0 && indexOfPositiveElement >= 0)
            {
                var temp = mas[indexOfNegativeElement];
                mas[indexOfNegativeElement] = mas[indexOfPositiveElement];
                mas[indexOfPositiveElement] = temp;
            }
            Console.WriteLine();
            foreach (var element in mas)
            {
                Console.Write("{0}; ",element);
            }
        }
1
212 / 214 / 44
Регистрация: 20.12.2011
Сообщений: 635
13.05.2013, 15:41 6
Цитата Сообщение от da1z Посмотреть сообщение
for (int i = 0; i < 10; i++)
* * * * * * {
* * * * * * * * if (mas[i] > 0)
* * * * * * * * {
* * * * * * * * * * indexOfPositiveElement = i;
* * * * * * * * * * break;
* * * * * * * * }
* * * * * * }
последний положительный нужен был
0
192 / 192 / 29
Регистрация: 03.12.2009
Сообщений: 853
13.05.2013, 15:42 7
Fler, точно. исправил
0
0 / 0 / 0
Регистрация: 21.04.2013
Сообщений: 10
13.05.2013, 15:47  [ТС] 8
Спасибо
0
228 / 95 / 27
Регистрация: 16.04.2013
Сообщений: 315
Записей в блоге: 2
13.05.2013, 16:04 9
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[] a = {2,5,-25, -44, -85, 0}; //рандом уже предлагали
            Console.WriteLine(Resolve(a) ? string.Join(" ", a) : "Not found!");
            Console.ReadKey();
        }
 
        private static bool Resolve(int[] arr)
        {
            int i = 0, j = arr.Length - 1;
            while (i < j && (arr[i] >= 0 || arr[j] <= 0))
            {
                if (arr[i] >= 0) ++i;
                if (arr[j] <= 0) --j;
            }
            if(i < j) Swap(ref arr[i], ref arr[j]);
            return i < j;
        }
 
        private static void Swap(ref int a, ref int b)
        {
            int t = a; a = b; b = t;
        }
0
13.05.2013, 16:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.05.2013, 16:04
Помогаю со студенческими работами здесь

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

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

Поменять местами первый и последний элементы стека
Кто может помочь????Поменять местами первый и последний элементы стека.(всё в С#)Первое и последнее...

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


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

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