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

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

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

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

24.03.2010, 13:10. Просмотров 1318. Ответов 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++ Процедура сортировки, засекающая время и оставляющая массив неизменным
C++ создать и отсортировать двумерный массив по строкам используя алгоритм сортировки вставкой
Отсортировать массив по убыванию через алгоритм пирамидальной сортировки C++
C++ Не выводит массив для сортировки если используется больше 5 элементов
Запоминать двумерный массив до сортировки C++
Проверка сортировки введенного с клавиатуры массива C++
C++ Вставить новый элемент в отсортированный массив с сохранением сортировки
C++ Написать программу сортировки двумерного массив и разбить её на функции по пунктам меню

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Genius Ignat
1235 / 773 / 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     Массив - проверка сортировки
Ответ Создать тему
Опции темы

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