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

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

Восстановить пароль Регистрация
 
MagnuM91
 Аватар для MagnuM91
1 / 1 / 0
Регистрация: 29.12.2009
Сообщений: 55
12.05.2010, 23:16     Упорядочить строки матрицы по алфавиту #1
Дана символьная матрица. Упорядочить строки матрицы по алфавиту. Помогите пожалуйста.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Genius Ignat
1233 / 771 / 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
 Аватар для MagnuM91
1 / 1 / 0
Регистрация: 29.12.2009
Сообщений: 55
13.05.2010, 17:06  [ТС]     Упорядочить строки матрицы по алфавиту #3
а попроще как-нибудь можно, а то я чуток тут не понимаю.

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

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

Добавлено через 55 минут
вот эти библиотеки тоже не учили:
#define H 5
#define W 5
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
14.05.2010, 17:10     Упорядочить строки матрицы по алфавиту #6
Это макросы препроцессора.
Где написано H туда препроцессор напишет 5, туда где W тоже 5,
перед компиляцией сработает препроцессор который проведет подставку.
Подробнее тут Препроцессорные директивы в C/C++ (#include, #define и прочее)
MagnuM91
 Аватар для MagnuM91
1 / 1 / 0
Регистрация: 29.12.2009
Сообщений: 55
15.05.2010, 10:13  [ТС]     Упорядочить строки матрицы по алфавиту #7
а почему 5?
MagnuM91
 Аватар для MagnuM91
1 / 1 / 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
1233 / 771 / 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++ .Упорядочить строки матрицы по убыванию значений произведений наименьшего и наибольшего элементов каждой строки
C++ Строки. [Ввести список фамилий,упорядочить по алфавиту]
Строки данного файла упорядочить по алфавиту C++

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

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

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