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

Как присвоить нужному элементу в матрице значение первого или последнего элемента? - C++

Войти
Регистрация
Восстановить пароль
 
coder2
1 / 1 / 0
Регистрация: 01.03.2014
Сообщений: 312
06.06.2014, 11:51     Как присвоить нужному элементу в матрице значение первого или последнего элемента? #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
#include <stdio.h>
#include <conio.h>
#include<iostream>
using namespace std;
 
 int main()
{
int a[100][100];
int i,j,n,k;
int max=0;
int min=100;
 
cout<<"vvod n ";
cin>>n;
 
for(i=0;i<n;i++)
for(j=0;j<n;j++)
cin>>a[i][j];
 
 
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
if (a[i][j]<min) min=a[i][j];
if (a[i][j]>max) max=a[i][j];
}
 
cout<<min<<' '<<max<<endl;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
if (n/2==i && n/2==j)
    {
        if (a[i][j]==min) a[i][j]=a[0][0];
        if (a[i][j]==max) a[i][j]=a[n][n];
    }
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
cout<<a[i][j]<<" ";
cout<<"\n";
}
getch();
 
}
Код, общий элемент главной и побочной диагонали является максимальным( то заменяем на первый элемент матрицы ) или минимальным элементом матрицы ( то заменяем на последний элемент матрицы ).
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.06.2014, 11:51     Как присвоить нужному элементу в матрице значение первого или последнего элемента?
Посмотрите здесь:

Подсчитать сумму элементов строки в массиве и присвоить значение первому элементу C++
C++ Найти сумму первого и последнего элемента текс. файла.
C++ Подсчитать сумму первого и последнего столбца в матрице
C++ Односвязный список. Вывести сумму последнего элемента и первого, предпоследнего и последнего и т.д.
C++ Определить индекс первого и последнего нулевого элемента массива
Списки. Найти сумму первого и последнего элемента C++
Найти сумму первого и последнего элемента списка C++
В матрице найти наибольший и наименьший элементы и поместить их на место первого и последнего элемента матрицы соответственно (Pascal -> C++) C++
Многомерный массив. Дублирование значения первого элемента строки в значении последнего элемента предыдущей C++
C++ Нахождение первого и последнего максимального элемента
Найти номера первого и последнего максимального элемента C++
Первому элементу массива присвоить значение второго C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kasan
Чорумфанин
337 / 337 / 185
Регистрация: 06.03.2014
Сообщений: 875
06.06.2014, 14:00     Как присвоить нужному элементу в матрице значение первого или последнего элемента? #2
coder2, индексы массивов начинаются с 0, поэтому a[n][n] это мусор
надо вот так
C
1
if (a[i][j]==max) a[i][j]=a[n-1][n-1];
jurok_85
238 / 221 / 76
Регистрация: 21.02.2013
Сообщений: 515
Завершенные тесты: 1
06.06.2014, 14:16     Как присвоить нужному элементу в матрице значение первого или последнего элемента? #3
вместо этого циклла -
C++
1
2
3
4
5
6
7
8
9
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
if (n/2==i && n/2==j)
    {
        if (a[i][j]==min) a[i][j]=a[0][0];
        if (a[i][j]==max) a[i][j]=a[n][n];
    }
}
наверное надо :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//твой предыдущий код
cout<<"min: "<<min<<" max: "<<max<<"pervii: "<<per<<"posled: "<<pos<<endl;
 
 
    if(n % 2 != 0)
    {
        int temp;
        if (a[n/2][n/2]==min)
        {
            temp = a[n/2][n/2];
            a[n/2][n/2] = a[0][0];
             a[0][0] = temp;
        }
        if (a[n/2][n/2]==max)
        {
            temp = a[n/2][n/2];
            a[n/2][n/2] = a[n-1][n-1];
            a[n - 1][n - 1] = temp;
        }
    }
Добавлено через 1 минуту
Цитата Сообщение от coder2 Посмотреть сообщение
общий элемент главной и побочной диагонали
это как я понимаю самый центр массива если если его размер является не четным
Yandex
Объявления
06.06.2014, 14:16     Как присвоить нужному элементу в матрице значение первого или последнего элемента?
Ответ Создать тему
Опции темы

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