Форум программистов, компьютерный форум CyberForum.ru

последовательность и запись файлов - C++

Восстановить пароль Регистрация
 
Oleg5
0 / 0 / 0
Регистрация: 05.10.2012
Сообщений: 16
06.02.2013, 22:51     последовательность и запись файлов #1
Условия задания 1:
Найти среднее арифметическое положительных элементов данной последовательности.
Условия задания 2:
В выходную последовательность записать только те числа, которые меньше суммы своих соседей (если первое число меньше второго, записываем первое число; если второе число меньше суммы первого и третьего числа, записываем второе число, если последнее меньше предпоследнего, записываем последнее число)
Условия задания 3:
Найти максимальное чётное число и его порядковый номер, при отсутствии чётных чисел сообщить об этом

Задание 1. Длина последовательности целых чисел – случайное число от 10 до 30. Последовательность генерируется случайным образом или вводится с клавиатуры по желанию пользователя. Обработать эту последовательность без использования массива в соответствии с номером варианта. При вводе или генерации последовательность записать в файл Input.txt (первая компонента файла – количество элементов последовательности, остальные компоненты представляют собой элементы последовательности).
Задание 2. Из файла Input.txt, подготовленного в процессе выполнения Задания 1, вводится последовательность целых чисел известной длины (эта длина записана на первом месте в файле). Обработать эту последовательность без использования массива в соответствии с номером варианта. В процессе обработки записать результаты в файл Output.txt (все компоненты представляют собой элементы вновь получаемой последовательности).
Задание 3. Из файла Output.txt, подготовленного в процессе выполнения Задания 2, вводится последовательность целых чисел. Обработать эту последовательность без использования массива в соответствии с номером варианта. Результаты обработки вывести на экран.

если вам поможет то я набросал как в кумире но мне надо в С++:


сделано в кумире
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
использовать Файлы 
алг 
нач цел d, N, i, a, b, q, j, r, Мах, мах, f, S
если не существует файл ("Imput.txt")
то создать файл ("Imput.txt")
 
все
 
N:=int(rnd(30-10)+10)
вывод "длина последовательность", нс
вывод N
вывод "генерация  чисел- 1,ввод чисел - 2"
ввод i
если i=1
то
вывод "последовательность генерирует случайные числа", нс
вывод "Введите диапазон:", нс
вывод "a="
ввод a
вывод "b="
ввод b
если a>b
то j:=a
a:=b
b:=j
все
 
 
запись элементов (N, a, b)
иначе
вводэлементов (N)
все
вещ к;
 
к:=задание1 
вывод "среднего значение ", к, нс
S:=задание 3 ( i)
 
вывод "максимальное чётное число",S," и его порядковый номер =",i, нс
задание 2 
кон 
 
алг запись элементов (цел N, a, b)
нач цел r, i
открыть на запись ("Imput.txt", r)
нц N раз
i:= int(rnd(b-a)+a)
ф_вывод r, i, " "
кц
 
закрыть(r)
кон
 
 
алг вводэлементов ( цел N)
нач
цел r, i
открыть на запись ("Imput.txt", r)
нц N раз
вывод "введите число"
ввод i
ф_вывод r, i, " "
кц
 
закрыть(r)
кон
 
 
 
 
алг вещ задание1 
нач 
цел slag, i, d, f
вещ к=0
открыть на чтение ("Imput.txt", f)
i:=0
slag:=0
нц пока не конец файла (f)
ф_ввод f,d
если d>0
то i:= i+1
slag:= slag+d
 
все
кц
закрыть (f) 
если i>0
то 
к:= slag/i
иначе
вывод " нет положительных элементов " , нс
все
знач:=к
кон
 
алг задание 2 
нач
цел r, i, а1, а2, а3, х, ж, в,  с
если не существует файл ("Output.txt")
то создать файл("Output.txt")
все
открыть на чтение ("Imput.txt", r)
открыть на запись  ("Output.txt")
ф_ввод r, а2
ф_ввод r, а1
 
если а1<а2
то ф_вывод ж, а1, " "
все
 
нц пока не конец файла (r)
 
ф_ввод r,а3
 
 
если а2<а1+а3
то ф_вывод ж, а2, " "
все
а1:=а2
а2:=а3
кц
если а1>а2
то ф_вывод ж, а2, " " 
 
все
 
закрыть (r)
закрыть (ж)
 
кон
 
алг цел задание 3 (рез цел мах)
нач 
цел slag, i, d, S, а
вещ л=0
цел Мах
Мах:=-1
открыть на чтение ("Output.txt",S)
i:=0
нц пока не конец файла (S) и Мах=-1
ф_ввод  S, а
i:=i+1
если mod(а, 2)= 0
то 
Мах:=а
мах:=i
все
кц
нц пока не конец файла (S)
i:= i+1
ф_ввод S, а
если а>Мах и mod(а, 2)= 0
то
Мах:=а
мах:=i
 
все
кц
закрыть (S)
 
 
кон



что смог сделать в с++ но здесь много ошибки плиз изправте
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
#include <iostream>
#include <fstream>
#include <Windows.h>
#include <time.h>
 
using namespace std;
int main()
{
    setlocale(0,"Russian"); 
    srand((unsigned) time(NULL));
    int size = 10 + rand() % 21;
    cout << " последовательность состоит  из  " << size << " чисел " << endl;
    char Choise;
    cout << "1 - Заполнить последовательность вручную " << endl;
    cout << "2 - Заполнить последовательность случайными числами " << endl;
    cout << " --> Мой выбор : ";
    cin >> Choise;
    ofstream input("Input.txt");
    {
        // ручной ввод
   for (int i=1;i<=size; i++)
   {
        int temp = rand() % 101 - 150;
        input<<temp<<endl;
        if(Choise != '1' && Choise != '2');
    }
    
    {
        // случайно
        for(int i=1; i<=size; i++)
        {
            int temp = rand() % 101 - 150;
            input<<temp<<endl;
        }
 
        
 
//задание 1
using namespace std;
 main()
 {
    setlocale(0,"Russian");
    ifstream in_file("Input.txt");
    ofstream out_file("Output.txt");
    {
        system("cls");
        int temp,Sum;
        input << size << endl;
        for(int i = 0 ; i <= size - 1 ; i++)
        {
            cout << " Введите [" << i + 1 << "] элемент последовательности : ";
            cin >> temp;
 
            if(temp > 0)
            {
 
                i=i+1;
                Sum = Sum + temp;
                i++;
            }
 
            input << temp << '|';
        }
 
   //задание 2
 
using namespace std;
 main();
{
    setlocale(0,"Russian");
    ifstream in_file("Input.txt");
    ofstream out_file("Output.txt");
     char size[2];
     for(int i = 0 ; i <= 1 ; i++)
        size[i] = in_file.get();
    int iSize = atof(size);
    in_file.close(); in_file.open("Input.txt");
 
    for(int i = 1 ; i <= iSize / 3 ; i++)
    {
        char d[3];
        char du[3];
        char de[3];
 
        int ide = 0;
        int g = 0;
        int id = 0;
        int idu = 0;
 
        for(int j = 0 ; ; j++)
{
            char temp = in_file.get();
            if(temp == '|')
                break ;
            else
                d[j--] = temp;
        }
 
       id = atof(d);
 
        for(int j = 0 ; ; j++)
        {
            char temp = in_file.get();
            if(temp == '|')
            {
                de[j++] = '\0';
                break;
            }
            else
               de[j] = temp;
        }
 
        ide = atof(de);
        cout << ide << endl;
        for(int j = 0 ; ; j++)
        {
            char temp = in_file.get();
            if(temp == '|')
                break;
            else
                du[j] = temp;
        }
 
        idu = atof(du);
 
        g = id + idu;
        if(ide < g)
            out_file << ide << '|';
 
        //cout << ide << " меньше суммы своих соседей " << endl;
    }
 
 
    {
    input.close();
    system("pause");
    return 0;
}
 
 // задание 3
using namespace std;
 main();
  setlocale(0,"Russian");
    ifstream in_file("Input.txt");
    ofstream out_file("Output.txt");
 {
     int max,i;
    float k=0;
    max=-1;
    i=0
i=i+1
else mod(a, 2)=0;
    max=a;
        max=i;
        i=i+1
            else a>ma[ b nod(a, 2) =0
            max=a;
            мах=i;
 }
{
    input.close();
    system("pause");
    return 0;
}
не знаю как записывать файлы и закрывать, записывать файлы с буквами как было сделано в кумире буквами обратите внимание как сделанно в кумире, но мне надо в с++ плизззз помогите чем сможете
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.02.2013, 22:51     последовательность и запись файлов
Посмотрите здесь:

Чтение\запись файлов C++
C++ вывод и запись файлов
C++ чтение/запись файлов
Запись бинарных файлов C++
C++ Запись и чтение двоичных файлов
Найти все натуральные числа <= n, десятичная запись которых - строго упорядоченная последовательность C++
Считывание и запись .bmp файлов C++
Хранение и запись файлов C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 20:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru