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

Вывести ту же матрицу, только с максимальным элементом по введенным координатам - C++

Восстановить пароль Регистрация
 
Dimonik92
0 / 0 / 0
Регистрация: 30.10.2013
Сообщений: 26
20.11.2013, 12:28     Вывести ту же матрицу, только с максимальным элементом по введенным координатам #1
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
#include "stdafx.h"
#include <stdlib.h>
#include <time.h>
#include <stdio.h>
#include "locale.h"
#include <iostream>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{setlocale(LC_ALL, "Russian");
int m[10][10];
int t,k;
 
 
 
srand((unsigned)time(NULL));
printf("Массив: \n");
for(int i = 0; i < 10; i++)
    {
    for(int j = 0; j < 10; j++)
        {
        m[i][j] = rand()%10;
    
        printf("%i ",m[i][j]);
        }
    printf("\n");
    }   int max = m[0][0];
    for(int i = 0; i < 10; i++)
    {
        for(int j = 0; j < 10; j++)
        
        {
            if(m[i][j]>max) max=m[i][j];
            
        }       
    }
printf("максимальный элемент: %d \n",max);
printf("Введите координаты:");
scanf_s("%i %i ",&t,&k);
m[t-1][k-1]=max;
for(int i = 0; i < 10; i++)
    {
        for(int j = 0; j < 10; j++)
        
        {
            cout<<m[i][j]<<endl;            
        }       
    }
 
 
     system("PAUSE");
     return 0;
}
как мне тут вывести ту же матрицу,только с максимальным элементом по введенным координатам?подскажите пожалуйста!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.11.2013, 12:28     Вывести ту же матрицу, только с максимальным элементом по введенным координатам
Посмотрите здесь:

C++ Найти ошибку в коде, он у меня матрицу должен вывести и колличество положительных элементов но рандомом он только 0 выходит почему?
C++ вычислить сумму элементов,расположенных между максимальным и минимальным элементом
Вывести на экран номера всех элементов массива, не совпадающих с максимальным элементом C++
Удалите из массива первую строку с максимальным элементом C++
Поменять местами строку с максимальным и минимальным элементом матрицы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dzrkot
zzzZZZ...
 Аватар для dzrkot
516 / 346 / 53
Регистрация: 11.09.2013
Сообщений: 1,977
20.11.2013, 13:13     Вывести ту же матрицу, только с максимальным элементом по введенным координатам #2
всмысле по введённым координатам? она должна менять местами мах с тем, что было по введённым координатам, я правильно понял?
Dimonik92
0 / 0 / 0
Регистрация: 30.10.2013
Сообщений: 26
20.11.2013, 14:55  [ТС]     Вывести ту же матрицу, только с максимальным элементом по введенным координатам #3
dzrkot, ну да получается
dzrkot
zzzZZZ...
 Аватар для dzrkot
516 / 346 / 53
Регистрация: 11.09.2013
Сообщений: 1,977
20.11.2013, 15:51     Вывести ту же матрицу, только с максимальным элементом по введенным координатам #4
кароче мне было лень переписывать вашу, я написал быстренько с нуля, тут размерность массива задается произвольно
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
#include <iostream>
#include <stdlib.h>
#include <ctime>
#include <iomanip>
using namespace std;
 
void setArray(int *b[],int x,int y)
{
    for (int i=0;i<y;i++)
    {
    int *a=new int[x];
        for (int j=0;j<x;j++)
        a[j]=1+rand()%20;
    b[i]=&a[0];
    }
 
}
void print(int *b[],int x,int y)
{
 
    for (int i=0;i<y;i++)
    {
        for (int j=0;j<x;j++)
        cout<<setw(3)<<b[i][j];
    cout<<endl;
    }
}
 
int maxArray(int *b[],int x,int y,int &xmax,int &ymax)
{
int max=b[0][0];
 
    for (int i=0;i<y;i++)
        for (int j=0;j<x;j++)
            if(b[i][j]>max)
            {
            max=b[i][j];
            xmax=i;
            ymax=j;
            }
    return max;
}
void swap(int *b[],int xi,int yi,int xmax,int ymax)
{
int temp;
temp=b[xi][yi];
b[xi][yi]=b[xmax][ymax];
b[xmax][ymax]=temp;
}
 
 
 
int main()
{
    srand(time(NULL));
    int x,y,xi,yi;
    int xmax=0,ymax=0;
    cout << "Please enter size array x:" << endl;
    cin>>x;
    cout << "Please enter size array y:" << endl;
    cin>>y;
    int** b = new int*[y];
    setArray(b,x,y);
    print(b,x,y);
    cout<<maxArray(b,x,y,xmax,ymax)<<endl;
    cout<<xmax<<"   "<<ymax<<endl;
    cout<<"Enter index change value x:";
    cin>>xi;
    cout<<"Enter index change value y:";
    cin>>yi;
    swap(b,xi,yi,xmax,ymax);
    print(b,x,y);
    return 0;
}
Yandex
Объявления
20.11.2013, 15:51     Вывести ту же матрицу, только с максимальным элементом по введенным координатам
Ответ Создать тему
Опции темы

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