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

Проверка упорядоченности строки - C++

Войти
Регистрация
Восстановить пароль
 
RAEman
 Аватар для RAEman
0 / 0 / 0
Регистрация: 01.03.2011
Сообщений: 32
01.03.2011, 09:30     Проверка упорядоченности строки #1
Мне надо проверить упорядоченность строки в двумерном массиве если упорядочен то к=к+1 если нет ничего не делать и потом вывести к. Немогу ничего придумать.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lemegeton
 Аватар для lemegeton
2913 / 1342 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
01.03.2011, 23:00     Проверка упорядоченности строки #2
Непонятно, что нужно, но вот функция проверки упорядоченности строки.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
 
int IsSorted(char *string) {
  char *symbol = string;
  if (*symbol == '\0') return 0;
  while (*(++symbol) != '\0')
    if (*symbol < *(symbol - 1))
      return 0;
  return 1;
}
 
int main(int argc, char *argv[]) {
  char string[] = "aaaabbbbbbbc";
  printf("%d\n", IsSorted(string));
  return 0;
};
RAEman
 Аватар для RAEman
0 / 0 / 0
Регистрация: 01.03.2011
Сообщений: 32
02.03.2011, 11:54  [ТС]     Проверка упорядоченности строки #3
Спасибо огромное за ответ,мне очень пригодилась эта проверка в других. Но мне нужно проверить по возрастанию идут числа в строке или нет если да то к+1 если нет то ничего не делать(т.е. у меня не char, а int)
fasked
Эксперт C++
 Аватар для fasked
4925 / 2505 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
02.03.2011, 12:23     Проверка упорядоченности строки #4
Цитата Сообщение от RAEman Посмотреть сообщение
Но мне нужно проверить по возрастанию идут числа в строке или нет если да то к+1 если нет то ничего не делать(т.е. у меня не char, а int)
тогда при чем здесь строка?
RAEman
 Аватар для RAEman
0 / 0 / 0
Регистрация: 01.03.2011
Сообщений: 32
02.03.2011, 16:16  [ТС]     Проверка упорядоченности строки #5
Ну в двумерном массиве идет как элементы строки и столбца мне нужно чтобы программа пробежалась по сначала по первой строме массива проверила упорядоченность если упорядочен то к+1, если нет к остается прежним. Потом по другой строме массива, опять проверила и тд
fasked
Эксперт C++
 Аватар для fasked
4925 / 2505 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
02.03.2011, 18:46     Проверка упорядоченности строки #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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include <stdlib.h>
#include <stdio.h>
 
#define ROWS 5
#define COLS 5
 
int is_sorted (int * base, size_t num, int (* comparator)(int, int)) {
    for ( ; num != 1; --num, ++base)
        if (!comparator (*base, *(base + 1)))
            return 0;
 
    return 1;
}
 
int comparator (int a, int b) {
    return a <= b;
}
 
int sort (const void *a, const void *b) {
    return *((int *) a) > *((int *)b);
}
 
int main()
{
    size_t i = 0, j = 0, k = 0;
    int table [ROWS][COLS];
 
    for (i = 0; i < ROWS; ++i) {
        for (j = 0; j < COLS; ++j)
            table[i][j] = rand() % 9;
    }
 
    // отсортировать для теста
    qsort (table[1], COLS, sizeof (int), sort);
    qsort (table[4], COLS, sizeof (int), sort);
 
    for (i = 0; i < ROWS; ++i) {
        if (is_sorted (table[i], COLS, comparator))
            ++k;
    }
 
    for (i = 0; i < ROWS; ++i) {
        for (j = 0; j < COLS; ++j)
            printf ("%0.2d ", table[i][j]);
        printf ("\n");
    }
 
    printf ("\nsorted rows: %d\n", k);
 
    return 0;
}
RAEman
 Аватар для RAEman
0 / 0 / 0
Регистрация: 01.03.2011
Сообщений: 32
07.03.2011, 08:26  [ТС]     Проверка упорядоченности строки #7
А во Само задание:
В заданной матрице A(nxn)определить кол-во строк, которые упорядочены по возрастанию. Использовать подпрограмму проверки упорядоченности строки.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.03.2011, 09:18     Проверка упорядоченности строки
Еще ссылки по теме:

Проверка строки, делится ли на 50 C++
Проверка строки на число C++
C++ Проверка упорядоченности строк
Получить массив, присвоив его k-му элементу значение 1 или 0 в зависимости от упорядоченности k-й строки C++
Проверка на ввод строки C++

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

Или воспользуйтесь поиском по форуму:
lemegeton
 Аватар для lemegeton
2913 / 1342 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
07.03.2011, 09:18     Проверка упорядоченности строки #8
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
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
 
int IsOrdered(int *array, int array_size) {
  int i;
  for (i = 1; i < array_size; ++i)
    if (array[i-1] > array[i])
      return 0;
  return 1;
}
 
int main(int argc, char *argv[]) {
  srand(time(NULL));
  const int array_size = 6;
  int array[array_size][array_size];
 
  int i, j;
  for (i = 0; i < array_size; ++i) {
    for (j = 0; j < array_size; ++j)
      printf("%4d", array[i][j] = rand() % 100);
    printf("\n");
  }
  printf("\n");
 
  int count_ordered = 0;
  for (i = 0; i < array_size; ++i)
    if (IsOrdered(array[i], array_size))
      ++count_ordered;
 
  printf("Array has %d ordered line(s).\n", count_ordered);
 
  return 0;
}
Yandex
Объявления
07.03.2011, 09:18     Проверка упорядоченности строки
Ответ Создать тему
Опции темы

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