Я написал код для создания двух случайных чисел с заданным диапазоном. Я хочу написать выходной результат (два случайных числа). В файле сценария, я хочу, чтобы написать вывод в одной строке для каждой итерации, как мой ожидаемый результатКак написать вывод в текстовый файл в C++ по сценарию
Мой выходной ток
1 0
1 0
2 1
2 3
0 0 //output of second iteration
1 1
2 2
1 3
Мой ожидаемый результат
1 0 0 0
1 0 1 1
2 1 2 2
2 3 1 3
Это мой полный код
#include <iostream>
#include <stdlib.h>
#include <fstream>
#include <time.h> /* time */
#define random(x) (rand()%x)
int main(int argc, char **argv) {
unsigned int time_ui = static_cast<unsigned int>(time(NULL));
srand(time_ui);
int number1;
int number2;
int range=atoi(argv[1]);
number1 = random(range);
number2 = random(range);
//std::cout<< number1 << "\t" <<number2;
std::ofstream myfile;
myfile.open ("report.txt", std::ios::app);
myfile << number1 << "\t" <<number2<<'\n';
myfile.close();
return 0;
}
Мой файл скрипт
#!/bin/bash
a=1
iter=0
for ((iter; iter <= 1; iter++))
do
a=1
while [ $a -lt 4]
do
./random_num $a
a=`expr $a + 1`
done
done
Любая специальная причина, по которой вы хотите как C++-программу, так и сценарий оболочки? Почему бы не переместить цикл из сценария оболочки в C++? Таким образом, вы можете сохранить значения в памяти и писать только после всех прогонов. – Robert
Причина в том, что я могу вызвать random_num кодом вместо использования терминала – Jame
Ваш опубликованный код не соответствует опубликованному выводу. 1. Код C++ записывается в файл, а не в стандартный вывод. 2. Скрипт имеет синтаксическую ошибку и вызывает «random_num» всего три раза за внешнюю итерацию. Удалите эти несоответствия. – Armali