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

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

Восстановить пароль Регистрация
 
Ganz1846
0 / 0 / 0
Регистрация: 08.06.2014
Сообщений: 38
08.06.2014, 21:00     Поменять местами max и min четных строк матрицы (без функции) #1
Сделать двумерный массив без функции на С++.
Дана квадратная матрица. Размерность вводится. Поменять местами 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
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
08.06.2014, 21:03     Поменять местами max и min четных строк матрицы (без функции) #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;
}
Ganz1846
0 / 0 / 0
Регистрация: 08.06.2014
Сообщений: 38
09.06.2014, 19:27  [ТС]     Поменять местами max и min четных строк матрицы (без функции) #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
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
09.06.2014, 19:50     Поменять местами max и min четных строк матрицы (без функции) #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Ganz1846, нюансы IDE
C++
1
#include <string>
Yandex
Объявления
09.06.2014, 19:50     Поменять местами max и min четных строк матрицы (без функции)
Ответ Создать тему
Опции темы

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