Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 1
Регистрация: 10.03.2013
Сообщений: 15

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

07.10.2013, 23:42. Показов 2292. Ответов 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
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.10.2013, 23:42
Ответы с готовыми решениями:

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

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

Задать двумерный массив. Посчитать сумму элементов главной диагонали
Задать двумерный массив. Посчитать сумму элементов главной диагонали. # include &lt;iostream.h&gt; //подключение библиотеки void...

7
0 / 0 / 1
Регистрация: 10.03.2013
Сообщений: 15
07.10.2013, 23:53  [ТС]
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
435 / 402 / 57
Регистрация: 06.02.2012
Сообщений: 1,384
08.10.2013, 00:36
Как минимум правильно array[i][l], а не array[i,l]
0
0 / 0 / 1
Регистрация: 10.03.2013
Сообщений: 15
08.10.2013, 01:01  [ТС]
Цитата Сообщение от gumi250 Посмотреть сообщение
Как минимум правильно array[i][l], а не array[i,l]
Спасибо большое. Невнимательность и паскаль..

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

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

исправила..запустила программу, а оно потом зациклило..
стрелочка указывает на строку
[I]cout<<array[j]<<' ';
0
 Аватар для gumi250
435 / 402 / 57
Регистрация: 06.02.2012
Сообщений: 1,384
08.10.2013, 01:02
Цитата Сообщение от Lilitanna Посмотреть сообщение
Можете, пожалуйста, подсказать что тут не так с выводом?
Увы, никогда не писал под консоль.
Но у вас тут явная проблема со скобками {}
0
0 / 0 / 1
Регистрация: 10.03.2013
Сообщений: 15
08.10.2013, 01:03  [ТС]
Цитата Сообщение от gumi250 Посмотреть сообщение
Увы, никогда не писал под консоль.
Но у вас тут явная проблема со скобками {}
Скобки я уже исправила..
Спасибо вам большое за помощь, буду разбираться с выводом.
0
 Аватар для gumi250
435 / 402 / 57
Регистрация: 06.02.2012
Сообщений: 1,384
08.10.2013, 01:05
Вот ваш код с отступами, чтобы наглядней была проблема скобок
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
0 / 0 / 1
Регистрация: 10.03.2013
Сообщений: 15
09.10.2013, 01:12  [ТС]
Исправленная, правильно работающая программа:

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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.10.2013, 01:12
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru