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

Библиотека <iostream> - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.69
Татьяна3
0 / 0 / 0
Регистрация: 19.09.2010
Сообщений: 42
07.11.2010, 20:52     Библиотека <iostream> #1
Помогите переделать программу с использованием функции <iostream>.Условие программы Даны: натуральное число n и целые числа : a(1),a(2),...a(n) . Не делая распределение всего масcива,найти 3-е наибольшее из этих чисел.Распределенте означает то,что ты поставил массив в убывающем порядке(7,5,3,1) и выбрал 3-е но так не разрешено сделать,нужно это обойти.
Вложения
Тип файла: doc 16.doc (24.5 Кб, 38 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.11.2010, 20:52     Библиотека <iostream>
Посмотрите здесь:

C++ iostream vs iostream.h
C++ <iostream.h>
библиотека iostream.h C++
C++ iostream.h
iostream.h C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
TBIKC
web dev
 Аватар для TBIKC
104 / 91 / 1
Регистрация: 23.09.2010
Сообщений: 738
07.11.2010, 20:54     Библиотека <iostream> #2
Цитата Сообщение от Татьяна3 Посмотреть сообщение
Помогите переделать программу с использованием функции <iostream>.Программа считает 3-е максимальное число из кол-ва введенных.
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
#include <iostream>
        #include <windows.h>
 
        using namespace std;
 
        int maximum (int, int, int); //прототип функции
        int main()
        {
                setlocale( LC_ALL,"Russian" );
                SetConsoleTitle(_T("Пример программы на C++"));
                int a, b, c;
                cout << "Введите три целых числа: ";
                cin >> a >> b >> c;
                cout << "Максимум равен " << maximum(a, b, c) << endl;
                return 0;
        }
        //определение функции maximum
        int maximum(int x, int y, int z)
        {
                int max = x;
 
                if (y > max)
                        max = y;
                if (z > max)
                        max = z;
                return max;
        }
Татьяна3
0 / 0 / 0
Регистрация: 19.09.2010
Сообщений: 42
07.11.2010, 20:58  [ТС]     Библиотека <iostream> #3
Цитата Сообщение от TBIKC Посмотреть сообщение
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
#include <iostream>
        #include <windows.h>
 
        using namespace std;
 
        int maximum (int, int, int); //прототип функции
        int main()
        {
                setlocale( LC_ALL,"Russian" );
                SetConsoleTitle(_T("Пример программы на C++"));
                int a, b, c;
                cout << "Введите три целых числа: ";
                cin >> a >> b >> c;
                cout << "Максимум равен " << maximum(a, b, c) << endl;
                return 0;
        }
        //определение функции maximum
        int maximum(int x, int y, int z)
        {
                int max = x;
 
                if (y > max)
                        max = y;
                if (z > max)
                        max = z;
                return max;
        }
Это не совсем то задание :Даны: натуральное число n и целые числа : a(1),a(2),...a(n) . Не делая распределение всего масcива,найти 3-е наибольшее из этих чисел.Распределенте означает то,что ты поставил массив в убывающем порядке(7,5,3,1) и выбрал 3-е но так не разрешено сделать,нужно это обойти
TBIKC
web dev
 Аватар для TBIKC
104 / 91 / 1
Регистрация: 23.09.2010
Сообщений: 738
07.11.2010, 21:04     Библиотека <iostream> #4
Может быть я что то не то написал ибо не видел документ нету офиса щас ...
Но вот такая реализация в книжке

А ясно ун тогда я не знаю как ) извини
bugaga1
4 / 4 / 2
Регистрация: 13.11.2009
Сообщений: 46
08.11.2010, 01:52     Библиотека <iostream> #5
обязательно переделывать то, что в ворде?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
 using namespace std;
 
 int main()
 {
     int a[10000], i,max_1,max_2,max_3,n=0;
     max_1=max_2=max_3=INT_MIN;
     while(cin>>a[n])
         n++;
     for(i=0; i<n; i++)
         if(a[i]>max_1) max_1=a[i];
     for(i=0; i<n; i++)
         if((a[i]>max_2)&&(a[i]<max_1)) max_2=a[i];
     for(i=0; i<n; i++)
         if((a[i]>max_3)&&(a[i]<max_2)) max_3=a[i];
     cout<<max_3<<endl;
     return 0;
 }
так вроде проще, но если надо переделать, то попробую=\
Mr.X
Эксперт С++
 Аватар для Mr.X
2807 / 1583 / 248
Регистрация: 03.05.2010
Сообщений: 3,698
08.11.2010, 10:27     Библиотека <iostream> #6
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
//////////////////////////////////////////////////////////////////////////////////////
//Условие программы Даны: натуральное число n и целые числа : a(1),a(2),...a(n) . 
//Не делая распределение всего масcива,найти 3-е наибольшее из этих чисел.
//Распределенте означает то,что ты поставил массив в убывающем порядке(7,5,3,1) 
//и выбрал 3-е но так не разрешено сделать,нужно это обойти. 
//////////////////////////////////////////////////////////////////////////////////////
#include <algorithm>
#include <functional>
#include <iomanip>
#include <iostream>
#include <vector>
//////////////////////////////////////////////////////////////////////////////////////
typedef int                 T_num;
typedef std::vector<T_num>  T_nums;
//////////////////////////////////////////////////////////////////////////////////////
int main()
{
    std::locale::global(std::locale(""));
    const int NUMS_COUNT_MIN = 3;
    int n = 0;
    do
    {
        std::cout << "Введите количество чисел >= "
                  << NUMS_COUNT_MIN
                  <<": ";
        std::cin >> n;
    }while(n < NUMS_COUNT_MIN);
 
    T_nums  nums(n);
    std::cout << "Введите "
              << n
              << " целых чисел:"
              << std::endl;
 
    for(size_t  i = 0; i < nums.size(); ++i)
    {
        std::cout << "#"
                  << std::setw(3) << std::right << i + 1
                  << ": ";
 
        std::cin >> nums[i];
    }
    const int IND_TARGET = 2;
    T_nums::iterator  target_it = nums.begin() + IND_TARGET;
    std::nth_element(nums.begin(), target_it, nums.end(), 
                     std::greater<T_nums::value_type>());
 
    std::cout << std::endl
              << "В отсортированном по убыванию массиве "
              << IND_TARGET + 1 
              << "-е число равно: "
              << *target_it
              << std::endl;
}
Yandex
Объявления
08.11.2010, 10:27     Библиотека <iostream>
Ответ Создать тему
Опции темы

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