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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Ganz1846
0 / 0 / 0
Регистрация: 08.06.2014
Сообщений: 38
#1

Поменять местами max и min четных строк матрицы (без функции) - C++

08.06.2014, 21:00. Просмотров 279. Ответов 3
Метки нет (Все метки)

Сделать двумерный массив без функции на С++.
Дана квадратная матрица. Размерность вводится. Поменять местами max и min четных строк.
Вот программа с функцией:
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
#include<stdio.h>
#include<iostream.h>
#include<conio.h>
#define Maxline 100
 
int a[Maxline][Maxline];
int *AddressMax,*AddressMin;
int n=0,m=0;
 
main()
{
int i=0,j=0,c,max=0,min=0;
int PMIN();
 
int PMAX();
 
printf("Vvod n "); scanf("%d",&n);
printf("Vvod m "); scanf ("%d",&m);
 
printf("Vvedite matricu: "); for(i=0;i<n;i++) {for (j=0;j<m;j++) scanf("%d",&a[i][j]);}
 
PMIN();PMAX();
 
 
max=*AddressMax; min=*AddressMin; printf("Max: %d Min: %d\n",max,min);
 
 
c=*AddressMax;
*AddressMax=*AddressMin;
*AddressMin=c;
 
printf("Massiv A: \n"); for(i=0;i<n;i++) {for (j=0;j<m;j++) printf("%d ",a[i][j]); printf("\n");}
getch();
}
 
 
int PMIN()
{ int i,j,min;
 
min=a[0][0];AddressMin=&a[0][0];
 
for(i=0;i<n;i++)
 
{for (j=0;j<m;j++) if (a[i][j]<min){min=a[i][j];AddressMin=&a[i][j];}}
 
return 0;
 
}
 
 
 
int PMAX()
{ int i,j,max;
 
 
max=a[0][0];AddressMax=&a[0][0];
 
for(i=0;i<n;i++)
 
{for (j=0;j<m;j++) if (a[i][j]>max) {max=a[i][j];AddressMax=&a[i][j];}}
 
return 0;
 
}
Добавлено через 1 минуту
help

Добавлено через 5 минут
help

Добавлено через 1 минуту
help

Добавлено через 4 минуты
help

Добавлено через 14 минут
help

Добавлено через 5 минут
123

Добавлено через 26 минут
help
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.06.2014, 21:00
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Поменять местами max и min четных строк матрицы (без функции) (C++):

Поменять местами max и min четных строк в квадратной матрице - C++
Дана квадратная матрица. Размерность вводится. Поменять местами max и min четных строк. #include &lt;iostream&gt; #include &lt;iomanip&gt; ...

Двумерный массив. Поменять местами max и min четных строк - C++
Составить программу на языке C++ для обработки двумерных массивов с использованием указателей и входных и выходных файлов. Дана...

В каждой строке матрицы найти min и max, поменять местами - C++
Условие: В каждой строке матрицы A=(aij)mxn найти максимальный и минимальный элементы. Сформировать матрицу B=(bij)mxn, переставляя в...

Поменять местами MIN и MAX в массивах - C++
Здравствуйте, ни в какую не получается осуществить сабж. Вот задание: Вывести 4 массива, содержащих 4, 3, 4 и 5 компонентов. Найти...

Поменять местами max и min элементы файла - C++
Необходимо поменять местами max и min элементы файла, помогите!

Поменять местами min и max элемент в массиве - C++
1) Найти значение min элемента n строки и m столбца в которой он расположен. 2) Поменять местами min и max элемент в массиве. 3) Найти...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
08.06.2014, 21:03 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
#include <iostream>
#include <iomanip>
#include <conio.h>
 
int main()
{
    srand(time(0));
    int N, max, min, max_index = 0, min_index = 0;
    std::cout << "Type N: ";
    std::cin >> N;
    int** M = new int*[N];
    for(int i = 0; i < N; i++)
        M[i] = new int[N];
    
    for(int i = 0; i < N; i++)
    {
        for(int j = 0; j < N; j++)
        {
            std::cout << "M[" << i << "][" << j << "] = ";
            std::cin >> M[i][j];
        }
    }
    
    std::string line(4 * N + 3, '=');
    std::cout << std::endl << line << "\n\n";
    
    for(int i = 0; i < N; i++)
    {
        for(int j = 0; j < N; j++)
            std::cout << std::setw(4) << M[i][j];
        std::cout << "\n\n";
    }
    
    for(int i = 0; i < N; i++)
    {
        if(i % 2)
        {
            max = M[i][max_index];
            min = M[i][min_index];
            for(int j = 0; j < N; j++)
            {
                if(max < M[i][j])
                {
                    max = M[i][j];
                    max_index = j;
                }
                if(min > M[i][j])
                {
                    min = M[i][j];
                    min_index = j;
                }
            }
            std::swap(M[i][max_index], M[i][min_index]);
        }
    }
    
    std::cout << line << "\n\n";
    
    for(int i = 0; i < N; i++)
    {
        for(int j = 0; j < N; j++)
            std::cout << std::setw(4) << M[i][j];
        std::cout << "\n\n";
    }
    
    for(int i = 0; i < N; i++)
        delete [] M[i];
    delete [] M;
    
    std::cout << "\nOperation succeeded\n";
    getch();  
    return 0;
}
1
Ganz1846
0 / 0 / 0
Регистрация: 08.06.2014
Сообщений: 38
09.06.2014, 19:27  [ТС] #3
спасибо большое

Добавлено через 22 часа 6 минут
Ошибки выдает( Можешь помочь плз
Ошибка 2 error C2679: бинарный "<<": не найден оператор, принимающий правый операнд типа "std::string" (или приемлемое преобразование отсутствует) c:\users\ильвир\documents\visual studio 2012\projects\проект15\проект15\исходный код.cpp 25 1 Проект15
Ошибка 3 error C2679: бинарный "<<": не найден оператор, принимающий правый операнд типа "std::string" (или приемлемое преобразование отсутствует) c:\users\ильвир\documents\visual studio 2012\projects\проект15\проект15\исходный код.cpp 57 1 Проект15
4 IntelliSense: отсутствует оператор "<<", соответствующий этим операндам
типы операндов: std::basic_ostream<char, std::char_traits<char>> << std::string c:\Users\Ильвир\Documents\Visual Studio 2012\Projects\Проект15\Проект15\Исходный код.cpp 25 28 Проект15
5 IntelliSense: отсутствует оператор "<<", соответствующий этим операндам
типы операндов: std::ostream << std::string c:\Users\Ильвир\Documents\Visual Studio 2012\Projects\Проект15\Проект15\Исходный код.cpp 57 15 Проект15
0
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
09.06.2014, 19:50 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Ganz1846, нюансы IDE
C++
1
#include <string>
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.06.2014, 19:50
Привет! Вот еще темы с ответами:

Нахождение max и min в матрице . и поменять их местами - C++
Доброго времени суток столкнулась с этой программой в лоб в лоб . И ни как не могу вывести матрицу с этими указателями, я в них запуталась...

Массив: Найти в каждой строке max и min, поменять их местами. - C++
Вводится квадратная матрица порядка n. Найти в каждой строке max и min, поменять их местами. Помогите пожалуйста )

Ввести значения элементов массива, поменять местами min/max элементы - C++
Помогите пожалуйста, нада написать программу которая позволяет ввести 10 елементов одного массива, результат выводилоб на екран,также...

5х5 random массив В главной диагонали найти min и поменять местами max массива - C++
4) 5х5 random массив. в главной диагонали найти min и поменять местами max массива. если одинаковые min или max то выбрать первый элемент.


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
09.06.2014, 19:50
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru