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

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

Войти
Регистрация
Восстановить пароль
 
RAEman
0 / 0 / 0
Регистрация: 01.03.2011
Сообщений: 32
#1

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

01.03.2011, 09:30. Просмотров 771. Ответов 7
Метки нет (Все метки)

Мне надо проверить упорядоченность строки в двумерном массиве если упорядочен то к=к+1 если нет ничего не делать и потом вывести к. Немогу ничего придумать.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.03.2011, 09:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Проверка упорядоченности строки (C++):

Проверка упорядоченности строк - C++
Дана строка. Напечатать те слова, перед которыми в последовательности находятся только меньшие (по алфавиту) слова, а за ними - только...

Получить массив, присвоив его k-му элементу значение 1 или 0 в зависимости от упорядоченности k-й строки - C++
Понять не могу , ребят испробовал свой бред , дальше не могу . Помогите пожалуйста :) Задана матрица размером NxM. Получить массив B,...

Объединить упорядоченные файлы не нарушая упорядоченности - C++
Даны три файла вещественных чисел с именами S1, S2 и S3, элементы ко¬торых упорядочены по убыванию. Объединить эти файлы в новый файл с...

Метод сортировки Bubble с контролем упорядоченности - C++
задали написать программу с формами которая будет сортировать пузырьковым (bubble) методом и в конце приписка, нужно использовать контроль...

Проверка строки - C++
Здравствуйте, господа! В консольном приложении есть переменная типа string, в которую я ввожу некие данные: cin >> st; теперь мне...

Проверка строки - C++
Я написал "мини игру". Смысл отгадать число. Человек вводит знак сравнения (>, < или =) и любое число, а комп отвечает "Да, верно" или...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
lemegeton
2924 / 1353 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
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;
};
1
RAEman
0 / 0 / 0
Регистрация: 01.03.2011
Сообщений: 32
02.03.2011, 11:54  [ТС] #3
Спасибо огромное за ответ,мне очень пригодилась эта проверка в других. Но мне нужно проверить по возрастанию идут числа в строке или нет если да то к+1 если нет то ничего не делать(т.е. у меня не char, а int)
0
fasked
Эксперт С++
4936 / 2516 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
02.03.2011, 12:23 #4
Цитата Сообщение от RAEman Посмотреть сообщение
Но мне нужно проверить по возрастанию идут числа в строке или нет если да то к+1 если нет то ничего не делать(т.е. у меня не char, а int)
тогда при чем здесь строка?
0
RAEman
0 / 0 / 0
Регистрация: 01.03.2011
Сообщений: 32
02.03.2011, 16:16  [ТС] #5
Ну в двумерном массиве идет как элементы строки и столбца мне нужно чтобы программа пробежалась по сначала по первой строме массива проверила упорядоченность если упорядочен то к+1, если нет к остается прежним. Потом по другой строме массива, опять проверила и тд
0
fasked
Эксперт С++
4936 / 2516 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 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;
}
1
RAEman
0 / 0 / 0
Регистрация: 01.03.2011
Сообщений: 32
07.03.2011, 08:26  [ТС] #7
А во Само задание:
В заданной матрице A(nxn)определить кол-во строк, которые упорядочены по возрастанию. Использовать подпрограмму проверки упорядоченности строки.
0
lemegeton
2924 / 1353 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
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;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.03.2011, 09:18
Привет! Вот еще темы с ответами:

Добавить в стек среднее арифметическое элементов не нарушая упорядоченности - C++
Дан стек вещественных чисел, упорядоченных по убыванию. Добавить в стек среднее арифметическое элементов, не нарушая упорядоченности ...

Вставить элементы списка L2 в список L1, не нарушая его упорядоченности - C++
на с++.Даны упорядоченные списки L1 и L2. Вставить элементы спис¬ка L2 в список L1, не нарушая его упорядоченности.

Проверка строки на корректность - C++
#include&lt;iostream&gt; #include&lt;cstring&gt; #include &lt;conio.h&gt; using namespace std; int main(){ char a; char a1; char a3; ...

проверка на пустоту строки - C++
подскажите как сделать чтобы проверялось еще одно условие if((ff==' ') || (ff=='')) то есть надо чтобы проверялось заполнена строка или...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
07.03.2011, 09:18
Ответ Создать тему
Опции темы

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