1 / 1 / 0
Регистрация: 20.12.2010
Сообщений: 15
1

Ввод массива и быстрая сортировка

20.12.2010, 16:25. Показов 2146. Ответов 3
Метки нет (Все метки)

Вводиться массив N строк,каждая строка заканчивается символом "0", выбрать строки не содержащие символов "# & \ / *" отсортировать по убыванию и вывести (по убываию суммы квадратов первых трех элементов)
[с помощью метода быстрой сортировки]
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.12.2010, 16:25
Ответы с готовыми решениями:

Быстрая сортировка (добавить ввод размера массива пользователем)
Есть программа для быстрой сортировки на C++. Как сделать так, чтобы пользователь сам вводил...

Быстрая сортировка(сортировка Хоара). Отсортировать фрагмент массива
Мне нужно отсортировать фрагмент массива, расположенный между первым и последним отрицательным...

Быстрая сортировка массива
Помогите, как написать быструю сортировку для одномерного массива, если для этого нужно...

Быстрая сортировка массива
Программа сортирует числа в valarray с помощью быстрой сортировки, но не все элементы. Помогите...

3
4424 / 2363 / 853
Регистрация: 29.11.2010
Сообщений: 5,239
21.12.2010, 09:00 2
Цитата Сообщение от wejustfun Посмотреть сообщение
по убываию суммы квадратов первых трех элементов
Приведите пример суммы квадратов первых трех элементов строки.
0
1 / 1 / 0
Регистрация: 20.12.2010
Сообщений: 15
21.12.2010, 11:36  [ТС] 3
Там скорее всего имеются ввиду коды символов...я так предполагаю
0
4424 / 2363 / 853
Регистрация: 29.11.2010
Сообщений: 5,239
21.12.2010, 12:13 4
Без части про
Цитата Сообщение от wejustfun Посмотреть сообщение
убываию суммы квадратов первых трех элементов
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#include <cstdio>
#include <cstring>
 
void QuickSort(int left, int right, char **array) {
  int i = left, j = right;
  char *pivot = array[(left + right) / 2];
 
  // partition
  while (i <= j) {
    while (strcmp(array[i], pivot) < 0)
      i++;
    while (strcmp(pivot, array[j]) < 0)
      j--;
    if (i <= j) {
      char *tmp = array[i];
      array[i] = array[j];
      array[j] = tmp;
      i++;
      j--;
    }
  };
 
  // recursion
  if (left < j)
    QuickSort(left, j, array);
  if (i < right)
    QuickSort(i, right, array);
}
 
bool StringHasSymbols(char *a_string, const char symbols[]) {
  int i = -1;
  while (a_string[++i] > 0) {
    int j = -1;
    while (symbols[++j] > 0)
      if (a_string[i] == symbols[j])
        return true;
  }
  return false;
}
 
int main(int argc, char *argv[]) {
  int row_number = 3;
  char **array = new char*[row_number];
  int array_size = 0;
  char symbols[] = "#&\\/*\0";
 
  char *buffer = new char[1024];
  for (int i = 0; i < row_number; ++i) {
    gets(buffer);
    if (!StringHasSymbols(buffer, symbols)) {
      array[array_size] = new char[strlen(buffer)+1];
      strcpy(array[array_size], buffer);
      ++array_size;
    }
  }
  delete buffer;
 
  QuickSort(0, array_size-1, array);
 
  for (int i = 0; i < array_size; ++i)
    puts(array[i]);
 
  for (int i = 0; i < array_size; ++i)
    delete [] array[i];
  delete [] array;
 
  scanf("%d", &array_size);
  return 0;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.12.2010, 12:13
Помогаю со студенческими работами здесь

Быстрая сортировка двумерного массива
Возникла проблема с програмой в которой применяется быстрая сортировка двумерного массива. При...

Быстрая сортировка двумерного массива
Помогите разобраться с быстрой сортировкой! Для одномерного массива всё понятно, но как сортировать...

Быстрая сортировка двумерного массива
Нужно отсортировать двумерный массив по убыванию быстрой сортировкой. Вроде всё работает, но не...

Быстрая сортировка массива по невозрастанию
Подскажите как с помощью быстрой сортировки отсортировать массив в обратном порядке(С большего до...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru