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

Массив - проверка сортировки - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 5.00
amfisat
 Аватар для amfisat
67 / 67 / 1
Регистрация: 16.06.2009
Сообщений: 235
24.03.2010, 13:10     Массив - проверка сортировки #1
Всем привет!

Есть такая задача: "Дано К наборов ненулевых целых чисел. Каждый набор содержит не менее 2 элементов, признаком его завершения является число 0. Найти кол-во наборов, элементы которых возрастают или убывают."

И вот вопрос: Мне не нужно сортировать числа в строке (наборе) - мне нужно только проверить сортировку. Как это сделать? Была такая попытка, но вывод результат не порадовал:
C++
1
2
3
4
5
6
7
8
9
for(i = 0; i < K; i++)   // проверка на возрастание
    {  
    for (j = 0; j < K; j++) 
    {
        int povt=0; // в povt хранится кол-во отсортированных чисел
        for (int k = nstb-1; k>j; k--) // nstb - кол-во столбцов
            if (matrix[i][k] < matrix[i][k-1])  
                povt++;
  }
И такая попытка тоже fail:
C++
1
2
3
4
5
6
7
8
for (j=0; j<nstb; j++)
    if (matrix[i][j]==0)
     break;
    else
    {
     if (matrix[i][j]<matrix[i][j+1])
      kolnab++;
    }
Может, кто-нибудь даст ценные указания?

Заранее спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.03.2010, 13:10     Массив - проверка сортировки
Посмотрите здесь:

Создать одномерный массив, протестировать функции сортировки C++
C++ Динамический массив отсортировать по возростанию методом быстрой сортировки
C++ Процедура сортировки, засекающая время и оставляющая массив неизменным
Отсортировать массив по убыванию через алгоритм пирамидальной сортировки C++
C++ Не выводит массив для сортировки если используется больше 5 элементов
Запоминать двумерный массив до сортировки C++
Проверка сортировки введенного с клавиатуры массива C++
C++ Вставить новый элемент в отсортированный массив с сохранением сортировки

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
24.03.2010, 15:45     Массив - проверка сортировки #2
На простом массиве показываю:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
#include <conio.h>
#define size 10
int main(){
int mas[10] = {0,1,2,3,4,5,6,7,8,9};
int count = 1; 
for(int i=0;i<size-1;i++)
                 //Считаем сколько элементов упорядочено по возрастанию, по парная проверка.
                 if(mas[i]<mas[i+1])count++;
if(count==size)printf("massive upor: %d ", count);
printf("\n");
return 0;
}
Надеюсь я вам помог.

Добавлено через 4 минуты
Случай, если просматривать матрицу:
C++
1
2
3
4
#define H 3
#define W 4
 
if(count == W)  {  /* тогда строка упорядочена.     */     }
Не забываем делать count = 1; после просмотра очередной строки.
Yandex
Объявления
24.03.2010, 15:45     Массив - проверка сортировки
Ответ Создать тему
Опции темы

Текущее время: 01:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru