Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
Lilitanna
0 / 0 / 1
Регистрация: 10.03.2013
Сообщений: 15
1

Двумерный массив (перестановкой строк добиться расположения нулевых элементов по главной диагонали)

07.10.2013, 23:42. Просмотров 1116. Ответов 7
Метки нет (Все метки)

Пыталась написать программу, но выдает кучу ошибок. И ввод-вывод кажись тоже неправильно. Помогите исправить.

В каждом столбце и строке содержится строго один нулевой элемент. Перестановкой строк добиться расположения нулевых элементов по главной диагонали.

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
//---------------------------------------------------------------------------
 
#include <vcl.h>
#include <conio.h>
#include <iostream.h>
#include <math.h>
#pragma hdrstop
 
//---------------------------------------------------------------------------
 
#pragma argsused
int main(int argc, char* argv[])
{
const int n=5;
float array[n][n];
float x=0;
int k;
 
cout<<"Input the array, where is only one zero element in each column and row: "<<endl;
for (int i=0; i<n; i++)
{
for (int j=0; i<n; j++)
{
cin>>array[i][j];
}
cout<<endl;
 }
 
cout<<"The original array: "<<endl;
for (int i=0; i<n; i++)
{
for (int j=0; i<n; j++)
{
cout<<array[i][j]<<' ';
}
cout<<endl;
}
 
for (int i=0;i<(n-1);i++)
{
for (int j=0;j<n;j++)
{
if ((array[j,i]==0)&&(!(j==i)))
{
k=j;
for (int l=0;l<n;l++)
{
x=array[i,l];
array[i,l]=array[k,l];
array[k,l]=x;
}
}
}
 
 
cout<<"The new array: "<<endl;
for (int i=0; i<n; i++)
{
for (int j=0; i<n; j++)
{
cout<<array[i][j]<<' ';
}
cout<<endl;
system("PAUSE");
        return 0;
 
}
//---------------------------------------------------------------------------

Ошибки
0
Миниатюры
Двумерный массив (перестановкой строк добиться расположения нулевых элементов по главной диагонали)  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.10.2013, 23:42
Ответы с готовыми решениями:

Перестановкой столбцов добиться расположения максимальных элементов на главной диагонали
Найти все самые нижние максимальные элементы в столбцах и перестановкой...

Двумерный массив, количество строк без нулевых элементов
Здравствуйте. У меня проблема с программой. Дана целочисленная прямоугольная...

Задать двумерный массив. Посчитать сумму элементов главной диагонали
Задать двумерный массив. Посчитать сумму элементов главной диагонали. #...

Двумерный массив. Найти минимальный элемент в, среди элементов, лежащих выше главной диагонали
найдите минимальный элемент в двумерном массивный, размером n x n, среди...

Ввести в память машины двумерный массив A(N,M). найти наибольший и наименьший элементы среди элементов главной диагонали.
помогите пожалуйста решить задачу!!!!!завтра зачет(((( 1.Ввести в память...

7
Lilitanna
0 / 0 / 1
Регистрация: 10.03.2013
Сообщений: 15
07.10.2013, 23:53  [ТС] 2
C++
1
2
3
x=array[i,l];
array[i,l]=array[k,l];
array[k,l]=x;
что делать с этими строками?
скобки исправила..

Добавлено через 24 секунды
C++
1
2
3
x=array[i,l];
array[i,l]=array[k,l];
array[k,l]=x;
что делать с этими строками?
скобки исправила..
0
gumi250
431 / 398 / 57
Регистрация: 06.02.2012
Сообщений: 1,373
08.10.2013, 00:36 3
Как минимум правильно array[i][l], а не array[i,l]
0
Lilitanna
0 / 0 / 1
Регистрация: 10.03.2013
Сообщений: 15
08.10.2013, 01:01  [ТС] 4
Цитата Сообщение от gumi250 Посмотреть сообщение
Как минимум правильно array[i][l], а не array[i,l]
Спасибо большое. Невнимательность и паскаль..

Можете, пожалуйста, подсказать что тут не так с выводом?

Добавлено через 8 минут
for (int j=0; i<n; j++) - вот тут еще была ошибка

исправила..запустила программу, а оно потом зациклило..
стрелочка указывает на строку
[I]cout<<array[j]<<' ';
0
gumi250
431 / 398 / 57
Регистрация: 06.02.2012
Сообщений: 1,373
08.10.2013, 01:02 5
Цитата Сообщение от Lilitanna Посмотреть сообщение
Можете, пожалуйста, подсказать что тут не так с выводом?
Увы, никогда не писал под консоль.
Но у вас тут явная проблема со скобками {}
0
Lilitanna
0 / 0 / 1
Регистрация: 10.03.2013
Сообщений: 15
08.10.2013, 01:03  [ТС] 6
Цитата Сообщение от gumi250 Посмотреть сообщение
Увы, никогда не писал под консоль.
Но у вас тут явная проблема со скобками {}
Скобки я уже исправила..
Спасибо вам большое за помощь, буду разбираться с выводом.
0
gumi250
431 / 398 / 57
Регистрация: 06.02.2012
Сообщений: 1,373
08.10.2013, 01:05 7
Вот ваш код с отступами, чтобы наглядней была проблема скобок
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
int main(int argc, char*argv[])
{
    const int n=5;
    float array[n][n];
    float x=0;
    int k;
 
    cout<<"Input the array, where is only one zero element in each column and row: "<<endl;
    for (int i=0; i<n; i++)
    {
        for (int j=0; i<n; j++)
        {
            cin>>array[i][j];
        }
        cout<<endl;
    }
 
    cout<<"The original array: "<<endl;
    for (int i=0; i<n; i++)
    {
        for (int j=0; i<n; j++)
        {
            cout<<array[i][j]<<' ';
        }
        cout<<endl;
    }
 
    for (int i=0;i<(n-1);i++)
    {
        for (int j=0;j<n;j++)
        {
            if ((array[j,i]==0)&&(!(j==i)))
            {
                k=j;
                for (int l=0;l<n;l++)
                {
                    x=array[i,l];
                    array[i,l]=array[k,l];
                    array[k,l]=x;
                }
            }
        }
 
        cout<<"The new array: "<<endl;
        for (int i=0; i<n; i++)
        {
            for (int j=0; i<n; j++)
            {
                cout<<array[i][j]<<' ';
            }
            cout<<endl;
            system("PAUSE");
            return 0;
        }
Добавлено через 25 секунд
что то я опаздываю
0
Lilitanna
0 / 0 / 1
Регистрация: 10.03.2013
Сообщений: 15
09.10.2013, 01:12  [ТС] 8
Исправленная, правильно работающая программа:

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
//---------------------------------------------------------------------------
 
#include <vcl.h>
#include <conio.h>
#include <iostream.h>
#include <math.h>
#pragma hdrstop
 
//---------------------------------------------------------------------------
 
#pragma argsused
int main(int argc, char* argv[])
{
const int n=4;
float array[n][n];
int k;
 
cout<<"Input the array, where is only one zero element in each column and row: "<<endl;
for (int i=0; i<n; i++)
{
  for (int j=0; j<n; j++)
  {
    cin>>array[i][j];
  }
  cout<<endl;
}
 
cout<<"The original array: "<<endl;
for (int i=0; i<n; i++)
{
  for (int j=0; j<n; j++)
  {
   cout<<array[i][j]<<' ';
  }
  cout<<endl;
}
 
for (int j=0;j<n;j++)
{
   int findrow=0;
   while (array[findrow][j]!=0) findrow++;
 
 
     for (int l=0;l<n;l++)
       {
          float x=array[j][l];
          array[j][l]=array[findrow][l];
          array[findrow][l]=x;
       }
 
   }
 
cout<<"The new array: "<<endl;
for (int i=0; i<n; i++)
{
  for (int j=0; j<n; j++)
  {
   cout<<array[i][j]<<' ';
  }
  cout<<endl;
}
 
system("PAUSE");
 
return 0;
 
}
//---------------------------------------------------------------------------
0
09.10.2013, 01:12
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.10.2013, 01:12

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

Найти количество нулевых элементов, расположенных выше главной диагонали
Дано квадратну дійсну матрицю розмірності n. Знайти кількість нульових...

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


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

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

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