Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 4.75
DenBaz
Сообщений: n/a
#1

Упорядочить по возрастанию только положительные элементы массива, оставив остальные элементы на своих местах. Напечатать индексы тех элементов массива - C++

23.12.2011, 18:12. Просмотров 1027. Ответов 0
Метки нет (Все метки)

которые остались на своих местах.

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
//IS-11,Bazarnov Denis,Lab.05,Var.2,04-11-11
#include <stdio.h>
#include <math.h>
#include <conio.h>
#define N 30
int main()
 {
   int s[N];
   int i=0,j,k,hold,n,g;
   scanf("%i",&s[i]);
   while(i<N && s[i])
    {
      i++;
      printf("s[%i] = ",i);
      scanf("%i",&s[i]);
    }
  puts("Massiv do:");
  puts("---------");
  for(k=0;k<i;k++)
   {
     printf("%4i",s[k]);
   }
  printf("\n");
  for(n=1;n<i;n++)
   for(j=0;j<i-1;j++)
    if(s[j]>s[j+1] && s[j]>0 && s[j+1]>0)
     {
       hold=s[j];
       s[j]=s[j+1];
       s[j+1]=hold;
     }
  printf("Massiv posle:\n");
  puts("---------");
  for(j=0;j<i;j++)
   {
     printf("%4i",s[j]);
   }
  puts("\nOstalis' na svoix mestax elementi:");
  for(j=0;j<i;j++)
   {
     if(s[j]<0)
      {
        printf("%i",j);
      }
   }
  getch();
  return 0;
 }
Вот код программы,только вот массив сортирует так : исходный массив 13 34 -1 1 16 9
Отсортированный массив 13 34 -1 1 9 16.Почему так? как сделать чтобы он отсортировал полностью массив?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.12.2011, 18:12     Упорядочить по возрастанию только положительные элементы массива, оставив остальные элементы на своих местах. Напечатать индексы тех элементов массива
Посмотрите здесь:

Разработать функцию, которая сортирует только положительные элементы массива на своих местах - C++
вообщим нужна помощ фунция есть, но как сделать чтобы элементы остались на своих местах? пробывал через if(mas&gt;0) расположение...

Отсортировать по возрастанию только положительные элементы массива - C++
Отсортировать по возрастанию только положительные элементы массива. Как объяснил преподаватель так чтобы положительные отсортировались а...

Упорядочить по возрастанию только: положительные элементы списка - C++
Упорядочить по возрастанию только: положительные элементы списка

Упорядочить элементы массива по возрастанию модулей элементов - C++
В одномерном массиве,состоящем из N вещественных элементов,вычислить: 1)кол-во элементов массива,равных 0; 2)сумму элементов...

Упорядочить элементы массива по возрастанию модулей элементов - C++
В одномерном массиве, состоящем из n вещественных элементов. Упорядочить элементы массива по возрастанию модулей элементов. Даже не...

Упорядочить элементы одномерного массива по возрастанию модулей элементов - C++
Упорядочить элементы одномерного массива по возрастанию модулей элементов. если можно еще

В однородном массиве упорядочить элементы массива по возрастанию модулей элементов - C++
В однородном массиве, состоящем из n вещественных элементов, вычислить: - Упорядочить элементы массива по возрастанию модулей элементов; ...

Переписать положительные элементы массива во второй, а остальные - в третий массив - C++
Дан массив. Переписать его положительные элементы во второй массив, а остальные- в третий. Во втором и третьем массивах значения элементов...

Удалить из массива повторяющиеся элементы, оставив только их первые вхождения - C++
Как мне удалять повторяющийся элемент? #include &lt;iostream&gt; using namespace std; int main () {float a; int n,k=0; cout&lt;&lt;&quot;n=&quot;;...

Удалить из массива повторяющиеся элементы, оставив только их первые вхождения - C++
Помогите, зачёт пишу

Положительные элементы переставить в обратном порядке, а отрицательные оставить на своих местах - C++
есть рабочая программка,но не могу переделать нужно,чтобы положительные элементы переставлялись в обратном порядке,а отрицательные...

Сделать все положительные элементы массива отрицательными, вывести их индексы - C++
Помогите пожалуйста


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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