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

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

Войти
Регистрация
Восстановить пароль
 
MagnuM91
2 / 2 / 0
Регистрация: 29.12.2009
Сообщений: 55
#1

Упорядочить строки матрицы по алфавиту - C++

12.05.2010, 23:16. Просмотров 948. Ответов 9
Метки нет (Все метки)

Дана символьная матрица. Упорядочить строки матрицы по алфавиту. Помогите пожалуйста.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2010, 23:16     Упорядочить строки матрицы по алфавиту
Посмотрите здесь:

Упорядочить слова по алфавиту (строки) C++
C++ Упорядочить строки матрицы
C++ Упорядочить строки матрицы по убыванию количества отрицательных элементов для каждой строки
задача стоит так : Список фамилий вводится через запятую в виде строки. Упорядочить фамилии по алфавиту C++
C++ .Упорядочить строки матрицы по убыванию значений произведений наименьшего и наибольшего элементов каждой строки
C++ Строки. [Ввести список фамилий,упорядочить по алфавиту]
Строки данного файла упорядочить по алфавиту C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Genius Ignat
1235 / 773 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
12.05.2010, 23:37     Упорядочить строки матрицы по алфавиту #2
Примерно так:
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
#include <stdio.h>
#include <conio.h>
#include <string.h>
#define H 5
#define W 5
 
long sort( char *ptr, int size_strb);
int main(){
char matrix[H][W] =
    {
    {"arvp"},
        {"uoiw"},
    {"fdba"},
    {"jklh"}
    };
int i;
for(i = 0 ; i < H ; i++){
unsigned int len = strlen(&matrix[i][0]);
sort(&matrix[i][0],len);
}
for(i = 0 ; i < H ; i++){
printf("%s",&matrix[i][0]);
printf("\n");
}
 
getch();
return 0;
}
 
long sort( char *ptr, int size_strb){
int i,j;
for(i = 0; i <size_strb-1; i++)
      for(j = i + 1 ; j<size_strb ; j++)
             if(ptr[j]<ptr[i]){
              char tmp = ptr[i];
              ptr[i]=ptr[j];
              ptr[j]=tmp;
}
 
 
return 0;
}
MagnuM91
2 / 2 / 0
Регистрация: 29.12.2009
Сообщений: 55
13.05.2010, 17:06  [ТС]     Упорядочить строки матрицы по алфавиту #3
а попроще как-нибудь можно, а то я чуток тут не понимаю.

Добавлено через 17 часов 26 минут
просто мы половины того, что здесь еще не учили))
Genius Ignat
1235 / 773 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
13.05.2010, 17:38     Упорядочить строки матрицы по алфавиту #4
Функции проходили??
Если нет, тогда напишу без функции.
MagnuM91
2 / 2 / 0
Регистрация: 29.12.2009
Сообщений: 55
14.05.2010, 16:43  [ТС]     Упорядочить строки матрицы по алфавиту #5
проходил, вот тока, как здесь, нет.

Добавлено через 21 час 45 минут
помогите исправить пожалуйста.

Добавлено через 55 минут
вот эти библиотеки тоже не учили:
#define H 5
#define W 5
Genius Ignat
1235 / 773 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
14.05.2010, 17:10     Упорядочить строки матрицы по алфавиту #6
Это макросы препроцессора.
Где написано H туда препроцессор напишет 5, туда где W тоже 5,
перед компиляцией сработает препроцессор который проведет подставку.
Подробнее тут Препроцессорные директивы в C/C++ (#include, #define и прочее)
MagnuM91
2 / 2 / 0
Регистрация: 29.12.2009
Сообщений: 55
15.05.2010, 10:13  [ТС]     Упорядочить строки матрицы по алфавиту #7
а почему 5?
MagnuM91
2 / 2 / 0
Регистрация: 29.12.2009
Сообщений: 55
19.05.2010, 10:03  [ТС]     Упорядочить строки матрицы по алфавиту #8
помогите упростить программу.

Добавлено через 12 часов 20 минут
помогите пожалуйста упростить эту программу
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
#include <stdio.h>
#include <conio.h>
#include <string.h>
#define H 5
#define W 5
 
long sort( char *ptr, int size_strb);
int main(){
char matrix[H][W] =
        {
        {"arvp"},
        {"uoiw"},
        {"fdba"},
        {"jklh"}
        };
int i;
for(i = 0 ; i < H ; i++){
unsigned int len = strlen(&matrix[i][0]);
sort(&matrix[i][0],len);
}
for(i = 0 ; i < H ; i++){
printf("%s",&matrix[i][0]);
printf("\n");
}
 
getch();
return 0;
}
 
long sort( char *ptr, int size_strb){
int i,j;
for(i = 0; i <size_strb-1; i++)
      for(j = i + 1 ; j<size_strb ; j++)
             if(ptr[j]<ptr[i]){
                          char tmp = ptr[i];
                          ptr[i]=ptr[j];
                          ptr[j]=tmp;
}
 
 
return 0;
}
Genius Ignat
1235 / 773 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
19.05.2010, 11:07     Упорядочить строки матрицы по алфавиту #9
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
#include <stdio.h>
#include <conio.h>
#include <string.h>
 
int main(){
char matrix[5][5] =
        {
        {"arvp"},
        {"uoiw"},
        {"fdba"},
        {"jklh"}
        };
 
int i;
 
for(i = 0 ; i < 5 ; i++){
 
unsigned int len = strlen(&matrix[i][0]);
char *ptr = &matrix[i][0];
 
unsigned int r,j;
for(r = 0; r<len-1; r++)
      for(j = r + 1 ; j<len ; j++)
             if(ptr[j]<ptr[r]){
             char tmp = ptr[r];
             ptr[r]=ptr[j];
             ptr[j]=tmp;
}
 
 
 
}
 
for(i = 0 ; i < 5 ; i++){
printf("%s",&matrix[i][0]);
printf("\n");
}
getch();
return 0;
}
Не знаю куда еще проще может так сойдет.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.05.2010, 19:46     Упорядочить строки матрицы по алфавиту
Еще ссылки по теме:

C++ Сгенерировать строку S состоящую из случайных символов(букв). Упорядочить символы строки по алфавиту
C++ Упорядочить каждое слово строки по алфавиту
Упорядочить символы строки по алфавиту C++
Упорядочить слова строки по алфавиту C++
Упорядочить строки матрицы C++

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

Или воспользуйтесь поиском по форуму:
MagnuM91
2 / 2 / 0
Регистрация: 29.12.2009
Сообщений: 55
19.05.2010, 19:46  [ТС]     Упорядочить строки матрицы по алфавиту #10
Спасибо тебе, но я уже сегодня защитился.
Yandex
Объявления
19.05.2010, 19:46     Упорядочить строки матрицы по алфавиту
Ответ Создать тему
Опции темы

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