Поэтому я читаю данные из текстового файла и помещаю его в массив. Мой код работает отлично и выводит данные, за исключением того, что вместо вывода таких данных, как
Q 5
он выводит это так
Q
5
Это часть более высокого значения, когда я помещаю все значения в очередь и сортирую их на основе численного значения, которое в приведенном выше примере будет 5. Но мне просто нужна помощь, пытаясь заставить данные выходить, как
Q 5
Вот мой код:
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
const int alphabet = 52;
char letter[alphabet];
int count = 0;
ifstream dataIn;
dataIn.open("CharInput.txt");
if (!dataIn)
{
cout << "Error opening data file\n";
}
else
{
while (count < alphabet && dataIn >> letter[count])
count++;
dataIn.close();
cout << "The letters and their position are: " << endl;
for (int stuff = 0; stuff < count; stuff++)
{
cout << letter[stuff] << endl;
}
}
system("PAUSE");
return 0;
}
Файл данных - это имена CharInput.txt и имеет:
26
Q 5
W 3
E 8
R 7
T 2
Y 9
U 0
I 9
O 6
P 1
A 2
S 2
D 4
F 3
G 6
H 9
J 8
K 0
L 3
Z 1
X 5
C 7
V 4
B 7
N 2
M 8
Данные выводятся в строках, потому что вы печатаете их, заканчивая на std::endl
, который по его имени заканчивает текущую строку.
Вместо этого используйте пробел между каждым элементом и его счетчиком:
for (int stuff = 0; stuff < count; stuff += 2)
{
cout << letter[stuff] << " " << letter[stuff + 1] << std::endl;
}
cout << endl;
каждая вторая итерация.