Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Лерой
1 / 1 / 0
Регистрация: 22.12.2012
Сообщений: 26
1

Запись в файл. После прохода программы содержимое файла не то, что нужно

17.11.2014, 18:46. Просмотров 821. Ответов 7
Метки нет (Все метки)

Подскажите пожалуйста в чем ошибка, мне нужно, чтобы данные, которые выводятся на экран записывались в файл, но после прохода программы в файле записано не то, что нужно.


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <conio.h>
#include <iostream.h>
#include <fstream.h>
void main()
{
   int a1[10], a2[10], a3[10];
a1[0]=a2[0]=a3[0]=1;
a1[1]=a2[1]=a3[1]=2;
a1[2]=a2[2]=a3[2]=3;
a1[3]=a2[3]=a3[3]=4;
a1[4]=a2[4]=a3[4]=5;
a1[5]=a2[5]=a3[5]=6;
a1[6]=a2[6]=a3[6]=7;
a1[7]=a2[7]=a3[7]=8;
a1[8]=a2[8]=a3[8]=9;
a1[9]=a2[9]=a3[9]=10;
ofstream f;
f.open("a.txt");
 
   int i,j,l,k=0;
 
 for (i=0; i<11; i++)
     for (j=0; j<11; j++)
         for (l=0; l<11; l++)
 
         if((a1[i]+a2[j]+a3[l])==21)
         { cout<<"  "<<a1[i]<<"  "<<a2[j]<<"  "<<a3[l]<<endl;
          k++;
          f<<a1[i]<<'  '<<a2[j]<<'  '<<a3[l]<<endl;
          }
          f.close();
          cout<<"kolichestvo ="<<k;
 getch();
 
       }



содержимое файла

1822410822410
282249822410
282241082249
382248822410
38224982249
382241082248
482247822410
48224882249
48224982248
482241082247
582246822410
58224782249
58224882248
58224982247
582241082246
682245822410
68224682249
68224782248
68224882247
68224982246
682241082245
782244822410
78224582249
78224682248
78224782247
78224882246
78224982245
782241082244
882243822410
88224482249
88224582248
88224682247
88224782246
88224882245
88224982244
882241082243
982242822410
98224382249
98224482248
98224582247
98224682246
98224782245
98224882244
98224982243
982241082242
1082241822410
108224282249
108224382248
108224482247
108224582246
108224682245
108224782244
108224882243
108224982242
1082241082241
1082241082241
1082241822410
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.11.2014, 18:46
Ответы с готовыми решениями:

Нужно скопировать все содержимое одного файла (не текстового) F1 и вставить в файл F2 с добавлением
Нужна помощь - я еще новичок.. Нужно скопировать все содержимое одного файла (не текстового) F1 и...

После прохода всех исключений компилятор пишет что переменные не объявлены
Пишу на С# но соль не в этом static void Uravn() { string a,b,c; int flag=0;...

Нужно создать файл в который будут записываться данные с таймера, а после закрытия программы файл должен удаляться
Нужно создать временный файл, который программа сможет создавать сама на любом другом компьютере,...

Доработка программы, нужно что бы после того как юзер введет вместо числа что то другое вылезала ошибка
#include &lt;stdio.h&gt; #include &lt;windows.h&gt; int main(void) { SetConsoleOutputCP(1251); ...

Ошибка открытия файла после сортировки: Удалось открыть файл, восстановив или удалив нечитаемое содержимое
Всем привет! Делаю на листе Excel сортировку через VBA, всё ок, закрываю файл. Открываю снова...

7
nmcf
6527 / 5751 / 2621
Регистрация: 14.04.2014
Сообщений: 24,493
17.11.2014, 18:57 2
Циклы должны быть с условием < 10
А на экран что выводит?
0
Лерой
1 / 1 / 0
Регистрация: 22.12.2012
Сообщений: 26
18.11.2014, 14:35  [ТС] 3
вывод на экран:
1 10 10
2 9 10
2 10 9
и т.д. до
10 1 10

все числа в комбинации дают 21

количество= 57
0
mss307
118 / 118 / 41
Регистрация: 14.12.2013
Сообщений: 352
18.11.2014, 15:12 4
Лерой, ты вводишь в файл целочисленные значения, а надо как минимум char.

Добавлено через 2 минуты
можно, к примеру, так:
C++
1
2
3
4
5
6
7
8
          if((a1[i]+a2[j]+a3[l])==21)
          { cout<<"  "<<a1[i]<<"  "<<a2[j]<<"  "<<a3[l]<<endl;
           k++;
                      char* str;
           f << itoa(a1[i], str, 10) << " ";
           f << itoa(a2[j], str, 10) << " ";
           f << itoa(a3[l], str, 10) << endl;
           }
0
18.11.2014, 15:12
nmcf
6527 / 5751 / 2621
Регистрация: 14.04.2014
Сообщений: 24,493
18.11.2014, 16:57 5
Зачем их конвертировать? Поток это сам сделает. Вывод на экран же работает у него.
0
Ilot
Эксперт С++
1837 / 1194 / 343
Регистрация: 16.05.2013
Сообщений: 3,141
Записей в блоге: 5
Завершенные тесты: 1
18.11.2014, 17:07 6
Лучший ответ Сообщение было отмечено Лерой как решение

Решение

Лерой,
Внимательнее следует быть батенька у вас в строчке:
C++
1
f<<a1[i]<<' '<<a2[j]<<' '<<a3[l]<<endl;
двойные пробелы.
1
mss307
18.11.2014, 17:19
  #7

Не по теме:

nmcf, согласен, перегрелся.

0
Лерой
1 / 1 / 0
Регистрация: 22.12.2012
Сообщений: 26
18.11.2014, 20:09  [ТС] 8
Спасибо большое, в следующей раз буду внимательнее.
0
18.11.2014, 20:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.11.2014, 20:09

Запись байтов из файла программы (exe) в файл
Помогите пожалуйста надо сделать так чтобы байты брались из программы и записывались в конец или в...

Запись в файл на сервере. Записать то, что после слеша(/)
Есть сайт site.com. Если перейти site.com/some_text то в файл на сервере должно записаться...

Записать в текстовый файл содержимое Edit, и прочитать содержимое файла в Memo
Создать приложение которое создает текстовый файл текстовый файл text.txt записывает в него текст...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru