• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Массивы

  • Автор темы svetapelsin
  • Дата начала
S

svetapelsin

Вот такое задание:
Дана матрица B (4;4).
1)Найти сумму отрицательных элементов на побочной диагонали матрицы B.
2)Найти минимальный элемент 3-го столбца матрицы B.
3)Поменять местами найденный минимальный элемент и значение 3-го элемента в 4-ой строке.
Я написала код, но матрица выводится хрен пойми как. Подскажите пожалуйста где здесь я налажала!

C++:
#include<iostream>
#include<math.h>
#include<iomanip>
#include<conio.h>
using namespace std;
int main()
{double B[4][4];
double min, sum;
int i, j;
for (i=0; i<4; i++)
{for (j=0; j<4; j++)
{cout<<"enter element ["<<i<<"]["<<j<<"]"<<endl;
cin>>B[i][j];}}
cout<<"array B"<<endl;
for (i=0; i<4; i++)
{for (j=0; j<4; j++)
{cout<<setw(10)<<B[i][j]<<'\t';}}
cout<<endl;

int id, jd;
sum=0;
for (i=0; i<4; i++)
{id=0; jd=3;
if(B[i][3-i]<0)
{sum=sum+B[i][3-i];}}
cout<<"summa="<<sum<<endl;

int imin, jmin;
imin=0; jmin=2;
for (i=0; i<4; i++)
{min=B[0][2];
if(B[i][2]<min)
{min=B[i][2];
imin=i; jmin=2;}}
cout<<"min="<<min<<"imin="<<imin<<"jmin="<<jmin<<endl;

B[3][2]=min;
B[imin][jmin]=B[3][2];
cout<<"new array B"<<endl;
for (i=0; i<4; i++)
{for (j=0; j<4; j++)
cout<<setw(10)<<B[i][j]<<'\t';}
getch();
return 0;}
 
L

lazybiz

какой из трех пунктов работает не так?
или если я что-то понял не так, то при чем тут 3 задания если тебе надо всего лишь правильно вывести матрицу?
 
S

Sandra

Тебе обязательно надо двумерный массив?? проще одномерным сделать
 
W

Whatka

Sandra конечно же проще о чём речь

записать элементы матрицы(а сказано что дана именно матрица)в последовательность(массив)

ну и найти там диагональ
1 4 -7 9 4 -6 7 1 -5 6 -7 9 3 0 3 -8 интересно где здесь диагональ??
 
W

Whatka

просто когда выводишь матрицу перед вторым циклом поставь переход нановую строку

C++:
for(...)
{
cout<<endl;
for(...)
{...}
}
 
R

rrrFer

1 4 -7 9 4 -6 7 1 -5 6 -7 9 3 0 3 -8 интересно где здесь диагональ??
Иногда таки используют одномерный вместо двумерного
размерность одномерного N*M, обход и вывод как то так:
Код:
n = N * M;
for( i = 0; i < n; i ++ ) {
if( 0 == i % M ) {
std ::cout << std ::endl;
continue;
}
std ::cout << a[ i ] << " ";
}
не проверял, могут быть опечатки.

Хотя невкурсе зачем так делать...
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!