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

сортировка матрицы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Builder поиск файлов http://www.cyberforum.ru/cpp-beginners/thread34315.html
Как создать поиск файлов на диске на С++ Builder???? помогите:'( заранее спасибо!
C++ дефрагментатор на С++ Помогите! есть ли у кого-нибуть ссылочка дефрагментатора на С++ с исходниками????буду очень благодарна!! заранее спасибо;) http://www.cyberforum.ru/cpp-beginners/thread34314.html
C++ про функции и 2х мерный массив
привет) вот тут кое что немагу понять:rtfm: пример int mass ; for (int i =0; i<2; i++) for (int j = 0; j< 0; j++) cin >> mass ;
C++ Найти среднее значение элементов массива
Добрый вечер, прошу помочь мне с тремя задачами,крайне необходима помощь... задача№1:задан одномерный массив,который содержит 27 элементов целых чисел. 1.найти среднее значение элементов массива 2.найти кол-во элементов которое больше среднего значения 3.расположить элементыы массива в порядке убывания 4.найти максимальное и минимальное значения эелементов Задача№2 есть двумерный...
C++ Слова английского текста рассортировать по возрастанию количества заданной буквы в слове http://www.cyberforum.ru/cpp-beginners/thread34267.html
Создать динамический массив строк как динамический массив указателей на строки . Слова английского текста рассортировать по возрастанию количества заданной буквы в слове. Слова с одинаковым количеством такой буквы расположить в алфавитном порядке. при изучении С++ наткнулся на такую задачку, а как решить - без понятия... Буду очень рад помощи... Добавлено через 13 часов 27 минут 13 секунд...
C++ структуры подскажите с функцией Ребята умы програмирования подскажите с функцией долбаюсь не могу никак дойти до ума задача такая: Предметная область - бухгалтерия предприятия. Решаемые задачи - учет труда и зарплаты работников; табель учета рабочего времени (складывается по подразделам и включает ПИБ работника, должность, количество отработанных часов и количество неробочих дней, за месяц). Реализовать следующие сервисы:... подробнее

Показать сообщение отдельно
BEL9ILLI
4 / 4 / 0
Регистрация: 15.05.2009
Сообщений: 57

сортировка матрицы - C++

15.05.2009, 15:36. Просмотров 655. Ответов 2
Метки (Все метки)

Доброго времени суток. Задание: поменять в каждой строке максимальный и минимальный элементы на 0. Я думаю ошибка в функции void SortMatrix(int **X, const int K, const int L). Посмотрите, пожалуйста, в чем проблема.


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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <math.h>
 
int **CreateMatrix(const int K,const int L);
void FreeMatrix(int **X, const int L);
void SortMatrix(int **X, const int K, const int L);
void PrintMatrix(int **X, const int K, const int L);
 
void main()
{  
    int K,L;
    int i,j;
    FILE *InputFile,*OutputFile;
    char PathIn[25],PathOut[25];
    printf("Hello, dear user!"); //Здравствуйте, уважаемый пользователь!
    printf("\nThe program in each column, swap the largest and smallest modulo elements."); //Эта программа в каждом столбце меняет местами наибольший и наименьший по модулю элементы.
    printf("\nEnter a path for input file: "); //введите путь для входного файла
    scanf("%s",PathIn); 
    if ((InputFile=fopen(PathIn, "r")) == NULL )
    {
        perror(PathIn);
        exit;
    }
    fscanf (InputFile,"%d ",&K);
    fscanf (InputFile,"%d ",&L);
    int ** X=CreateMatrix(L,L); 
    for (i=0;i<K;i++)
    {
         for (j=0;j<L;j++)
            fscanf (InputFile,"%d ",&X[i][j]);
    }
    printf("Enter a path for output result file: "); //введите путь для выходного файла
    scanf("%s",PathOut);  
    OutputFile=fopen(PathOut,"w+"); 
    fprintf(OutputFile,"Initial matrix:\n");//исходная матрица
    printf("Initial matrix: \n"); //исходная матрица
    PrintMatrix(X,K,L);
    for (i=0;i<K;i++)
    {
        for (j=0;j<L;j++)
        {
            fprintf(OutputFile,"%4d",X[i][j]);
        }
        fprintf(OutputFile,"\n");
    }
    SortMatrix(X,K,L);
    fprintf(OutputFile,"\nResult matrix\n"); //результирующая матрица
    for (i=0;i<K;i++)
    {
        for (j=0;j<L;j++)
        {
            fprintf(OutputFile,"%4d",X[i][j]);
        }
        fprintf(OutputFile,"\n");
    }
    printf("As a result, have a matrix:\n"); //в итоге, получили матрицу
    PrintMatrix(X,K,L);
    fclose(OutputFile);
    fclose(InputFile);  
    FreeMatrix(X,L);
    getch();
}
 
void SortMatrix(int **X, const int K, const int L)
{
    int i,j,k,l;
    int A,B;
    int min,max;
    for (i=0;i<K;i++)
    {
        min=1;
        max=1;
        for(j=1;j<L;j++)
        {
            if (X[i][j]<X[i][min]) min=j;
            if (X[i][j]>X[i][max]) max=j;
        }
        k=X[i][min]; 
        l=X[i][max];
    }
        for (i=0;i<L;i++)
            if ((X[i][j]=k) || (X[i][j]=l)) X[i][j]=0;
}
 
void PrintMatrix(int **X, const int K, const int L)
{
    int i,j;
    for (i=0;i<K;i++)
    {
        for (j=0;j<L;j++)
        {
            printf("%5i",X[i][j]);
        }
        printf("\n");
    }
}
 
void FreeMatrix(int **X, const int K)
{
    int i;
    for(i=0; i<K; i++)
    {
        delete[] X[i];
    }
    delete[] X;
}
 
int **CreateMatrix(const int K,const int L)
{
    int i;
    int ** X = new int*[K];
    for(i=0; i<K; i++)
    {
         X[i] = new int[L];
    }
    return X;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 02:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru