Помогите пожалуйста.
Записать в файл матрицу mr(5,2) поэлементно за строками. Прочитать ее из файла и вывести на экран. Вычислить сумму элементов каждого столбика.
Другие языки программирования и технологии
Вычислить сумму элементов каждого столбика. С++
#include <iostream>
#include <fstream>
#include <string>
#include <tuple>
#include <iomanip>
using namespace std;
using meta_t = tuple<int*, int*, string>;
bool save(const meta_t& meta) {
auto result = true;
auto[beg, end, path] = meta;
ofstream file(path);
if (file.is_open()) {
auto next = beg;
do file << *next << ' '; while (++next != end);
file.close();
} else result = false;
return result;
}
bool load(meta_t& meta) {
auto result = true;
auto&[beg, end, path] = meta;
ifstream file(path);
if (file.is_open()) {
auto next = beg;
while (file >> *next) if (++next == end) break;
file.close();
} else result = false;
return result;
}
int main() {
const auto path = "my_matrix.txt"s;
const auto err = "File no found!"s;
const size_t rows = 5;
const size_t cols = 2;
int matrix[rows][cols] = { { 3, 7 }, { 4, 4 }, { 2, 8 }, { 3, 1 }, { 9, 5 } };
const auto beg = &matrix[0][0];
const auto end = beg + rows * cols;
const auto meta = make_tuple(beg, end, path);
if (save(meta)) {
int box[rows][cols];
const auto b = &box[0][0];
const auto e = beg + rows * cols;
auto m = make_tuple(b, e, path);
if (load(m)) {
for (const auto &row : box) {
for (const auto value : row) cout << setw(4) << value;
cout.put('\n');
}
int sum[cols] = { 0 };
for (size_t i = 0; i < cols; ++i) for (size_t j = 0; j < rows; ++j) sum[i] += box[j][i];
cout.put('\n');
for (const auto value : sum) cout << setw(4) << value;
cout.put('\n');
} else cout << "File no found!\n";
} else cout << "File not created!\n";
system("pause");
}
#include <fstream>
#include <string>
#include <tuple>
#include <iomanip>
using namespace std;
using meta_t = tuple<int*, int*, string>;
bool save(const meta_t& meta) {
auto result = true;
auto[beg, end, path] = meta;
ofstream file(path);
if (file.is_open()) {
auto next = beg;
do file << *next << ' '; while (++next != end);
file.close();
} else result = false;
return result;
}
bool load(meta_t& meta) {
auto result = true;
auto&[beg, end, path] = meta;
ifstream file(path);
if (file.is_open()) {
auto next = beg;
while (file >> *next) if (++next == end) break;
file.close();
} else result = false;
return result;
}
int main() {
const auto path = "my_matrix.txt"s;
const auto err = "File no found!"s;
const size_t rows = 5;
const size_t cols = 2;
int matrix[rows][cols] = { { 3, 7 }, { 4, 4 }, { 2, 8 }, { 3, 1 }, { 9, 5 } };
const auto beg = &matrix[0][0];
const auto end = beg + rows * cols;
const auto meta = make_tuple(beg, end, path);
if (save(meta)) {
int box[rows][cols];
const auto b = &box[0][0];
const auto e = beg + rows * cols;
auto m = make_tuple(b, e, path);
if (load(m)) {
for (const auto &row : box) {
for (const auto value : row) cout << setw(4) << value;
cout.put('\n');
}
int sum[cols] = { 0 };
for (size_t i = 0; i < cols; ++i) for (size_t j = 0; j < rows; ++j) sum[i] += box[j][i];
cout.put('\n');
for (const auto value : sum) cout << setw(4) << value;
cout.put('\n');
} else cout << "File no found!\n";
} else cout << "File not created!\n";
system("pause");
}
Ты используешь auto, из за этого и ошибки...
Юрий Крючков
на что заменить?
Похожие вопросы
- Вычислить сумму элементов массива, расположенных между первым и вторым отрицательными элементами - C++
- С++ Передать в функцию квадратную матрицу и вычислить сумму элементов на ее главной диагонали и вернуть эту сумму.
- C++ Нужно вычислить сумму элементов массива, расположенных между первым и последним отрицательными элементами.
- Паскаль, одномерн массив, вычислить сумму элементов массива, расположенных после последнего элемента, равного нулю. Спасибо)
- Вычислить сумму нечетных элементов в программа С++ .Через статический и динамический массив! Вот я сам написал проверьте
- помогите написаь программу в Turbo Basic : Вычислить и напечатать сумму элементов выше главной диагонали.
- Код assembler. Ввести массив из 10 чисел и вычислить сумму его элементов, меньших 10. Помогите, пжлст
- №1.Как вычислить произведение элементов массива(1..5)В Паскале=)))№2.Найти наименьший элемент в массиве!Тоже в Паскале)
- Pascal . Дан массив вещественных чисел. Найти сумму элементов, номера которых являются простыми числами
- Найти сумму элементов на языке программирования с++