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

Оформить сортировку элементов отдельной строки матрицы в виде функции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ С++Оформить как функцию сортировку элементов отдельной строки. Ввод и вывод элементов матрицы оформить как функцию. http://www.cyberforum.ru/cpp-beginners/thread315905.html
Помогите, срочно нужно сдать. Программу надо переделать. Нужно оформить как функцию сортировку элементов отдельной строки. Ввод и вывод элементов матрицы оформить как функцию. Заранее спасибо. ...
C++ Обработка параметров командной строки Решение должно представлять собой самостоятельное приложение командной строки, входной файл для которого задается ключом -i <имя файла>, а выходной — ключом -o <имя файла>. Ключи могут располагаться... http://www.cyberforum.ru/cpp-beginners/thread315885.html
как переделать с cout, cin на printf, scanf??? C++
#include <iostream.h> #include <conio.h> #include <stdio.h> #include <stdlib.h> const int n=30; class TRecord { public: int number; // общий идентификатор int nreis; // номер рейса
Intellisence в Visual C++ Express 2008 C++
Здравствуйте, вот такая вот проблема: работал раньше в Visual C# Express 2008 и привык к Intellisence, там он выскакивал сразу после нажатия любой клавиши, хочу научиться C++, поставил Visual C++...
C++ Вычисление корней диф. уравнения. http://www.cyberforum.ru/cpp-beginners/thread315845.html
4. Составить подпрограмму-процедуру для вычисления корней x1,2=(-b+-(b^2-4ac)^(1/2))/2a (проще говоря это формула дискриминанта) уравнения ax^2+bx+c=0. Значения корней представить в виде...
C++ Дана действительная матрица. Определить числа. 3. Дана действительная матрица размера mxn. Определить числа b1, ..., bm равные соотв. суммам элементов строк. подробнее

Показать сообщение отдельно
Tantal73
0 / 0 / 0
Регистрация: 08.06.2011
Сообщений: 4
09.06.2011, 08:11  [ТС]
Спасибо, Сделал по твоему примеру, всё раотает)

Вот Переделанныя прога:

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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
#include <iostream> //поток для ввода-вывода.
#include "math.h" //библиотека математических функций. 
#include <Windows.h> //библиотека для русификатора
using namespace std;  //включает в программу
 
 
 
int vvod(int *A, int STR, int STLB)//функция (ввод элементов)
{
 
int i, j;//объявляем переменные i, j
 
cout<<"\n Введите элементы матрицы построчно:"<<endl;
 
for (i=0; i<STR; i++)// цикл для заполнения матрицы A[STR][STLB]
{
        for (j=0; j<STLB; j++)
        {
                cin>>A[i*STLB+j];
        }
}
 
return (*A, STR, STLB);
 
}
 
 
////////////////////////////////////////////////////////////////////////////////////
int sort(int *A, int STR, int STLB)// функция (сортировка)
{
int x, u, i, j, e;
cout<<"\n параметры построчной сортировки:"<<endl;// вывод на экран меню
 
for (i=1; i<STR+2; i++)
{
        if (i<STR+1)
        {
                cout<<"\n для сортировки "<<i<<"-ой строки введи "<<i-1<<endl;
        }
        else
        {
                cout<<"\n для сортировки всей матрицы введи "<<i-1<<endl;
        }
}
 
cin>>x;//ввод переменной х с клавы
 
 
if(x<0 || x>STR)// проверка правельности ввода
{
        cout<<"\n Ошибка ввода"<<endl;// вывод на экран сообщения об ошибке
}
else// еслипользователь ввел корректное значение, то
{
        if(x<STR)// сортировка конкретной строки
        {
                i=x;
                for (u=STLB-1; u>0; u--)// сортировка мотодом пузырька
                {
                        for (j=0; j<u; j++)
                        {
                                if (A[i*STLB+j]<A[i*STLB+j+1]) 
                                {
                                        e=A[i*STLB+j];
                                        A[i*STLB+j]=A[i*STLB+j+1];
                                        A[i*STLB+j+1]=e;
                                }
                        }
                }
                
        }
 
        if(x==STR)// построчная сортировка всей матрицы
        {
                for (i=0; i<STR; i++)// строки сортируются поочерёдно
                {
                        for (u=STLB-1; u>0; u--)// сортировка мотодом пузырька
                        {
                                for (j=0; j<u; j++)
                                {
                                        if (A[i*STLB+j]<A[i*STLB+j+1]) 
                                        {
                                                e=A[i*STLB+j];
                                                A[i*STLB+j]=A[i*STLB+j+1];
                                                A[i*STLB+j+1]=e;
                                        }
                                }
                        }
                }
        }
}
 
return (*A);
 
}
 
 
///////////////////////////////////////////////////////////////////////////////
void print(int *A, int STR, int STLB)// функция (вывод элементов)
{
int i, j;
for (i=0; i<STR; i++)// вывод матрицы A[STR][STLB] на экран
{
 for (j=0; j<STLB; j++)
 {
  cout<<A[i*STLB+j]<<" ";
 }
 cout<<'\n';
}
}
 
 
////////////////////////////////////////////////////////////////////////////////
int main(void) //основная функция
{
 
SetConsoleOutputCP (1251); //вводим русификатор
 
int STR=3;//объявляем переменную STR
int STLB=4;//объявляем переменную STLB
int *A = new int [STR*STLB];//объявляем матрицу A
 
cout<<"\n Введите кол-во строк (по умалчанию 3): "<<endl;
cin>>STR;
 
cout<<"\n Введите кол-во столбцов (по умалчанию 4): "<<endl;
cin>>STLB;
 
 
vvod (A, STR, STLB);
 
sort (A, STR, STLB);
 
print (A, STR, STLB);
 
system("Pause");
 
return 0;
}

PS

Прога спрашивает размер матрицы, считывает массив, потом вылетает меню, где на выбор можно отсартировать(в порядке убывания) какубто отдельную строку или всю матрицу целиком, если в меню ввели какоето кривое число то прога выдает ошибку. нукактотак.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru