Дан двумерный массив целых чисел a из n строк и m столбцов. Требуется в каждой строке заменить знак максимального по модулю элемента на противоположный. Если таких элементов несколько, требуется изменить все.
Формат входных данных
Первая строка входного файла содержит два натуральных числа n и m (n,m≤100) — количество строк и столбцов массива a соответственно. Следующие n строк содержат по m целых чисел aij (|aij|≤1000) — элементы массива a.
Формат выходных данных
Требуется вывести n строк по m чисел, разделённых пробелом — изменённый массив.
Примеры
входные данные выходные данные
3 3
-1 -2 3
4 5 -6
7 -8 9
-1 -2 -3
4 5 6
7 -8 -9
Другие языки программирования и технологии
ПОМОГИТЕ ПОЖАЛУЙСТА СРОЧНО НАДО А ЯЗЫКЕ С++
#include <iostream>
#include <iomanip>
#include <string>
#include <fstream>
using namespace std;
pair<size_t, size_t> load(const string& path, int* box, const size_t lim) {
ifstream file(path);
if (file.is_open()) {
size_t n, m;
file >> n >> m;
if (n > lim || m > lim) exit(0);
for (size_t i = 0; i < n; ++i) {
const auto a = i * lim;
const auto b = m + i * lim;
for (auto j = a; j < b; ++j) file >> box[j];
}
file.close();
return { n, m };
}
return { 0, 0 };
}
int absmax(int* row, const size_t n) {
auto maxe = abs(row[0]);
for (size_t i = 1; i < n; ++i) {
const auto tmp = abs(row[i]);
if (maxe < tmp) maxe = tmp;
}
return maxe;
}
void replace(int* row, const size_t n) {
const auto am = absmax(row, n);
for (size_t i = 0; i < n; ++i) if (abs(row[i]) == am) row[i] = -row[i];
}
void print(const int* row, const size_t n, const streamsize w = 6) {
for (size_t i = 1; i < n; ++i) cout << setw(w) << row[i];
cout.put('\n');
}
int main() {
const size_t lim = 100;
int matrix[lim][lim];
auto[rows, cols] = load("matrix.txt", &matrix[0][0], lim);
for (size_t row = 0; row < rows; ++row) print(matrix[row], cols);
cout.put('\n');
for (size_t row = 0; row < rows; ++row) replace(matrix[row], cols);
for (size_t row = 0; row < rows; ++row) print(matrix[row], cols);
system("pause");
}
#include <iomanip>
#include <string>
#include <fstream>
using namespace std;
pair<size_t, size_t> load(const string& path, int* box, const size_t lim) {
ifstream file(path);
if (file.is_open()) {
size_t n, m;
file >> n >> m;
if (n > lim || m > lim) exit(0);
for (size_t i = 0; i < n; ++i) {
const auto a = i * lim;
const auto b = m + i * lim;
for (auto j = a; j < b; ++j) file >> box[j];
}
file.close();
return { n, m };
}
return { 0, 0 };
}
int absmax(int* row, const size_t n) {
auto maxe = abs(row[0]);
for (size_t i = 1; i < n; ++i) {
const auto tmp = abs(row[i]);
if (maxe < tmp) maxe = tmp;
}
return maxe;
}
void replace(int* row, const size_t n) {
const auto am = absmax(row, n);
for (size_t i = 0; i < n; ++i) if (abs(row[i]) == am) row[i] = -row[i];
}
void print(const int* row, const size_t n, const streamsize w = 6) {
for (size_t i = 1; i < n; ++i) cout << setw(w) << row[i];
cout.put('\n');
}
int main() {
const size_t lim = 100;
int matrix[lim][lim];
auto[rows, cols] = load("matrix.txt", &matrix[0][0], lim);
for (size_t row = 0; row < rows; ++row) print(matrix[row], cols);
cout.put('\n');
for (size_t row = 0; row < rows; ++row) replace(matrix[row], cols);
for (size_t row = 0; row < rows; ++row) print(matrix[row], cols);
system("pause");
}
Тима Шонин
Правильный ответ: https://otvet.mail.ru/answer/1912373197
ДА КАНЕШНА! С ЧЕМ ИМЕННО ПОМОЧЬ? ЧТО НЕПОНЯТНО? В ЧЕМ ЗАТРУДНЕНИЯ?
НИЧЕГО ЧТО ТАК МЕЛКО ПИШУ?
НИЧЕГО ЧТО ТАК МЕЛКО ПИШУ?
Калимулла Баймухамбетов
все не понятно, нужен код кр. я запуталсяяяяя!!!
Калимулла Баймухамбетов
помоги по братски пж
GuiCompactSettingsWindow::GuiCompactSettingsWindow(QWidget *parent, GuiBase::SplitType openmode)
: QDialog(parent),
session_list_model(NULL)
{
setModal(true);
openMode = openmode;
Config* cfg;
QPushButton *details = new QPushButton(tr("Details"));
connect(details, SIGNAL(clicked()), this, SLOT(on_details_clicked()));
QDialogButtonBox *btn_box = new QDialogButtonBox(QDialogButtonBox::Cancel);
btn_box->addButton(tr("Open"), QDialogButtonBox::AcceptRole);
connect(btn_box, SIGNAL(accepted()), this, SLOT(on_open_clicked()));
connect(btn_box, SIGNAL(rejected()), this, SLOT(on_close_clicked()));
connect(this, SIGNAL(rejected()), this, SLOT(on_close_clicked()));
cb_hostname = new QComboBox(this);
cb_hostname->setMinimumWidth(500);
QStringList completions;
for(auto it = qutty_mru_sesslist.mru_list.begin();
it != qutty_mru_sesslist.mru_list.end();
++it) {
if (it->second[0] == '\0')
continue;
// in 'hostname|sessname' format
completions << it->second + "|" + it->first;
}
hostname_completer = new QtCompleterWithAdvancedCompletion(cb_hostname);
hostname_completer->setModel(completions);
hostname_completer->popup()->setItemDelegate(new QtHostNameCompleterItemDelegate);
connect(hostname_completer, SIGNAL(activated(QString)), this, SLOT(on_hostname_completion_activated(QString)));
cb_hostname->setItemDelegate(new QtHostNameCompleterItemDelegate);
connect(cb_hostname, SIGNAL(activated(QString)), SLOT(on_cb_hostname_activated(QString)));
cb_session_list = new QtComboBoxWithTreeView(this);
cb_session_list->setItemDelegate(new QtSessionTreeItemDelegate);
session_list_model = new QtSessionTreeModel(this, qutty_config.config_list);
cb_session_list->setModel(session_list_model);
cb_session_list->setMaxVisibleItems(25);
cb_connection_type = new QComboBox(this);
cb_connection_type->setMaximumWidth(100);
cb_connection_type->addItem("Telnet");
cb_connection_type->addItem("SSH");
if (qutty_mru_sesslist.mru_list.size() > 0 &&
qutty_config.config_list.find(qutty_mru_sesslist.mru_list[0].first) != qutty_config.config_list.end() &&
!completions.isEmpty()) {
QString sessname = qutty_mru_sesslist.mru_list[0].first;
on_hostname_completion_activated(completions.at(0));
setConnectionType(qutty_config.config_list[sessname].protocol);
} else if(qutty_config.config_list.find(QUTTY_DEFAULT_CONFIG_SETTINGS) != qutty_config.config_list.end())
{
cfg = &qutty_config.config_list[QUTTY_DEFAULT_CONFIG_SETTINGS];
cb_session_list->setCurrentIndex(cb_session_list->findText(QUTTY_DEFAULT_CONFIG_SETTINGS));
hostname_completer->setText(QString(cfg->host));
setConnectionType(cfg->protocol);
}
connect(cb_session_list, SIGNAL(activated(int)), this, SLOT(on_cb_session_list_activated(int)));
QGridLayout *layout = new QGridLayout(this);
layout->addWidget(new QLabel("Hostname : ", this));
layout->addWidget(cb_hostname);
layout->addWidget(new QLabel("Session profiles : ", this));
layout->addWidget(cb_session_list);
layout->addWidget(new QLabel("Connection type : ", this));
layout->addWidget(cb_connection_type);
QHBoxLayout *hlayout = new QHBoxLayout();
hlayout->addWidget(details);
hlayout->addWidget(btn_box, 1);
layout->addLayout(hlayout, 10, 0, 1, 1);
setLayout(layout);
// select the hostname text
cb_hostname->lineEdit()->selectAll();
cb_hostname->lineEdit()->setFocus();
}
void GuiCompactSettingsWindow::on_close_clicked()
{
emit signal_on_close();
this->close();
this->deleteLater();
}
: QDialog(parent),
session_list_model(NULL)
{
setModal(true);
openMode = openmode;
Config* cfg;
QPushButton *details = new QPushButton(tr("Details"));
connect(details, SIGNAL(clicked()), this, SLOT(on_details_clicked()));
QDialogButtonBox *btn_box = new QDialogButtonBox(QDialogButtonBox::Cancel);
btn_box->addButton(tr("Open"), QDialogButtonBox::AcceptRole);
connect(btn_box, SIGNAL(accepted()), this, SLOT(on_open_clicked()));
connect(btn_box, SIGNAL(rejected()), this, SLOT(on_close_clicked()));
connect(this, SIGNAL(rejected()), this, SLOT(on_close_clicked()));
cb_hostname = new QComboBox(this);
cb_hostname->setMinimumWidth(500);
QStringList completions;
for(auto it = qutty_mru_sesslist.mru_list.begin();
it != qutty_mru_sesslist.mru_list.end();
++it) {
if (it->second[0] == '\0')
continue;
// in 'hostname|sessname' format
completions << it->second + "|" + it->first;
}
hostname_completer = new QtCompleterWithAdvancedCompletion(cb_hostname);
hostname_completer->setModel(completions);
hostname_completer->popup()->setItemDelegate(new QtHostNameCompleterItemDelegate);
connect(hostname_completer, SIGNAL(activated(QString)), this, SLOT(on_hostname_completion_activated(QString)));
cb_hostname->setItemDelegate(new QtHostNameCompleterItemDelegate);
connect(cb_hostname, SIGNAL(activated(QString)), SLOT(on_cb_hostname_activated(QString)));
cb_session_list = new QtComboBoxWithTreeView(this);
cb_session_list->setItemDelegate(new QtSessionTreeItemDelegate);
session_list_model = new QtSessionTreeModel(this, qutty_config.config_list);
cb_session_list->setModel(session_list_model);
cb_session_list->setMaxVisibleItems(25);
cb_connection_type = new QComboBox(this);
cb_connection_type->setMaximumWidth(100);
cb_connection_type->addItem("Telnet");
cb_connection_type->addItem("SSH");
if (qutty_mru_sesslist.mru_list.size() > 0 &&
qutty_config.config_list.find(qutty_mru_sesslist.mru_list[0].first) != qutty_config.config_list.end() &&
!completions.isEmpty()) {
QString sessname = qutty_mru_sesslist.mru_list[0].first;
on_hostname_completion_activated(completions.at(0));
setConnectionType(qutty_config.config_list[sessname].protocol);
} else if(qutty_config.config_list.find(QUTTY_DEFAULT_CONFIG_SETTINGS) != qutty_config.config_list.end())
{
cfg = &qutty_config.config_list[QUTTY_DEFAULT_CONFIG_SETTINGS];
cb_session_list->setCurrentIndex(cb_session_list->findText(QUTTY_DEFAULT_CONFIG_SETTINGS));
hostname_completer->setText(QString(cfg->host));
setConnectionType(cfg->protocol);
}
connect(cb_session_list, SIGNAL(activated(int)), this, SLOT(on_cb_session_list_activated(int)));
QGridLayout *layout = new QGridLayout(this);
layout->addWidget(new QLabel("Hostname : ", this));
layout->addWidget(cb_hostname);
layout->addWidget(new QLabel("Session profiles : ", this));
layout->addWidget(cb_session_list);
layout->addWidget(new QLabel("Connection type : ", this));
layout->addWidget(cb_connection_type);
QHBoxLayout *hlayout = new QHBoxLayout();
hlayout->addWidget(details);
hlayout->addWidget(btn_box, 1);
layout->addLayout(hlayout, 10, 0, 1, 1);
setLayout(layout);
// select the hostname text
cb_hostname->lineEdit()->selectAll();
cb_hostname->lineEdit()->setFocus();
}
void GuiCompactSettingsWindow::on_close_clicked()
{
emit signal_on_close();
this->close();
this->deleteLater();
}
Похожие вопросы
- Задали по украинскому языку написать целый лист А4 "просторічних слів" помогите пожалуйста срочно!!!!
- Помогите пожалуйста срочно!
- Помогите пожалуйста написать программу на языке программирования AssemblerКто первый поможет сделать правильно10балов+50
- Помогите пожалуйста СРОЧНО, проблема с переустановкой windows7
- Помогите, пожалуйста, написать программу на языке Си
- Всем привет! Помогите, пожалуйста, разобраться с алгоритмическим языком (псевдокодом)
- помогите пожалуйста срочно надо
- плиииииииз помогите пожалуйста, срочно. . Написать скрипт, выполняющий архивацию файлов и каталогов..
- Помогите пожалуйста! Срочно нужно! Весь интернет прошарила.
- Помогите, пожалуйста, срочно надо (С#).