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

Решение задач С++ - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.87
владимирович
0 / 0 / 0
Регистрация: 24.10.2011
Сообщений: 13
29.11.2011, 13:20     Решение задач С++ #1
Вводится последовательность из N целых чисел. Определить наибольшее чисел среди кратных 11.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.11.2011, 13:20     Решение задач С++
Посмотрите здесь:

Решение задач С++ C++
C++ решение задач С++
Решение задач со строками C++
Решение задач C++
C++ Решение задач с Си++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
sandye51
программист С++
 Аватар для sandye51
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
29.11.2011, 13:35     Решение задач С++ #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
#include <iostream>
#include <vector>
#include <algorithm>
#include <functional>
#include <cstdlib>
 
template <typename T, unsigned int size>
struct odd :
    public std::unary_function<bool, T>
{
    bool operator() (const T& value) const
    {
        return value % size;
    }
};
 
int main()
{
   std::vector<unsigned int>::size_type size;
   std::vector<unsigned int> vector;
 
   std::cout << "Enter the vector size" << std::endl;
   std::cin >> size;
 
   vector.resize(size);
   std::cout << "Etner the vector" << std::endl;
   for (std::vector<unsigned int>::iterator i = vector.begin(), end = vector.end(); i != end; ++i)
      std::cin >> *i;
 
   std::vector<unsigned int>::iterator new_end = std::remove_if(vector.begin(), vector.end(), odd<unsigned int, 11>());
   vector.erase(new_end, vector.end());
 
   unsigned int value = *std::max_element(vector.begin(), vector.end());
   std::cout << "Max value: " << value << std::endl;
 
   system("Pause");
   return EXIT_SUCCESS;
}
Диман56
22 / 22 / 0
Регистрация: 07.11.2011
Сообщений: 154
29.11.2011, 13:40     Решение задач С++ #3
ща сообразим.....
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <conio.h>
main()
{
int a,max,N,i;
scanf("%d",&N);
max=-32767;
for(i=0;i<N;i++)
{
scanf("%d", &a);
if((a%11==0) && (a>max))
{
max=a;
}
}
printf("%d", max);
getch();
}
Добавлено через 23 секунды
А у меня проще!))
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
722 / 516 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
29.11.2011, 13:41     Решение задач С++ #4
sandye51, а не так ли должно быть?
C++
1
std::unary_function<T, bool>
Диман56
22 / 22 / 0
Регистрация: 07.11.2011
Сообщений: 154
29.11.2011, 13:46     Решение задач С++ #5
А мой вариант не проще разве?))
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
722 / 516 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
29.11.2011, 13:46     Решение задач С++ #6
Диман56, ну у вас на С
-=ЮрА=-
Заблокирован
Автор FAQ
29.11.2011, 13:50     Решение задач С++ #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 <iostream>
using namespace std;
 
int main()
{
    int i = 0,N;
    cout<<"Enter N : ";cin>>N;
    cout<<"Enter sequence : \n";
    int minv, val;
    bool bNotDiv = true;
    //ГЌГ*õîäèì ïåðâîå ÷èñëî ГЄГ°Г*ГІГ*îå 11
    do
    {
        cout<<"a["<<i<<" ] = ";cin>>val;
        if(val % 11 == 0)
            bNotDiv = false;
        i++;
    }
    while(i < N && bNotDiv);
    if(bNotDiv)
        cout<<"Sequence not contain elements val % 11 == 0!\n";
    else
    {
        for(minv = val; i < N; i++)
        {
            cout<<"a["<<i<<" ] = ";cin>>val;
            if(val % 11 == 0)
            if(val < minv)
                minv = val;
        }
        cout<<"Min value element val % 11 == 0 : "<<minv<<endl;
    }
    system("pause");
    return 0;
}
Результаты работы
Enter N : 5
Enter sequence :
a[0 ] = 22
a[1 ] = 45
a[2 ] = 44
a[3 ] = 36
a[4 ] = -44
Min value element val % 11 == 0 : -44
Для продолжения нажмите любую клавишу . . .

Enter N : 5
Enter sequence :
a[0 ] = 5
a[1 ] = 6
a[2 ] = 4
a[3 ] = 28
a[4 ] = 13
Sequence not contain elements val % 11 == 0!
Для продолжения нажмите любую клавишу . . .
владимирович
0 / 0 / 0
Регистрация: 24.10.2011
Сообщений: 13
29.11.2011, 13:50  [ТС]     Решение задач С++ #8
диман чёт твоя не работает(((
sandye51
программист С++
 Аватар для sandye51
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
29.11.2011, 13:51     Решение задач С++ #9
PointsEqual, да, перепутал
владимирович
0 / 0 / 0
Регистрация: 24.10.2011
Сообщений: 13
29.11.2011, 13:54  [ТС]     Решение задач С++ #10
решите пожалуйста ещё одну
вводиться последовательность из N целых чисел , найти разность между произведением нечетных чисел и наибольшим среди отрицательных
-=ЮрА=-
Заблокирован
Автор FAQ
29.11.2011, 13:58     Решение задач С++ #11
Цитата Сообщение от владимирович Посмотреть сообщение
нечетных чисел
- нечётных по значению или нечётных по порядку следования???
Диман56
22 / 22 / 0
Регистрация: 07.11.2011
Сообщений: 154
29.11.2011, 13:59     Решение задач С++ #12
Цитата Сообщение от владимирович Посмотреть сообщение
диман чёт твоя не работает(((
Пишете не в студии случайно?)) Вот код для студии
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "StdAfx.h"
#include <stdio.h>
#include <conio.h>
void main()
{
int a,max,N,i;
scanf("%d",&N);
max=-32767;
for(i=0;i<N;i++)
{
scanf("%d", &a);
if((a%11==0) && (a>max))
{
max=a;
}
}
printf("%d", max);
_getch();
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.11.2011, 14:14     Решение задач С++
Еще ссылки по теме:

Решение задач C++
Решение задач C++
Решение задач на C++ C++

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

Или воспользуйтесь поиском по форуму:
-=ЮрА=-
Заблокирован
Автор FAQ
29.11.2011, 14:14     Решение задач С++ #13
Цитата Сообщение от владимирович Посмотреть сообщение
решите пожалуйста ещё одну
вводиться последовательность из N целых чисел , найти разность между произведением нечетных чисел и наибольшим среди отрицательных
- ниже код на плюсах - ничего лишнего, никакой доп памяти + проверки того что все числа положительны либо все чётные
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
#include <iostream>
using namespace std;
 
int main()
{
    int N;
    cout<<"Enter N : ";cin>>N;
    
    int val;
 
    int min_negative;  //min ñðåäè îòðèöГ*òåëüГ*ûõ
    int noodd_mult = 1;//Ïðîèçâåä Г*ГҐГ·ВёГІГ*ûõ ГЇГ® Г§Г*Г*Г·ГҐГ*ГЁГѕ
    bool bLessZero   = false;//Áûëè ëè îòð Г·ГЁГ±Г«Г*
    bool bNoOddNumbs = false;//Áûëè ëè Г*ГҐГ·ВёГІГ*ûå
    cout<<"Enter sequence : \n";
    for(int i = 0; i < N; i++)
    {
        cout<<"a["<<i<<"] = ";cin>>val;
        if(val < 0)
        {
            if(!bLessZero)
            {
                bLessZero = true;
                min_negative = val;
            }
            if(val < min_negative)
                min_negative = val;
        }
        if(val % 2 != 0)
        {
            if(!bNoOddNumbs)
                bNoOddNumbs = true;
            noodd_mult *= val;
        }
    }
    if(!bLessZero)
        cout<<"All elements in sequence more than 0!\n";
    else
    if(!bNoOddNumbs)
        cout<<"Sequence contain only odd numbers!\n";
    else
        cout<<"min_negative = "<<min_negative<<endl
            <<"noodd_mult   = "<<noodd_mult<<endl
            <<"difference   = "<<noodd_mult - min_negative<<endl;
    system("pause");
    return 0;
}
Enter N : 3
Enter sequence :
a[0] = 2
a[1] = 6
a[2] = 8
All elements in sequence more than 0!
Для продолжения нажмите любую клавишу . . .

Enter N : 3
Enter sequence :
a[0] = -2
a[1] = 4
a[2] = 6
Sequence contain only odd numbers!
Для продолжения нажмите любую клавишу . . .

Enter N : 3
Enter sequence :
a[0] = -5
a[1] = 4
a[2] = 3
min_negative = -5
noodd_mult = -15
difference = -10
Для продолжения нажмите любую клавишу . . .
Yandex
Объявления
29.11.2011, 14:14     Решение задач С++
Ответ Создать тему
Опции темы

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