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

Сортировка массивов методом прямых обменов или «пузырьковый»

15.11.2010, 20:29. Показов 1088. Ответов 4
Метки нет (Все метки)

Введите с клавиатуры текст в массив символов. Определите, какие из
слов в массиве состоят из букв с возрастающими кодами, какие – с убывающи-
ми и какие – с теми и другими. Разместите эти слова в отдельные массивы.
Произведите сортировку полученных массивов метод прямых обменов или «пузырьковый». Для контроля результата сделайте распечатку массивов, в том числе исходного.
Заранее благодарен!
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.11.2010, 20:29
Ответы с готовыми решениями:

Сортировка матрицы по убыванию методом простых обменов
Даны целые числа a, b и n. Составить программу сортировки линейной целочисленной матрицы, состоящей...

Сортировка строк методом прямых вставок с барьером
Здравствуйте! Срочно нужна помощь в решении задачи. Задача сама по себе легкая, но не могу...

Методы сортировки массивов.Метод пузырьковый
Метод пузырьковый nLeft 600 nRight 1600 Помогите сделать Зарание Благодарю.

Сортировка массивов пузырьковым методом
Доброго времени суток ! Если есть люди ко может помочь по моей проблеме помогите пожалуйста Вот...

4
0 / 0 / 0
Регистрация: 15.11.2010
Сообщений: 3
16.11.2010, 22:09  [ТС] 2
я так понял нужно вводить с клавиатуры предложенния в массив с 1 столбцом и n строк(дапустим 5 значение выбираешь сам от 3) разбить каждое предложение на отдельные слова сравнивать в них буквы и записывать в 3 разных массива... только как это реализовать пока не додумался. Помогите чем сможете плиз
0
4863 / 3285 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
16.11.2010, 23:08 3
массив для текста одномерный
потом надо скопировать его через strcpy(), применить к копии strtok(), а потом слова подавать в проверяющие функции
на основе результатов этих функций добавлять слова в другие массивы через strcat()
1
0 / 0 / 0
Регистрация: 15.11.2010
Сообщений: 3
18.11.2010, 11:13  [ТС] 4
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
#include <string.h> 
#include <stdio.h> 
#include <stdlib.h> 
#include <conio.h> 
  // Ввод предложения 
      void InpPredl (char predl[]); 
  // Выделение из предложения 
     void Select(const char *predl, char m[][N],char *sel, int *n); 
// ОСНОВНАЯ ФУНКЦИЯ 
 
void main() 
{ 
  // ОБЪЯВЛЕНИЕ ПЕРЕМЕННЫХ 
 
  char predl[80];    // Введенное предложение 
  char cup[80]; // Слова с возрастающими кодами
  char cdown[80]; // Слова с убывающими кодами
  char call[80]; // Остальные слова
  char slova[N][N]; // Массив слов в предложении 
int  sl=-1;  // Счетчики слов 
    
 
  // Ввод предложения 
       InpPredl (predl); 
  // Выделение из предложения слов 
      Select (predl, slova, &sl);
           // Ввод предложения 
 
void InpPredl(char *s) 
{ 
  puts(" Введите предложение \n"); 
  strcpy (s," Верите ли вы, что задача решена?"); 
  // gets (s); 
} 
// Выделение из предложения 
 
void Select(const char *predl, char m[][N], char *sel, int *n) 
{ 
  char *p, *s; 
 
  s=strdup (predl); // Сделать копию исходного предложения 
 // так как передается константа, strtok требует 
 // внесения изменений при своей работе  
  p = strtok (s, sel);   14 
  while (p) 
    { 
     (*n)++; 
     strcpy (m[*n],p); 
     p = strtok (NULL, sel); 
    } 
  free (s); 
}
помогите написать функцию для сравнения букв в слове и записи их в отдельный массив
0
4863 / 3285 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
18.11.2010, 11:50 5
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

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
#include <stdio.h>
#include <string.h>
 
int isascend(char *s, size_t maxlen);
int isdescend(char *s, size_t maxlen);
 
int main(void)
{
    char s[3][100] = { "abcdef", "cba", "cab" }, *p;
    int i;
    
    for (i = 0; i < 3; i++) {
        p = s[i];
        if (isascend(p, strlen(p)))
            printf("ascending: %s" "\n", p);
        else if (isdescend(p, strlen(p)))
            printf("descending: %s" "\n", p);
        else
            printf("mixed: %s" "\n", p);
    }
    
    return 0;
}
 
int isascend(char *s, size_t maxlen)
{
    size_t i;
    
    for (i = 1; i < maxlen; i++)
        if (s[i - 1] > s[i])
            break;
    return i == maxlen;
}
 
int isdescend(char *s, size_t maxlen)
{
    size_t i;
    
    for (i = 1; i < maxlen; i++)
        if (s[i - 1] < s[i])
            break;
    return i == maxlen;
}
Код
[guest@localhost tests]$ ./t
ascending: abcdef
descending: cba
mixed: cab
[guest@localhost tests]$
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.11.2010, 11:50
Помогаю со студенческими работами здесь

Сортировка массивов методом выбора
#include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;conio.h&gt; #include &lt;cstdlib&gt; using namespace...

Сортировка массивов методом выбора
В двумерной матрице 5*5 отсортировать диагональ методом выбора. Помогите пожалуйста.

Сортировка массивов пузырьковым методом
Помогите с Решением Задачу пузырьковым методом Дан одномерный массив чисел. Определите сумму...

Сортировка массивов методом пузырька
Помогите, пожалуйста, доработать программу, чтобы она минимизировала кол-во полных циклов при...


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

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

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