Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 17.03.2010
Сообщений: 14
1

Составьте программу обмена местами максимального и минимального элементов на побочной диагонали матрицы B[n][n]. Помогите найти ошибку.

10.04.2010, 18:48. Просмотров 924. Ответов 6
Метки нет (Все метки)

Составьте программу обмена местами максимального и минимального элементов на
побочной диагонали матрицы B[n][n].
Помогите найти ошибку вроде всё чётко но не робит(((
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
#include <iostream>
#include <conio.h>
#define n 5
using namespace std;
int main()
{    int a[n][n],indexi,indexj,indexi1,indexj1;
 
//заполнение и вывод массива
     for (int i=0; i<n; i++){
        for (int j=0; j<n; j++){
            a[i][j]=rand()%10;
            cout<<a[i][j]<<"  ";}
        cout<<endl; }
       cout<<endl;
       int max=a[0][n-1];
       int min=a[0][n-1];
     // поиск максимального и минимального на побочной диагонали
 
        for(i=0;i<n;i++){
            for(j=0;j<n;j++)
                if (j==n-i-1)
                { if (a[i][j]>max) {
                    max=a[i][j];
                     indexi=i;
                     indexj=j;}
                    if (a[i][j]<min) {
                      indexi1=i;
                     indexj1=j;
                     min=a[i][j];}
                }
        }
        //меняю местами макс и мин местами
       int c=a[indexi][indexj];
       a[indexi][indexj]=a[indexi1][indexj1];
        a[indexi1][indexj1]=c;
       for (int i=0; i<n; i++){
        for (int j=0; j<n; j++){
                cout<<a[i][j]<<"  ";}
        cout<<endl; }
        getch();
        return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.04.2010, 18:48
Ответы с готовыми решениями:

Составить программу обмена местами максимального и минимального элементов главной диогонали матрицы 4x4.
как я понял надо работать только с главной диогональю зарание спасибо!

Матрицы. Найти индексы минимального и максимального элементов. Найти сумму элементов главной и побочной диагонали
Здравствуйте) Прошу помощи в решении двух задач: 1) Ввести массив W(30). Найти индексы его...

Составьте программу меняющую местами значения элементов массива А(N,M) симметрично относительно побочной диагонали
Составьте программу меняющую местами значения элементов массива А(N,M) симметрично относительно...

Найти произведение максимального и минимального элементов диагонали матрицы
Сформировать массив а, элементы которого выбираются случайным образом из интервала . Найти...

6
Peace 2 all shining faces
674 / 535 / 85
Регистрация: 05.03.2010
Сообщений: 1,283
10.04.2010, 18:57 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
#include <iostream.h>
#include <conio.h>
#include <cstdlib>
#define n 5
 
using namespace std;
 
int main(){
    int a[n][n], indexi, indexj, indexi1, indexj1;
    int i, j;
 
    for (i = 0; i < n; i++){
        for (j = 0; j < n; j++){
            a[i][j] = rand() % 10;
            cout << a[i][j] << " ";
        }
        cout << endl;
    }
    cout << endl;
 
    int max = a[0][n-1];
    int min = a[0][n-1];
 
    for(i = 0; i < n; i++){
        for(j = 0; j < n; j++)
            if (j == n - i - 1){
                if (a[i][j] > max){
                    max = a[i][j];
                    indexi = i;
                    indexj = j;
                }
                if (a[i][j] < min){
                    indexi1 = i;
                    indexj1 = j;
                    min = a[i][j];
                }
            }
    }
 
    int c = a[indexi][indexj];
    a[indexi][indexj] = a[indexi1][indexj1];
    a[indexi1][indexj1] = c;
 
    for (i = 0; i < n; i++){
        for (j = 0; j < n; j++)
            cout << a[i][j]<<" ";
        cout << endl;
    }
 
    getch();
    return 0;
}
0
306 / 187 / 26
Регистрация: 14.02.2010
Сообщений: 540
10.04.2010, 19:05 3
я не знаю, что такое "побочная диагональ", но в строчке
Цитата Сообщение от SmartTrac Посмотреть сообщение
for(j=0;j<n;j++)
так и напрашивается начало блока ({}), хотя сама цель этого for неясна
0
0 / 0 / 0
Регистрация: 17.03.2010
Сообщений: 14
10.04.2010, 19:07  [ТС] 4
спс огромное
0
Peace 2 all shining faces
674 / 535 / 85
Регистрация: 05.03.2010
Сообщений: 1,283
10.04.2010, 19:11 5
1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1 главная диагональ из единиц

0 0 0 0 1
0 0 0 1 0
0 0 1 0 0
0 1 0 0 0
1 0 0 0 0 побочная
0
306 / 187 / 26
Регистрация: 14.02.2010
Сообщений: 540
10.04.2010, 19:39 6
в смысле побочная-перепендикулярная той, что только из единиц? а если такой диагонали нет? в смысле основной?

Добавлено через 18 минут
разобрался, что такое "побочная", но все равно конструкция
C++
1
2
3
for(i=0;i<n;i++){
  for(j=0;j<n;j++)
    if (j==n-i-1)
не достаточно ясна
разве
C++
1
2
3
for(i=0;i<n;i++){
//  for(j=0;j<n;j++)
    j = n-i-1;
не то же самое, учитывая, что ни "n", ни "i", ни тем более "1" нигде в этой ветке "for(i..." не меняется
0
Peace 2 all shining faces
674 / 535 / 85
Регистрация: 05.03.2010
Сообщений: 1,283
10.04.2010, 19:54 7
то же самое
в первом случае мы проверяем всю строку на наличие равенства номера элемента с формулой его нахождения, а во втором просто присваиваем ему это значение
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.04.2010, 19:54

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Найти сумму максимального и минимального элемента среди элементов главной диагонали матрицы
1. В массиве размерности n*n, состоящего из целых чисел, найти сумму максимального и минимального...

Найти сумму максимального и минимального элемента среди элементов главной диагонали матрицы
1. В массиве размерности n*n, состоящего из целых чисел, найти сумму максимального и минимального...

Обмена первого и последнего элементов на побочной диагонали матрицы
двухмерные массивы только начел изучать

Найти сумму максимального не кратного 3 элементов главной диагонали и произведение парных элементов побочной диагонали
Задание: Найти сумму максимального не кратного 3 элементов главной диагонали и произведение парных...

Найти минимальный из элементов ниже главной и выше побочной диагонали и поменять его местами с первым элементом матрицы
Найти минимальный из элементов в области ,ниже главной и выше побочной диагонали и поменять его...

Функция нахождения максимального и минимального элементов матрицы, расположенных под её побочной диагональю
В файле хранится квадратная матрица А размерностью М=5. Написать и использовать функцию нахождения...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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