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

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

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

как дописать задачку - C++

21.11.2013, 13:08. Просмотров 314. Ответов 10
Метки нет (Все метки)

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
//Задана матрица размером М х N. Найти максимальный по модулю эле¬мент матрицы. 
//Переставить строки и столбцы матрицы таким образом, чтобы максимальный по модулю элемент был расположен
//на пересечении t-й строки и k-го столбца.
 
#include "stdafx.h"
#include <stdlib.h>
#include <time.h>
#include "conio.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++)
        
        {
            
            printf("%i ",m[i][j]);
            
        }       
        printf("\n");
    }
    _getch();
 
     system("PAUSE");
     return 0;
}
как мне вывести тот же массив только максиммум поместить по введенным координатам,а то что стоял по введенным координатам на место максимума
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.11.2013, 13:08     как дописать задачку
Посмотрите здесь:

Как решить С++ задачку? - C++
Уважаемые программисты! Хочу обратиться за помошью к вам. Я не знаю как закончить класс (см. внизу), чтобы программа выполнялась. Буду...

Подскажите как сделать такую задачку - C++
В файле дана последовательность целых чисел. Для каждого элемента последовательности вычислить количество элементов слева, которые по...

как изобразить декартову систему координат ?немогу дорешать задачку - C++
Задана окружность, с помощью координат центра и радиуса. Вывести в декартовой системе координат (x и y от -1000 до 1000) как задать...

Как дописать программу - C++
В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1) сумму элементов массива, лежащих в диапазоне от А до В; ...

как дописать в файл - C++
Столкнулся со следующей задачей, не знаю как сделать. В процессе работы кода нужно периодически сохранять массив данных в текстовый файл....

как дописать программу - C++
Дана точка М с координатами ( x, y), определить, принадлежит ли точка заданной области. #include &lt;iostream&gt; #include &lt;clocale&gt; ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Angeline
36 / 30 / 2
Регистрация: 21.10.2013
Сообщений: 197
21.11.2013, 13:20     как дописать задачку #2
Dimonik92,
C++
1
2
3
4
5
6
7
8
9
10
11
12
if (k>imax+1)
{
for (auto i=k-1; i<k; i++)
{
for (auto j=0; j<m; j++)
{
int intserve=m[i][j];
m[i][j]=m[i+1][j];
m[i+1][j]=intserve;
}
}
}
Добавлено через 56 секунд
Для случая, если строка c максимальным элементом выше строки k
Dimonik92
0 / 0 / 0
Регистрация: 30.10.2013
Сообщений: 26
21.11.2013, 13:29  [ТС]     как дописать задачку #3
Angeline, но мы не знаем,откуда он возьмет максимум...в чем вся проблема,т.е. он может быть где угодно,т.к. матрица заполнчяется рандомно,и каждый раз по-разному!
Angeline
36 / 30 / 2
Регистрация: 21.10.2013
Сообщений: 197
21.11.2013, 13:33     как дописать задачку #4
Dimonik92, неужели сложно найти максимум в матрице?
C++
1
for (auto i=0; i<n; i++){for (auto j=0; j<m; j++){if (abs(matrica[i][j])>max){max=abs(matrica[i][j]);maxi=i;maxj=j;}}}
Dimonik92
0 / 0 / 0
Регистрация: 30.10.2013
Сообщений: 26
21.11.2013, 15:28  [ТС]     как дописать задачку #5
Angeline, дак мне как бы не максимум прошу найти,а поменять местами максимальный элемент с тем,координаты которого я введу,чтобы туда переместить максимум
Angeline
36 / 30 / 2
Регистрация: 21.10.2013
Сообщений: 197
21.11.2013, 15:51     как дописать задачку #6
Тебе осталось переписать этот кусочек кода для случая, когда надо поднять вверх и для вправо-влево.
kazak
3033 / 2354 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
21.11.2013, 16:05     как дописать задачку #7
Вам нужно запоминать не максимальное значения, а его координаты.
Raali
21.11.2013, 16:14
  #8

Не по теме:

Цитата Сообщение от Angeline Посмотреть сообщение
for (auto j=0; j<m; j++)
по моему тут быстрее написать int чем auto

Angeline
21.11.2013, 17:46
  #9

Не по теме:

Raali, признаться со злости старалась написать непонятнее

HidForce
56 / 56 / 13
Регистрация: 17.11.2012
Сообщений: 1,603
21.11.2013, 18:07     как дописать задачку #10
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 <ctime>
#include <cstdlib>
#include <iomanip>
 
using namespace std;
 
int main() 
{
    setlocale (LC_ALL, "RUS");
    srand(time(0));
 
    int Matrix[10][10];
    int MaxEl; // значение максимального элемента матрицы
    int TCoordMaxEl, KCoordMaxEl; // координаты максимального элемента матрицы
    int t, k; // координаты, вводимые пользователем
    int aux; // вспомагательная переменная
 
    //заполняем матрицу рандомными элементами
    for (int i = 0; i < 10; i++)
        for (int j = 0; j < 10; j++)
        {
            Matrix[i][j] = rand()%10;
        }
 
    //ищем значение максимального элемента матрицы и его координаты
    MaxEl = Matrix[0][0];
    for (int i = 0; i < 10; i++)
        for (int j = 0; j < 10; j++)
        {
            if (Matrix[i][j] > MaxEl)
            {
                MaxEl = Matrix[i][j];
                TCoordMaxEl = i;
                KCoordMaxEl = j;
            }
        }
 
    cout << "Исходная матрица равна: " << endl;
    for (int i = 0; i < 10; i++)
    {
        for (int j = 0; j < 10; j++)   
        {
            cout << setw(3) << Matrix[i][j];
        }
        cout << endl;
    }
 
    cout << "Максимальный элемент матрицы равен " << MaxEl << endl;
    cout << "Координаты максимального элемента: " << endl;
    cout << TCoordMaxEl + 1 << " строка" << endl; 
    cout << KCoordMaxEl + 1 << " столбец" << endl; 
 
    cout << endl << "Введите номер строки и столбца, куда нужно переставить максимальный элемент: " << endl;
    cin >> t >> k;
    cout << endl;
    
    //меняем необходимые элементы местами
    aux = Matrix[t-1][k-1]; 
    Matrix[t-1][k-1] = MaxEl;
    Matrix[TCoordMaxEl][KCoordMaxEl] = aux;
 
    cout << "Полученная матрица равна: " << endl;
    for (int i = 0; i < 10; i++)
    {
        for (int j = 0; j < 10; j++)   
        {
            cout << setw(3) << Matrix[i][j];
        }
        cout << endl;
    }
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.11.2013, 13:54     как дописать задачку
Еще ссылки по теме:

как правильно дописать программу - C++
ifstream f; int c=0; int x=0; int y=0; string slova; f.open(&quot;C:\\text.txt&quot;); while(!f.fail()){ f&gt;&gt;slova; ++c; ...

Как дописать информацию в созданный файл ? - C++
Подскажите пожалуйста, как дописать информацию в файл ? Вот создаётся файл , my_file ? например . как сделать так , чтобы пользователь мог...

Как дописать цикл в этом коде? - C++
#include &lt;graphics.h&gt; #include &lt;iostream.h&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; #include &lt;dos.h&gt; class wheel { int X,Y;...

Как дописать, чтобы последнее число выводило Ноль(0) - C++
#include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;ctime&gt; using namespace std; int main() { int i,n; int * array...


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

Или воспользуйтесь поиском по форуму:
Dimonik92
0 / 0 / 0
Регистрация: 30.10.2013
Сообщений: 26
24.11.2013, 13:54  [ТС]     как дописать задачку #11
Angeline, хаха..мда я в шоке
Yandex
Объявления
24.11.2013, 13:54     как дописать задачку
Ответ Создать тему
Опции темы

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