Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.55/29: Рейтинг темы: голосов - 29, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 03.12.2012
Сообщений: 38
1

Дана матрица размера MxN

01.11.2013, 23:36. Показов 6000. Ответов 22
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите пожалуйста, не могу найти ничего подобного для своей задачи.. Дана матрица размера MxN.Преобразовать матрицу, поменяв местами минимальный и максимальный элемент в каждом столбце.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.11.2013, 23:36
Ответы с готовыми решениями:

Дана матрица размера MxN
Дана матрица размера MxN. Вывести ее элементы, расположенные в столбцах с нечетными номерами (1, 3,...

Дана действительная матрица размера MxN. Определить числа x1, x2,.,xM, равные соответственно суммам
Дана действительная матрица размера MxN. Определить числа x1, x2,....,xM, равные соответственно...

Дана матрица размера MxN. Вывести ее элементы, расположенные в столбцах с нечетными номерами
Дана матрица размера MxN. Вывести ее элементы, расположенные в столбцах с нечетными номерами (1, 3,...

Дана матрица размера MxN. Поменять местами столбец с номером N и первый из столбцов, содержащих только отрицательные элементы.
Помогите, пожалуйста, решить программы на си++, если не решу мне хана, заранее спасибо: Дана...

22
267 / 255 / 27
Регистрация: 27.09.2013
Сообщений: 876
Записей в блоге: 1
01.11.2013, 23:38 2
Катерино4ка, чего подобного? Объясните, что вы не понимаете в данной задаче? Как поменять местами элементы или как найти минимальный и максимальный в столбце?
0
0 / 0 / 0
Регистрация: 03.12.2012
Сообщений: 38
01.11.2013, 23:42  [ТС] 3
и то и другое..
преподаватель толком не объясняет как делать, пыталась найти на форуме что то подобное, но без результатов...
0
267 / 255 / 27
Регистрация: 27.09.2013
Сообщений: 876
Записей в блоге: 1
01.11.2013, 23:44 4
Катерино4ка, поменять значения местами можно либо функцией swap, которая меняет значение двух переменных местами. А поиск сейчас примерно распишу
0
0 / 0 / 0
Регистрация: 03.12.2012
Сообщений: 38
01.11.2013, 23:48  [ТС] 5
представляете как сделать это?

Добавлено через 1 минуту
если будет не сложно можете прислать весь код решения задачи?
буду очень и очень благодарна!!
0
267 / 255 / 27
Регистрация: 27.09.2013
Сообщений: 876
Записей в блоге: 1
01.11.2013, 23:49 6
Катерино4ка,
C++
1
2
3
4
5
6
7
8
9
10
11
for (int i = 0; i < m; i++)
{
    int max = 0;
    int min = 0;
    for (int j = 0; j < n; j++)
    {
        if (max < a[j][i]) max = j;
        if (min > a[j][i]) min = j;
    }
    swap(a[max][i],a[min][i]);
}
Вроде нигде не ошибся, тестите

Добавлено через 49 секунд
Катерино4ка, а вот полный код не хочу. Ведь у нас задача вас научить, а не написать вам готовую программу
0
0 / 0 / 0
Регистрация: 03.12.2012
Сообщений: 38
02.11.2013, 00:02  [ТС] 7
можно сделать исключение?
просто сижу разбираюсь с другой программой, завтра уже нужно с утра ехать и сдавать мне эти работы..
0
267 / 255 / 27
Регистрация: 27.09.2013
Сообщений: 876
Записей в блоге: 1
02.11.2013, 00:18 8
Катерино4ка,

Не по теме:

вы не поверите, сколько уже исключений делать пришлось...:(

0
30 / 30 / 21
Регистрация: 19.02.2011
Сообщений: 171
02.11.2013, 00:23 9
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
const n=4; m=4;   //задаем размеры
 
int main()
{
int i,j;
   int a[n][m];
   int max, min, p, maxi, maxj, mini, minj;
 
cout<<"введите матрицу";
for ( i=1; i<n; i++)
for ( j=1; j<m; j++)
cin >> a[i][j];
 
max=-32768;  {задаем значения максимуму и миниму, т.к. ищем на каждой строке }
min=32767;
 
for ( i=1; i<n; i++)
 
 for ( j=1 j<m; j++)
 
  if (a[i][j] > max)    //условия поиска максимума
   {
    max=a[i][j];
    maxi=i;          //запоминаем индексы максимума
    maxj=j;
   }
 
  if (a[i][j] < min)   //условия поиска минимума
   {
    min=a[i][j];
    mini=i;      //запоминаем идексы минимума
    minj=j;
   }
 
p=a[maxi][maxj];       //меняем местами максимум с минимумом
a[maxi][maxj]=a[mini][minj];
a[mini][minj]=p;
max=-32768;      //обнуляем значения макс и мин, дабы они находились в новой строке
min=32767;
 
//выводим
for (i=1; i<n; i++)         
 
for (j=1; j<m; j++)
cout << a[i][j];
 
return 0;
}
0
267 / 255 / 27
Регистрация: 27.09.2013
Сообщений: 876
Записей в блоге: 1
02.11.2013, 00:24 10
Simak63, что то вы намудрили с поиском минимума и максимума по моему. Можно было их присвоить первому элементу столбца
0
0 / 0 / 0
Регистрация: 03.12.2012
Сообщений: 38
02.11.2013, 00:34  [ТС] 11
swap выдает за ошибку, его в начале кода объявлять нужно как то?

Добавлено через 3 минуты
не могли бы и библиотеки скинуть пожалуйста?
код целиком?
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
02.11.2013, 00:37 12
Цитата Сообщение от Folko Посмотреть сообщение
Вроде нигде не ошибся, тестите
Цитата Сообщение от Folko Посмотреть сообщение
int max = 0;
* * int min = 0;
Цитата Сообщение от Folko Посмотреть сообщение
if (max < a[j][i]) max = j;
* * * * if (min > a[j][i]) min = j;
ты индексы со значениями сравниваешь?

Добавлено через 1 минуту
Цитата Сообщение от Simak63 Посмотреть сообщение
max=-32768; *{задаем значения максимуму и миниму, т.к. ищем на каждой строке }
min=32767;
инт давно уже 4 байтный а у тебя значения 2 байтного
1
267 / 255 / 27
Регистрация: 27.09.2013
Сообщений: 876
Записей в блоге: 1
02.11.2013, 00:38 13
ValeryS, вот, все таки ошибся(
исправленный вариант:
C++
1
2
3
4
5
6
7
8
9
10
11
for (int i = 0; i < m; i++)
{
    int max = 0;
    int min = 0;
    for (int j = 0; j < n; j++)
    {
        if (a[max][i] < a[j][i]) max = j;
        if (a[min][i] > a[j][i]) min = j;
    }
    swap(a[max][i],a[min][i]);
}
1
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
02.11.2013, 00:39 14
вот запись максима и минимума целочисленого в независимости разрядов
C++
1
2
int min=1<<(sizeof(int)*8-1);
int max=min-1;
0
0 / 0 / 0
Регистрация: 03.12.2012
Сообщений: 38
02.11.2013, 00:42  [ТС] 15
если не сложно пришлите хотя бы начало кода, с библиотеками...
Будьте милосердны))
0
267 / 255 / 27
Регистрация: 27.09.2013
Сообщений: 876
Записей в блоге: 1
02.11.2013, 00:44 16
Катерино4ка,
C++
1
2
#include <iostream>
using namespace std;
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
02.11.2013, 00:44 17
Folko,
интересное решение
0
267 / 255 / 27
Регистрация: 27.09.2013
Сообщений: 876
Записей в блоге: 1
02.11.2013, 00:46 18
ValeryS,

Не по теме:

да, порой приходят в голову хорошие идеи:)

0
0 / 0 / 0
Регистрация: 03.12.2012
Сообщений: 38
02.11.2013, 00:46  [ТС] 19
я это прописала уже давно, но swap не понимает, за ошибку выдает
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
02.11.2013, 00:47 20
Цитата Сообщение от Folko Посмотреть сообщение
C++
1
2
3
4
5
for (int j = 0; j < n; j++)
 {
    if (a[max][i] < a[j][i]) max = j;
    if (a[min][i] > a[j][i]) min = j;
}
только сравнивай со следующей ячейки, смысл само с собой сравнивать?
C++
1
for (int j = 1; j < n; j++)
0
02.11.2013, 00:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.11.2013, 00:47
Помогаю со студенческими работами здесь

перевести программу из паскаля в с++ (для среды Borland C++). Дана матрица размера MxN. Поменять местами столбец с номером N и первый из столбцов
Помогите пожалуйста перевести программу из паскаля в с++(для среды Borland C++) Условие:дана...

Дана матрица размера MxN. Найти номер ее строки с наибольшей суммой элементов и вывести данный номер, а также
Дана матрица размера MxN. Найти номер ее строки с наибольшей суммой элементов и вывести данный...

Дана матрица MxN. Вычислить номера строк в которых, все элементы равны
пытался решить эту задачу весь вечер, и ничего в голову не пришло

Дана прямоугольная матрица MxN и заданное значение. Составить и вывести новый одномерный массив с исходными значениями
Дана прямоугольная матрица размерности MxN и заданное значение. Составить и вывести новый...


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

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