Есть такая задача: сгенерировать матрицу NxN случайными числами, найти в каждом столбце полученной матрицы максимум, из выборки максимумов найти минимум. Поначалу пришло такое, вроде как, простое решение:
#include <iostream>
#include <fstream>
#include <iomanip>
#include <conio.h>
#define N 6
#define RAND() rand() % 100 // [0;99]
#define SIZE setw(4)
using namespace std;
ofstream fout("result.txt");
void print(const char* str)
{
cout << str;
fout << str;
}
void print(int number)
{
cout << SIZE << number;
fout << SIZE << number;
}
int main(int argc, char** argv)
{
srand(time(NULL));
setlocale(LC_ALL, "Russian");
int d2arr[N+1][N]; // доп строка для максимумов столбцов
int min = 100;
for (int i = 0; i < N; i++)
d2arr[N][i] = -1;
print("Вывод сгененированной матрицы:\n");
for (int i = 0; i < N; i++)
{
for (int j = 0; j < N; j++)
{
d2arr[i][j] = RAND();
if (d2arr[i][j] > d2arr[N][j])
d2arr[N][j] = d2arr[i][j];
print(d2arr[i][j]);
}
print("\n");
}
print("\nВывод максимумов для столбцов:\n");
for (int i = 0; i < N; i++)
{
if (d2arr[N][i] < min)
min = d2arr[N][i];
print(d2arr[N][i]);
}
print("\n\nМинимум из выборки:");
print(min);
fout.close();
_getch();
return 0;
}
однако хотелось бы оптимизировать программу и избавиться от второго цикла, идея такая (псевдо):
int min = 100, max=-1;
int d2arr[N][N];
for (int i = 0; i < N; i++)
{
for (int j = 0; j < N; j++)
{
d2arr[j][i] = RAND(); // генерируем по столбцам
if (d2arr[j][i] > max)
max = d2arr[j][i];
print(d2arr[j][i]);
}
if (max < min) min = max;
print("\n");
}
Собственно проблема: как выводить сразу же такие данные? Допустим я выведу первый столбец, перенося строку после каждого элемента. Как вернуться к началу консоли? Желательно без консольхендлей и SetConsoleCursorPosition, а с использованием чего-то попроще (простая универовская лаба, просто интересно сделать по-другому).
P.S.: в программе используется fstream, и там должно выводиться тоже самое.
OS винда, Visual studio
По поводу вывода: нативными средствами возврата на строку назад добиться нельзя... Но, есть библиотеки, которые позволяют организовать подобный вывод в консоли. Я говорю об ncurses (она также компилируется под windows, но с этим могут возникнуть проблема, так что в этом случае используйте pdcurses - api тоже самое, за исключением редких моментов)
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Написал муравья ленгтона на c++, для визуализации использовал функции winapiМуравей ходит нормально ровно до того момента когда он должен начать...
Рекомендуемая литература и документация по знаниям и навыкам разработки, не привязанным к конкретным языкам и платформам
Подскажите, пожалуйста, отрисовывает ли SFML то, что находится за пределами используемого вида?