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

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

Войти
Регистрация
Восстановить пароль
 
bezoomec
2 / 2 / 0
Регистрация: 15.09.2012
Сообщений: 47
#1

Простейшая сортировка. В чем причина? - C++

15.09.2012, 15:16. Просмотров 357. Ответов 7
Метки нет (Все метки)

нужно отсортировать массив размерности q (вводится с клавиатуры) от большего к меньшему. проблема в том, что у меня почему-то происходит только 1 итерация внешнего цикла.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
 
using namespace std;
 
int main() {
    int q, w;
    int e, a;
    int r=0;
    int t=0;
    cin >> q; //получение размерности массива
    int i[q];
    for (w=1; w<=q; w++) cin >> i[w]; // заполнение
    for (w=1; w<=q-1; w++)
    for (e=2; e<=q; e++)
    if (i[w]<i[e]) {
        a=i[w];
        i[w]=i[e];
        i[e]=a;
    }
//..
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.09.2012, 15:16     Простейшая сортировка. В чем причина?
Посмотрите здесь:

В чем причина? - C++
#include &lt;windows.h&gt; LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM); int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE...

В чем причина - C++
В общем сам код: #include&lt;iostream&gt; using namespace std; int b=20; int *a = &amp;b; int main() {

В чем причина - C++
Вообщем по идеи в следующим коде по матрице ну хотя-бы вообще должна бегать буква J. Но почему-то она стоит на месте. Не могу понять в...

В чем причина ошибки? - C++
помогите разобраться почему выходит ошибка? #include &lt;iostream.h&gt; #include &lt;string.h&gt; #include &lt;conio.h&gt; #include &lt;stdio.h&gt; ...

Незнаю в чем причина - C++
Программа простая вы вводите элементы массива она проверяет если этот элемент больше 0 вводит его в другой массив тоже(в массиве y толжны...

подскажите в чем причина.... - C++
както все нетак... #include &lt;iostream&gt; using namespace std; int main(void) { for (int i = 0; i &lt; 3; i++) { cout &lt;&lt;...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BumerangSP
4286 / 1408 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
15.09.2012, 16:10     Простейшая сортировка. В чем причина? #2
bezoomec,
C++
1
2
3
4
5
6
7
8
9
 for (w=0; w<q; w++) 
     cin >> i[w]; // заполнение
   cout<<endl; 
    for (w=0; w<q; w++)
     for (e=0; e<q; e++)
      if (i[w]<i[e]) 
       {
        ...
       }
valeriikozlov
15.09.2012, 17:22
  #3

Не по теме:

bezoomec, Паскаль до этого изучали?

bezoomec
2 / 2 / 0
Регистрация: 15.09.2012
Сообщений: 47
15.09.2012, 17:34  [ТС]     Простейшая сортировка. В чем причина? #4
Цитата Сообщение от BumerangSP Посмотреть сообщение
bezoomec,
C++
1
2
3
4
5
6
7
8
9
 for (w=0; w<q; w++) 
     cin >> i[w]; // заполнение
   cout<<endl; 
    for (w=0; w<q; w++)
     for (e=0; e<q; e++)
      if (i[w]<i[e]) 
       {
        ...
       }
но так же и внутренний и внешний цикл будут сравнивать 1 элемент массива сам с собой

Цитата Сообщение от valeriikozlov Посмотреть сообщение

Не по теме:

bezoomec, Паскаль до этого изучали?

ну да
valeriikozlov
Эксперт C++
4669 / 2495 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
15.09.2012, 17:39     Простейшая сортировка. В чем причина? #5
Цитата Сообщение от bezoomec Посмотреть сообщение
ну да
В с/с++ индексация элементов массива начинается с 0 до N-1 (в отличии от Паскаля):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
 
using namespace std;
 
int main() {
    int q, w;
    int e, a;
    int r=0;
    int t=0;
    int i[1000];
    cin >> q; //получение размерности массива    
    for (w=0; w<q; w++) cin >> i[w]; // заполнение
    for (w=0; w<q-1; w++)
    for (e=0; e<q-1; e++)
    if (i[e]<i[e+1]) {
        a=i[e];
        i[e]=i[e+1];
        i[e+1]=a;
    }
    for (w=0; w<q; w++) cout << i[w]<<" "; // вывод
    return 0;
}
bezoomec
2 / 2 / 0
Регистрация: 15.09.2012
Сообщений: 47
15.09.2012, 17:42  [ТС]     Простейшая сортировка. В чем причина? #6
Цитата Сообщение от valeriikozlov Посмотреть сообщение
В с/с++ индексация элементов массива начинается с 0 до N-1 (в отличии от Паскаля):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
 
using namespace std;
 
int main() {
    int q, w;
    int e, a;
    int r=0;
    int t=0;
    int i[1000];
    cin >> q; //получение размерности массива    
    for (w=0; w<q; w++) cin >> i[w]; // заполнение
    for (w=0; w<q-1; w++)
    for (e=0; e<q-1; e++)
    if (i[e]<i[e+1]) {
        a=i[e];
        i[e]=i[e+1];
        i[e+1]=a;
    }
    for (w=0; w<q; w++) cout << i[w]<<" "; // вывод
    return 0;
}
да блин точно там же эта штука '\0'. спасибо, щас буду пробовать
BumerangSP
4286 / 1408 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
15.09.2012, 18:13     Простейшая сортировка. В чем причина? #7
Цитата Сообщение от bezoomec Посмотреть сообщение
но так же и внутренний и внешний цикл будут сравнивать 1 элемент массива сам с собой
Надеюсь, вы сначала проверили код, а потом задали этот вопрос
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.09.2012, 13:34     Простейшая сортировка. В чем причина?
Еще ссылки по теме:

В чем причина ошибки? - C++
Код int main() { char arr; scanf(&quot;%s %s&quot;, &amp;arr, &amp;arr); printf(&quot;%s\n\n&quot;, arr);

Различия компиляторов. В чем причина? - C++
есть небольшой код, который успешно компилируется в VS 2010 #include &lt;iostream&gt; template &lt;class T&gt; class complex { public: ...

В чем причина ошибки no match for? - C++
Видает ошибку no match for 'operator=' in 'C = RyadokIdentifier::operator+(const RyadokIdentifier&amp;)((*(const RyadokIdentifier*)(&amp; B)))' ...

В чем причина ошибки istream - C++
П.5.18.Правил Запрещено размещать задания и решения в виде картинок и других файлов с их текстом.


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

Или воспользуйтесь поиском по форуму:
bezoomec
2 / 2 / 0
Регистрация: 15.09.2012
Сообщений: 47
16.09.2012, 13:34  [ТС]     Простейшая сортировка. В чем причина? #8
Да у меня все получилось. Спасибо вам! Тема закрыта.
Yandex
Объявления
16.09.2012, 13:34     Простейшая сортировка. В чем причина?
Ответ Создать тему
Опции темы

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