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

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

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

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

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

Введите с клавиатуры текст в массив символов. Определите, какие из
слов в массиве состоят из букв с возрастающими кодами, какие – с убывающи-
ми и какие – с теми и другими. Разместите эти слова в отдельные массивы.
Произведите сортировку полученных массивов метод прямых обменов или «пузырьковый». Для контроля результата сделайте распечатку массивов, в том числе исходного.
Заранее благодарен!
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.11.2010, 20:29     Сортировка массивов методом прямых обменов или «пузырьковый»
Посмотрите здесь:

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

Сортировка массивов методом выбора - C++
#include <iostream> #include <math.h> #include <conio.h> #include <cstdlib> using namespace std; void SetRussianLocale() {...

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

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

Сортировка массивов методом пузырька, вставки и быстрым способом - C++
Помогите сделать три программы которые создают двумерные массивы рандомом и сортируют методом пузырька, вставки и быстрым способом.

Организовать новый массив по условию, отсортировать методом обменов - C++
Дан одномерный целочисленный массив B. Организовать новый массив A=B, если B>0, иначе при B<=0, A=0 . Отсортировать массив А методом...

Пеобразование массивов методом сортировки или поиска - C++
Вводятся массивы А и В. Из массива А удалить все элементы, которые встречаются в В ровно 2 раза. Из В переписать в С те элементы, которые...

В матрице упорядочить строки с положительной суммой элементов по возрастанию методом обменов - C++
Доброго времени суток. Помогите, пожалуйста, решить задание. Создать матрицу. Ввод размеров матрицы с клавиатуры, заполнить ее...

Написать программу для сортировки методом прямых включений латинских букв по алфавиту - C++
Здравствуйте! Помогите написать программу для сортировки методом прямых включений латинских букв по алфавиту. Сортировка простыми...

Выяснить, лежат ли отрезки прямых на попарно перпендикулярных прямых - C++
Все геометрические фигуры заданы на плоскости. Предусмотрите ввод исходных данных с клавиатуры. Даны координаты концов четырех отрезков....


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
qw9rty
0 / 0 / 0
Регистрация: 15.11.2010
Сообщений: 3
16.11.2010, 22:09  [ТС]     Сортировка массивов методом прямых обменов или «пузырьковый» #2
я так понял нужно вводить с клавиатуры предложенния в массив с 1 столбцом и n строк(дапустим 5 значение выбираешь сам от 3) разбить каждое предложение на отдельные слова сравнивать в них буквы и записывать в 3 разных массива... только как это реализовать пока не додумался. Помогите чем сможете плиз
accept
4820 / 3240 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
16.11.2010, 23:08     Сортировка массивов методом прямых обменов или «пузырьковый» #3
массив для текста одномерный
потом надо скопировать его через strcpy(), применить к копии strtok(), а потом слова подавать в проверяющие функции
на основе результатов этих функций добавлять слова в другие массивы через strcat()
qw9rty
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); 
}
помогите написать функцию для сравнения букв в слове и записи их в отдельный массив
accept
4820 / 3240 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
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]$
Yandex
Объявления
18.11.2010, 11:50     Сортировка массивов методом прямых обменов или «пузырьковый»
Ответ Создать тему
Опции темы

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