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

числовая последовательность - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как записать данные в файл русским языком? [VS2008] http://www.cyberforum.ru/cpp-beginners/thread773943.html
я использовал в предыдущей теме вот такие методы: SetConsoleCP(1251); SetConsoleOutputCP(1251); Я не очень правильно понял, как использовать. Но я поэкспериментировал и у меня получилось так, что вот я записываю файл, записывается русским языком а выводится в консоль в каракулями и или наоборот. Я вот лично запутался, может кто поможет как правильно использовать? Скажу так. если...
C++ Собственная реализация стека. Критика Покритикуйте пожалуйста реализацию. Самому мне не очень нравится момент с завершением работы программы в catch блоке, но не знаю как обойти возврат мусора в функции, возвращающей T&. Ведь данные могут быть и обработаны какой-нибудь другой функцией, принимающей результат работы в качестве аргумента. Но если этого нет, то, в принципе, программа остается дееспособной. Stack.h #ifndef _STACK_H_... http://www.cyberforum.ru/cpp-beginners/thread773933.html
C++ Посоветуйте компилятор для C++
Пользуюсь VS 2008 express,но с ним возникли проблемы при использовании чтении данных из файлов,может руки кривые и не знаю,как кодировку настроить правильно,если объясните,то буду благодарен,ну а так качаю eclipse,может с ним такой беды не будет,ну или посоветуйте чего ещё,у меня XP
C++ Ввод/вывод баг или нет?
#include <iostream> #include <iterator> #include <string> using namespace std; ostream_iterator<string> oo(cout); istream_iterator<string> ii(cin); int main() {
C++ Кривое считывание с файла http://www.cyberforum.ru/cpp-beginners/thread773881.html
#include <iostream> #include <fstream> #include <string> #include <locale.h> using namespace std; #include <windows.h> int main() { setlocale(LC_ALL,"Russian"); string str="Vremya-velikiy ychitel,no,yvi, ono ybivaet svoih ychenikov. Berlioz";
C++ Коменты Может кто написать коменты на каждую строку? #include <iostream> #include <vector> using namespace std; void printy (int a,int b) { for (int i=0; i<b+1; i++) { cout << a << ' '; подробнее

Показать сообщение отдельно
Starscream
 Аватар для Starscream
55 / 43 / 2
Регистрация: 04.11.2012
Сообщений: 106
29.01.2013, 01:17     числовая последовательность
Добавлено через 32 минуты
Цитата Сообщение от Oleg5 Посмотреть сообщение
Задание 1. Длина последовательности целых чисел – случайное число от 10 до 30. Последовательность генерируется случайным образом или вводится с клавиатуры по желанию пользователя. Обработать эту последовательность без использования массива в соответствии с номером варианта. При вводе или генерации последовательность записать в файл Input.txt (первая компонента файла – количество элементов последовательности, остальные компоненты представляют собой элементы последовательности).
Цитата Сообщение от Oleg5 Посмотреть сообщение
Условия задания 1:
Найти среднее арифметическое положительных элементов данной последовательности
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
#include <iostream>
#include <fstream>
#include <Windows.h>
#include <time.h>
 
using namespace std;
void main()
{
    setlocale(0,"Russian"); srand(time(NULL));
    ofstream input("Input.txt");
    int size = 10 + rand() % 20;
    int Sum = 0 , Positive_Container = 0;
 
    char Choise;
    cout << "1 - Заполнить последовательность вручную " << endl;
    cout << "2 - Заполнить последовательность случайными числами " << endl;
    cout << " --> Ваш выбор : ";
    cin >> Choise;
 
//---------------------------------------------------------------------------------------------------------------------//
 
    if(Choise == '1')
    {
        system("cls");
        int Buffer;
        input << size << endl;
        for(int i = 0 ; i <= size - 1 ; i++)
        {
            cout << " Введите [" << i + 1 << "] элемент последовательности : ";
            cin >> Buffer;
 
            if(Buffer > 0)
            {
                Sum = Sum + Buffer;
                Positive_Container++;
            }
 
            input << Buffer << '|';
        }
    }
 
    if(Choise == '2')
    {
        system("cls");
        int Buffer;
        input << size << endl;
        for(int i = 0 ; i <= size - 1 ; i++)
        {
            Buffer = (-50) + rand() % 100 ;
            cout << " Элемент [" << i + 1 << "] = " << Buffer << endl;
 
            if(Buffer > 0)
            {
                Sum = Sum + Buffer;
                Positive_Container++;
            }
 
            input << Buffer << '|';
        }
    }
 
    if(Choise != '1' && Choise != '2')
    {
        MessageBox(0 , "Вводить можно только 1 или 2 ! " , "" , MB_OK | MB_ICONEXCLAMATION);    
        exit(1);
    }
 
//---------------------------------------------------------------------------------------------------------------------//
 
    cout << " Среднее арифметическое положительных элементов данной последовательности = " << Sum / Positive_Container <<  endl;
 
 
 
 
    MessageBox(0 , "Конец программы " , "Exit" , MB_OK | MB_ICONEXCLAMATION);
}
Добавлено через 56 минут
Вот попытка сделать вторую задачу
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
#include <iostream>
#include <fstream>
#include <Windows.h>
 
using namespace std;
void 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 LeftFriend[3];
        char RigthFriend[3];
        char Value[3];
 
        int iValue = 0;
        int SumFriend = 0;
        int iLeftFriend = 0;
        int iRigthFriend = 0;
 
        for(int j = 0 ; ; j++)
        {
            char Buffer = in_file.get();
            if(Buffer == '|')
                break ;
            else
                LeftFriend[j--] = Buffer;
        }
 
        iLeftFriend = atof(LeftFriend);
 
        for(int j = 0 ; ; j++)
        {
            char Buffer = in_file.get();
            if(Buffer == '|')
            {
                Value[j++] = '\0';
                break;
            }
            else
                Value[j] = Buffer;
        }
 
        iValue = atof(Value);
        cout << iValue << endl;
        for(int j = 0 ; ; j++)
        {
            char Buffer = in_file.get();
            if(Buffer == '|')
                break;
            else
                RigthFriend[j] = Buffer;
        }
 
        iRigthFriend = atof(RigthFriend);
 
        SumFriend = iLeftFriend + iRigthFriend;
        if(iValue < SumFriend)
            out_file << iValue << '|';
 
        //cout << iValue << " меньше суммы своих соседей " << endl;
    }
 
    MessageBox(0 , "Конец программы " , "Exit" , MB_OK | MB_ICONEXCLAMATION);
}
 
Текущее время: 23:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru