0 / 0 / 0
Регистрация: 20.02.2012
Сообщений: 32
1

Перестановка строк в матрице (С++)

20.02.2012, 21:20. Показов 11441. Ответов 52
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте ребята,очень нужна помощь
помогите пожалуйста написать программу..
смысл в том что
в программе я должна ввести любую матрицу размером 4*4,
после программа должна переставить строки в матрице..
а потом еще нужно определить номер строки матрицы,содержащей max элемент
ребятааа,очень нужно ((для лабораторной по информатике..(
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.02.2012, 21:20
Ответы с готовыми решениями:

Перестановка строк в матрице
Дана целочисленная матрица размера 6х9. Найти матрицу, получающуюся из данной: перестановкой строк...

Перестановка строк в матрице
Добрый день Дана заданная целочисленная матрица 6x9. Нужно чтобы по заданному пользователем...

Перестановка столбцов и строк в матрице
Друзья, скажите в чем проблема, задали написать задачу на шифрование, смысл в том что надо вбивать...

Перестановка строк и столбцов в матрице
Добрый день программисты! Вопрос заключается в том как сделать так чтобы можно было переставлять...

52
0 / 0 / 0
Регистрация: 20.02.2012
Сообщений: 32
12.03.2012, 23:17  [ТС] 41
Author24 — интернет-сервис помощи студентам
ааа я нифига не поняла что ты написал((
ты можешь просто убрать эти строчки?
чтобы не высвечивалось maх= 0
мах=3

ведь и так есть строчки "номер строки мах элемента в матрице а"
и так же в матрице в

зафиг эти строчки(((
я не понимаю (

Добавлено через 1 минуту
я не знаю как комментить...
я не понимаю что это означает..

коммент,это типо как оставить комментарий?и какой же мне оставить комментарий к той строчке...

Добавлено через 42 минуты
Ааааа помоги пожалуйста..мне завтра сдавать,удали ты эти строчки..неужели так трудно?(
0
171 / 104 / 25
Регистрация: 17.10.2010
Сообщений: 1,146
12.03.2012, 23:21 42
C++
1
// printf ("max= %d\n", max);
//, /**/ -означает закоментировать строку.

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
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
#include <windows.h>
#include <stdio.h>
#include <time.h>
#include <iostream>
#include <locale.h>
using namespace std;
 
//матрица A 
int A [4][4];
//матрица B 
int B [4][4];
//матрица C (может пригодиться, может нет, кто его знает)
int C [4][4];
 
 
//номера строк, содержащих максималные элементы таблиц, IA и IB сответственно
int IA, IB;
 
 
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
//Функция для обмена
void f () {
  int temp;
  
  if (IA> IB) {
   //меняем 1 и IA строку местами. НЕобходимо учитывать, что нумерация
   //начинается c 1 (по условию задачи)
   if (!(IA)) {
    for (int i= 0; i< 4; i++) { 
     temp= A[0][i];
     A[0][i]= A[IA][i];
     A[IA][i]= temp;
    }
   }
  } 
  //А тут, как и договаривались, копируем 
  //B в C и меняем строки в матрице C
  //Копирование и перестановку местами можно было бы осуществит за один приём, 
  //(проход) но ну его на фиг 
  else {
 
   //сперва просто скопируем
   for (int i= 0; i< 4; i++)
    for (int j= 0; j< 4; j++)
     C[i][j]= B[i][j];
 
 
   
   //Так, а теперь поменяем местами нужные строки в матрице C
    for (int i= 0; i< 4; i++) { 
     temp= C[0][i];
     C[0][i]= C[IB][i];
     C[IB][i]= temp;
    }
  }
}
 
 
 
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
//функция определение номера строки матрицы,содержащей максимальный элемент
//Эта функция принимает количество строк и столбцов матрицы и указатель н анеё
//возвращат номер строки, содержащей максимальный элемент
int max_matr (int kol_vo_strok, int kol_vo_stolb, int matrix [] [4]) {
 
 int max, temp; temp= 0; 
 for (int i= 0; i< kol_vo_strok; i++) {  
  for (int j= 0; j< kol_vo_stolb; j++) 
   if (matrix[i][j]>= temp) {
    temp= matrix[i][j]; 
    max= i;
   } 
 }
 // printf ("max= %d\n", max);
 return max;
}
 
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
int main () {
 
 //Это для русского языка, если ё
 SetConsoleCP (1251);
 SetConsoleOutputCP (1251);
 
 
 //Заполним A случайными числами от 0 до 99 включительно 
 for (int i= 0; i< 4; i++)  
  for (int j= 0; j< 4; j++)  
   scanf ("%d",&A[i][j]);
 
 //Заполним B по правилам, указанным в задании
 for (int i= 0; i< 4; i++) 
  for (int j= 0; j< 4; j++) 
   if (i==j) 
    B[i][j]=0;
   else   
    B[i][j]= A[i][j]+ A[j][i];
 
 //матрица C (может пригодиться, может нет, кто его знает)
 //Заполним нолями
 for (int i= 0; i< 4; i++) 
  for (int j= 0; j< 4; j++) 
   C[i][j]= 0; 
 
                                 //+
                                 //+
                                 //+
                                 
 
 //Есть две заполненых матрицы, теперь найдём номера строк,
 //содержащих максималные элементы таблиц
 IA= max_matr(4, 4, A);
 IB= max_matr(4, 4, B); 
 
  //После этого в переменной IA номер строки, содержащей максимальный 
  //элемент таблицы A
  //с переменной IB аналогично
  //Если окажется так, что есть несколько равных максимальных элементов, 
  //например 
  //в нулевой, второй и третьей строках, то IA будет содержать цифру 3
  //(третья строка)                                                      
  //Аналогично для переменой IB
 
                                 //+
                                 //+
                                 //+
  
  //Теперь выполняем или не выполняем обмен
  f ();
                                 //+
                                 //+
                                 //+
  //Ну и всё, осталось только вывести
  printf ("\n");
  printf ("\n");
  printf ("матрица B\n");
  for (int i= 0; i< 4; i++) {
   for (int j= 0; j< 4; j++) {
    printf ("%*d  ",4, B[i][j]);
   } 
   printf ("\n");
  }    
 
  printf ("\nномер строки в матрице A содержащей максимальный элемент  %d\n", IA+ 1);
  printf ("номер строки в матрице B содержащей максимальный элемент  %d\n", IB+ 1);
  printf ("\nматрица C\n");
  for (int i= 0; i< 4; i++) {
   for (int j= 0; j< 4; j++) {
    printf ("%*d  ",4, C[i][j]);
   } 
   printf ("\n");
  }    
 
 
 fflush(stdin);
 getchar (); 
 return 0;
}
0
0 / 0 / 0
Регистрация: 20.02.2012
Сообщений: 32
12.03.2012, 23:42  [ТС] 43
ошибку какую то показывает,гляди
Миниатюры
Перестановка строк в матрице (С++)  
0
0 / 0 / 0
Регистрация: 20.02.2012
Сообщений: 32
12.03.2012, 23:48  [ТС] 44
почему ты первую самую строчку отступил место?
0
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
13.03.2012, 01:29 45

Не по теме:

Цитата Сообщение от Christine Посмотреть сообщение
удали ты эти строчки

Это уже что-то запредельное
0
0 / 0 / 0
Регистрация: 20.02.2012
Сообщений: 32
13.03.2012, 11:26  [ТС] 46
блиин ну пооожалуйста))

Добавлено через 9 часов 32 минуты
аааа ну черт,пожалуйста,ну удали ты эти строчки,чтобы их не было в проге..(
0
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
13.03.2012, 11:41 47
isaak, же написал тебе код
Будешь так себя вести я вообще пожалуюсь на тебя. Пора вводить ценз на вменяемость. Такое впечатление что общаюсь с дауном.
0
0 / 0 / 0
Регистрация: 20.02.2012
Сообщений: 32
13.03.2012, 11:52  [ТС] 48
то что он написал,выдаёт ошибку и прога не работает(я сфоткала ошибку..посмотри
0
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
13.03.2012, 12:13 49
Ещё раз запусти
0
0 / 0 / 0
Регистрация: 20.02.2012
Сообщений: 32
13.03.2012, 12:20  [ТС] 50
несколько раз пробовала..выдаёт эти строчки..(

Добавлено через 2 минуты
а нет,еще раз попробовала сегодня,получилось )
0
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
13.03.2012, 12:28 51
Короче у меня такая ошибка поисходин если я запущу файл exe (например, мышью) и он у меня выполняется и в это же время попробую компильнуть. Тогда просто выключаю экзешник и компилю. А ты врёшь, что пробовала и тебе лень снова попробовать. Эх ты.
0
171 / 104 / 25
Регистрация: 17.10.2010
Сообщений: 1,146
13.03.2012, 21:00 52
Christine в Visual Studio все работает, обнови, компилятор, а вообще kravam прав, он тебе все так разжевал, что его код любой новичок поймет, если хоть приложит даже минимум усилий, так даже препод или репетитор за деньги не разжовывают.
0
0 / 0 / 0
Регистрация: 20.02.2012
Сообщений: 32
23.04.2012, 22:18  [ТС] 53
привееет,опять помощь нужна!!!
я буду очень благодарна!!

Обработка ведомости студенческой группы
0
23.04.2012, 22:18
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.04.2012, 22:18
Помогаю со студенческими работами здесь

Перестановка строк в матрице
Помогите:'( уже 4 дня бьюсь и не чего не получается В матрице n-го порядка переставить строки...

Перестановка строк в матрице
Здравствуйте, нужна помощь в задании. А точнее, нужно написать как реализовать перестановку строк в...

перестановка строк в матрице
Необходимо написать программу которая должна переставлять местами строки между собой. (четные и...

Перестановка строк и столбцов в матрице
Здравствуйте!Поиогите,пожалуйста, исправить ошибку. Программа компилируется,но выводит только один...


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

Или воспользуйтесь поиском по форуму:
53
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru