Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Angeses
0 / 0 / 0
Регистрация: 19.11.2013
Сообщений: 29
1

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

27.02.2014, 16:45. Просмотров 475. Ответов 5
Метки нет (Все метки)

Добрый день, столкнулась с такой проблемой: Требуется объект с типом данных String. Подскажите, в чем ошибка?

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
private String task1(ref int[] b)
        {
            int m = 0; int p, i;
            for (i = b.Length - 1; i >= 0; i--)
            {
                if (b[i] > 0)
                {
                    m++;
                    p = b[i];
                    for (int j = i; j < b.Length - m; j++)
                        b[j] = b[j + 1];
 
                }
                else if (b[i] <= 0)
                {
                    MessageBox.Show("Ошибка, в массиве нет положительных элементов");
                    txtCount.Focus();
                    return;
                }
                b[i] = p;
 
            }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.02.2014, 16:45
Ответы с готовыми решениями:

Переставить в начало массива все положительные элементы
Сформировать одномерный массив из 20 случайных чисел (положительных и...

Переместить положительные элементы в начало массива, отрицательные в конец
1 Одномерный целочисленный массив. Превратить данный массив таким образом,...

Переставить элементы, чтобы все положительные элементы стояли в начале массива, а все отрицательные и нули - в конце
«C»: Заполнить массив случайными числами в интервале и переставить элементы...

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

Переставить в одномерном массиве первые k элементов в конец массива в обратном порядке
Переставить в одномерном массиве первые k элементов в конец массива в обратном...

5
Ev_Hyper
Заблокирован
27.02.2014, 17:22 2
Цитата Сообщение от Angeses Посмотреть сообщение
C#
1
return;
Angeses, что вы хотите вернуть в этой строке?
0
Angeses
0 / 0 / 0
Регистрация: 19.11.2013
Сообщений: 29
27.02.2014, 18:11  [ТС] 3
Сейчас такая проблема: не все ветви кода возвращают значения

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 private String task1(ref int[] b)
        {
           int m = 0; int p, i;
           for (i = b.Length - 1; i >= 0; i--)
           {
               if (b[i] > 0)
               {
                   m++;
                   p = b[i];
                   for (int j = i; j < b.Length - m; j++)
                       b[j] = b[j + 1];
                   p = b[i];
               }
               else if (b[i] <= 0)
               {
                   MessageBox.Show("Ошибка, в массиве нет положительных элементов");
                   txtCount.Focus();
                   break;
               }
           }
        }
0
Kruds
694 / 694 / 226
Регистрация: 04.03.2013
Сообщений: 1,384
Завершенные тесты: 1
27.02.2014, 18:38 4
Если порядок элементов кроме как по знаку не важен.
C#
1
2
3
4
5
6
7
8
9
10
11
static void Sort(int[] array)
{
    for (int i = 0; i < array.Length; i++)
        for (int j = i; j < array.Length; j++)
            if (array[j] < 0)
            {
                int tmp = array[i];
                array[i] = array[j];
                array[j] = tmp;
            }
}
0
Ev_Hyper
Заблокирован
27.02.2014, 19:09 5
Цитата Сообщение от Angeses Посмотреть сообщение
Сейчас такая проблема: не все ветви кода возвращают значения
правильно, т.к вы объявляете тип возвращаемого значения String, а возвращаете?

покажите вызов функции.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
private void task1(ref int[] b)
{
int m = 0; int p, i;
for (i = b.Length - 1; i >= 0; i--)
{
if (b[i] > 0)
{
m++;
p = b[i];
for (int j = i; j < b.Length - m; j++)
b[j] = b[j + 1];
p = b[i];
}
else if (b[i] <= 0)
{
MessageBox.Show("Ошибка, в массиве нет положительных элементов");
txtCount.Focus();
break;
}
}
}
0
Петррр
6160 / 3460 / 897
Регистрация: 28.10.2010
Сообщений: 5,926
27.02.2014, 19:35 6
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
using System;
 
namespace Ghost
{
    class Program
    {
        static int Compare(string s1, string s2)
        {
            return Convert.ToInt32(s1).CompareTo(
                Convert.ToInt32(s2)
                );
        }
 
        static void Main(string[] args)
        {
            string[] array = new string[] {
                "123",
                "4",
                "42",
                "-34",
                "-56"
            };
            Array.Sort(array, Compare);
            Array.ForEach(array, Console.WriteLine);
            Console.ReadLine();
        }
    }
}
0
27.02.2014, 19:35
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.02.2014, 19:35

Переставить в обратном порядке элементы одномерного массива, расположенные до первого минимального элемента массива
1.Переставить в обратном порядке элементы одномерного массива, расположенные до...

Добавить в конец массива A все четные по значению элементы массива B
Добавить в конец массива A все четные по значению элементы массива B. В...

Переставить элементы массива
В одномерном целочисленном массиве переставить элементы в обратном порядке, не...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru