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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
Inna
Сообщений: n/a
#1

Упорядочить строки матрицы в порядке неубывания их первых элементов. - C++

11.12.2008, 17:58. Просмотров 1331. Ответов 6
Метки нет (Все метки)

1 курс, 1 семестр. Лекции читают плохо, пытаюсь разобраться сама, все время вылазят ошибки. Задачи вроде бы легкие, стыдно. Но может быть поможете?
1) Дана матрица А[N,M]. Упорядочить строки матрицы в порядке неубывания их первых элементов.
2)Напечатать список лиц по алфавиту.
Заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.12.2008, 17:58     Упорядочить строки матрицы в порядке неубывания их первых элементов.
Посмотрите здесь:

C++ Упорядочить строки матрицы в порядке возрастания первого столбца
Упорядочить строки матрицы, содержащие нули, в порядке возрастания их количества C++
Упорядочить строки матрицы в порядке неубывания их первых элементов C++
C++ Упорядочить строки матрицы по возрастанию их первых элементов
Упорядочить строки матрицы в порядке возрастания элементов главной диагонали C++
Упорядочить строки матрицы по возрастанию их первых элементов C++
C++ Сортировать строки матрицы n * m в порядке убывания значений первых элементов строк
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Spo1ler
292 / 52 / 3
Регистрация: 22.05.2008
Сообщений: 788
11.12.2008, 18:34     Упорядочить строки матрицы в порядке неубывания их первых элементов. #2
Вы говорите, что пытались что-то сделать? Слабо это показать? Или это для красного словца сказано было?
Inna
Сообщений: n/a
12.12.2008, 16:37     Упорядочить строки матрицы в порядке неубывания их первых элементов. #3
Например по второй задаче: ввод я сделала, а сортировку по алфавиту делать не знаю как:

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
#include "stdafx.h"
#include <windows.h>
#include <string.h>
struct People
{
    char fname[15];        //Имя
    char lname[25];        //Фамилия
};
 
void printPeople(People *p)
{
    printf("%s, %s", p->lname, p->fname);
}
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    People *spisok = NULL;
    int kol = 0;
    do 
    {
        printf("Vvedite kolichestvo chelovek (>0): ");
        scanf("%d", &kol);
    }while(kol <=0);
    spisok = new People[kol];
    for (int i = 0; i < kol; ++i)
    {
        printf("Vvodim %d-go studenta:\n", i+1);
 
        printf("Vvedite imya: ");
        scanf("%s", spisok[i].fname);
 
        printf("Vvedite familiyu: ");
        scanf("%s", spisok[i].lname);
    }
    if (strcmp(str1, str2)>0)
    {
 
    delete [] spisok;
    getchar();
    getchar();
 
    return 0;
}
Inna
Сообщений: n/a
15.12.2008, 16:20     Упорядочить строки матрицы в порядке неубывания их первых элементов. #4
Я показала, что сделала. И где реакция?
FOLKEN
21 / 20 / 3
Регистрация: 03.12.2008
Сообщений: 86
15.12.2008, 17:53     Упорядочить строки матрицы в порядке неубывания их первых элементов. #5
а в чем проблема то? strcmp вы знаете, осталось залезть хотя бы в Википедию и подглядеть алгоритм сортировки. Ну например методом пузырька.
Вертолётчик
1 / 1 / 0
Регистрация: 01.12.2008
Сообщений: 113
15.12.2008, 20:08     Упорядочить строки матрицы в порядке неубывания их первых элементов. #6
есть следующая идея.
Если strcmp не устраивает.
Перенумеровать enum все буквы англ языка.

либо создать функцию.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int NUMB(char f)
{ 
int number=0;
switch(f)
{ 
case 'a': number=1;break;
...// муторно писать
}
return number;
}
 
struct People
{
public:
    int N;
    char fname[15];        //Имя
    char lname[25];        //Фамилия
People(){N=100*(NUMB(this->fname[0]))+10*NUMB(this->fname[1])+NUMB(this->fname[2]);}//будем сортировать по //первым трём буквам имени, можно больше
};

//

Пузырёк знаешь и тогда всё
People[i].N>People[last].N и.т.д
как элементы массива сравниваешь.


//

ну вот идея
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.12.2008, 00:01     Упорядочить строки матрицы в порядке неубывания их первых элементов.
Еще ссылки по теме:

C++ В двухмерном динамическом массиве упорядочить строки по возрастанию первых элементов
Упорядочить элементы матрицы в порядке возрастания первых элементов C++
C++ Упорядочить строки матрицы по возрастанию их первых элементов
Упорядочить строки матрицы по неубыванию их первых элементов C++
C++ Упорядочить строки матрицы по возрастанию первых четных положительных элементов строк

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

Или воспользуйтесь поиском по форуму:
accept
4819 / 3239 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
16.12.2008, 00:01     Упорядочить строки матрицы в порядке неубывания их первых элементов. #7
можно qsort применить, но для неё нужно писать функцию сравнения (обычно одна-две строчки) на основе strcmp для двух элементов структур, а потом в qsort передавать массив структур и указатель на функцию сравнения элементов
Yandex
Объявления
16.12.2008, 00:01     Упорядочить строки матрицы в порядке неубывания их первых элементов.
Ответ Создать тему
Опции темы

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