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

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

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 37, средняя оценка - 4.89
Christine
0 / 0 / 0
Регистрация: 20.02.2012
Сообщений: 32
20.02.2012, 21:20     Перестановка строк в матрице (С++) #1
Здравствуйте ребята,очень нужна помощь
помогите пожалуйста написать программу..
смысл в том что
в программе я должна ввести любую матрицу размером 4*4,
после программа должна переставить строки в матрице..
а потом еще нужно определить номер строки матрицы,содержащей max элемент
ребятааа,очень нужно ((для лабораторной по информатике..(
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.02.2012, 21:20     Перестановка строк в матрице (С++)
Посмотрите здесь:

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

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

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

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

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

Добавлено через 42 минуты
Ааааа помоги пожалуйста..мне завтра сдавать,удали ты эти строчки..неужели так трудно?(
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
isaak
101 / 38 / 9
Регистрация: 17.10.2010
Сообщений: 634
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;
}
Christine
0 / 0 / 0
Регистрация: 20.02.2012
Сообщений: 32
12.03.2012, 23:42  [ТС]     Перестановка строк в матрице (С++) #43
ошибку какую то показывает,гляди
Миниатюры
Перестановка строк в матрице (С++)  
Christine
0 / 0 / 0
Регистрация: 20.02.2012
Сообщений: 32
12.03.2012, 23:48  [ТС]     Перестановка строк в матрице (С++) #44
почему ты первую самую строчку отступил место?
kravam
быдлокодер
 Аватар для kravam
1513 / 873 / 44
Регистрация: 04.06.2008
Сообщений: 5,266
13.03.2012, 01:29     Перестановка строк в матрице (С++) #45

Не по теме:

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

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

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

Добавлено через 2 минуты
а нет,еще раз попробовала сегодня,получилось )
kravam
быдлокодер
 Аватар для kravam
1513 / 873 / 44
Регистрация: 04.06.2008
Сообщений: 5,266
13.03.2012, 12:28     Перестановка строк в матрице (С++) #51
Короче у меня такая ошибка поисходин если я запущу файл exe (например, мышью) и он у меня выполняется и в это же время попробую компильнуть. Тогда просто выключаю экзешник и компилю. А ты врёшь, что пробовала и тебе лень снова попробовать. Эх ты.
isaak
101 / 38 / 9
Регистрация: 17.10.2010
Сообщений: 634
13.03.2012, 21:00     Перестановка строк в матрице (С++) #52
Christine в Visual Studio все работает, обнови, компилятор, а вообще kravam прав, он тебе все так разжевал, что его код любой новичок поймет, если хоть приложит даже минимум усилий, так даже препод или репетитор за деньги не разжовывают.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.04.2012, 22:18     Перестановка строк в матрице (С++)
Еще ссылки по теме:

Перестановка строк со столбцами C++
C++ Сортировка строк матрицы C++ (перестановка строк)
C++ Перестановка строк и столбцов в матрице

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

Или воспользуйтесь поиском по форуму:
Christine
0 / 0 / 0
Регистрация: 20.02.2012
Сообщений: 32
23.04.2012, 22:18  [ТС]     Перестановка строк в матрице (С++) #53
привееет,опять помощь нужна!!!
я буду очень благодарна!!

ЛАБА Обработка ведомости студенческой группы
Yandex
Объявления
23.04.2012, 22:18     Перестановка строк в матрице (С++)
Ответ Создать тему
Опции темы

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