Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
wron10
-1 / 5 / 0
Регистрация: 14.07.2014
Сообщений: 128
#1

Найти максимальное значение среди четных трехзначных элементов массива - C++

08.09.2015, 16:39. Просмотров 1055. Ответов 23
Метки нет (Все метки)

Дан массив на 20 целостных чисел. Элементы массива могут принимать целые значения от 0 до 10000 включительно.
Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести
максимальное значение среди элементов массива, которые имеют чётные значения и являются трёхзначными. Если в исходном массиве нет элемента, значение которого является четным трёхзначным числом, то вывести сообщение <<не найдено>> . Исходные данные объявлены так, как показано на ниже на примерах для некоторых языков программирования и естественного языка. Запрещается использовать переменные не описанные ниже но разрешается использовать некоторые из описанных переменных.
На Си код такой:
C
1
2
3
4
5
6
7
8
9
#include <stdio.h>
#define N 20
void main() {
    int a[N];
    int i, j, max;
    for (i = 0; i < N; i++)
        scanf("%d", &a[i]);
...
}
На СИ++ я написал следующим образом:
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
using namespace std;
#define N 20
void main(){
    int a[N];
    int i, j, max;
    for (i = 0; i < N; i++)
        cout << i%10000 << endl << a[i];
    system("pause");
    return 0;
}
и также:
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
using namespace std;
#define N 20
void main(){
    int a[N];
    int i, j, max;
    for (i = 0; i < N; i++)
        cout << i << endl << j;
}
Второй код нормально работает и значения выпадают следующие:
0
-858993460
Так как мне все таки правильнее решить задачу?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.09.2015, 16:39
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Найти максимальное значение среди четных трехзначных элементов массива (C++):

Найти и вывести максимальное значение среди трёхзначных элементов массива, не делящихся на три - C++
Дан целостный массив из 20 элементов. Элементы массива могут принимать целые значения от 0 до 10000 включительно. Опишите на естественном...

Найти минимальное значение среди элементов, стоящих над главной диагональю, и максимальное среди элементов - C++
Дана действительная матрица 7x7. Найти минимальное значение среди элементов, стоящих над главной диагональю, и максимальное среди...

Найти минимум среди нечетных, и максимум - среди четных элементов массива - C++
Помогите пожалуйста сделать так, чтобы эта программа брала min c нечетных, а max с четных #include&lt;iostream&gt; using namespace std; int...

Найти максимальное значение среди всех элементов, расположенных в отмеченных столбцах - C++
Дана целочисленная матрица A(M,N). Столбец назовем отмеченным, если в нем больше К различных чисел Фибоначчи. Найти максимальное значение...

Найти максимальное значение среди всех элементов, расположенных в отмеченных столбцах - C++
Дана целочисленная матрица A(M,N), где М- четно.. Столбец назовем отмеченным, если в нем больше половины элементов являются числами...

Найти среднее арифметическое, максимальное и минимальное значение, количество отрицательных и четных элементов - C++
Дана последовательность целых чисел из n элементов. Найти среднее арифметическое, максимальное значение, количество отрицательных...

23
Kuzia domovenok
2130 / 1958 / 197
Регистрация: 25.03.2012
Сообщений: 6,821
Записей в блоге: 1
08.09.2015, 17:00 #2
а где тут вообще задача? я вижу две программы, выводящие на экран непойми что. Ты даже не сказал, что ожидал увидеть от них?
Ну вот тут, например
cout << i << endl << j;
разве ты ожидал увидеть какое-то значение j ? Оно у тебя даже не объявлено!

Добавлено через 1 минуту
Цитата Сообщение от wron10 Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
#include <stdio.h>
#define N 20
void main() {
int a[N];
int i, j, max;
for (i = 0; i < N; i++)
scanf("%d", &a[i]);
...
}
ну, допустим. Это самое близкое к твоему непоймичему. Тут хотя бы массив имеется. А зачем два других куска программы?
0
wron10
-1 / 5 / 0
Регистрация: 14.07.2014
Сообщений: 128
08.09.2015, 17:16  [ТС] #3
Ну да но ведь число какое то возникло хотя программа не должна была работать. Ну и код который написан на СИ ведь не полный там ведь стоит знак ...
Про два куска программы, как я понимаю имеется ввиду то, что я написал на СИ++?
0
ture
443 / 336 / 127
Регистрация: 27.11.2014
Сообщений: 1,043
10.09.2015, 17:41 #4
упс!

Добавлено через 9 минут
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
#include <iostream>
 
const int N = 3;
 
int main() {
    setlocale(LC_ALL, "rus");
    
    int a[N];
    int i, j, max=-1;
    
    //заполняем и сразу ищем max
    for(i = 0; i < N; i++) {
        std::cin >> a[i];
 
        if(max < a[i]
           && a[i] / 1000 == 0 && a[i] / 100 != 0 //трехначное
           && a[i] % 2==0                         //четное
           )
            max = a[i];
    }
 
    if(max<0)
        std::cout << "<<не найдено>>" << std::endl;
    else
        std::cout << "max = " << max << std::endl;
 
    system("pause");
    return 0;   
}
0
wron10
-1 / 5 / 0
Регистрация: 14.07.2014
Сообщений: 128
10.09.2015, 18:30  [ТС] #5
Ну да но возникла неполадка, в строке int i, j, max = -1; Warning 1 warning C4101: 'j' : unreferenced local variable c:\users\денис\documents\visual studio 2013\projects\24\24\24.cpp 9 1 24
И после нажатия f5 возникает черный экран на котором нет никаких цифр.
0
Ferrari F1
623 / 521 / 101
Регистрация: 27.01.2015
Сообщений: 3,025
Записей в блоге: 1
Завершенные тесты: 1
10.09.2015, 18:58 #6
wron10,
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
#include <iostream>
#include <iomanip>
#include <windows.h>
using namespace std;
 
#define N 20
 
int main(void)
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    unsigned short a[N], i(0), Max(i);
    for (; i < N; i++)
    {
        cin >> a[i];
        Max = a[i] % 2 && a[i] % 100 && a[i] > Max ? a[i] : Max;
    }
    if (Max)
        cout << Max;
    else
        cout << "<<не найдено>>";
    cout << endl;
    system("pause");
    return 0;
}
0
wron10
-1 / 5 / 0
Регистрация: 14.07.2014
Сообщений: 128
11.09.2015, 11:07  [ТС] #7
Ну оба кода не доводят программу до логического завершения возникает просто черный экран без цифр. В чём проблема?
0
ture
443 / 336 / 127
Регистрация: 27.11.2014
Сообщений: 1,043
11.09.2015, 11:24 #8
В теле цикла:
Цитата Сообщение от ture Посмотреть сообщение
std::cin >> a[i];
Черный экран ждет, что пользователь введет через пробел столько цифр, сколько указано в:
C++
1
const int N = 3;
Я три поставил, чтоб быстрее тестить, Вам надо вместо 3 писать 20.
0
Ferrari F1
623 / 521 / 101
Регистрация: 27.01.2015
Сообщений: 3,025
Записей в блоге: 1
Завершенные тесты: 1
11.09.2015, 11:29 #9
wron10, прости меня, тот код, что я давал оказался нерабочим (видимо уже не соображал в то время)
Просто скопируй целиком весь мой код и замени им весь собственный код в компиляторе:
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
#include <iostream>
#include <iomanip>
#include <windows.h>
using namespace std;
 
#define N 20
 
int main(void)
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    unsigned short a[N], i(0), Max(0);
    for (; i < N; i++)
    {
        cin >> a[i];
        if (!(a[i] % 2))
            if (a[i] / 100 < 10)
                if (a[i] / 100 > 0)
                    if (a[i] > Max)
                        Max = a[i];
    }
    if (Max)
        cout << Max;
    else
        cout << "<<не найдено>>";
    cout << endl;
    system("pause");
    return 0;
}
0
wron10
-1 / 5 / 0
Регистрация: 14.07.2014
Сообщений: 128
11.09.2015, 11:34  [ТС] #10
Ну так я скопировал и тот же результат.
0
Ferrari F1
623 / 521 / 101
Регистрация: 27.01.2015
Сообщений: 3,025
Записей в блоге: 1
Завершенные тесты: 1
11.09.2015, 11:36 #11
wron10, тогда проблема скорее всего в вашем компиляторе
0
wron10
-1 / 5 / 0
Регистрация: 14.07.2014
Сообщений: 128
11.09.2015, 12:48  [ТС] #12
Добавлено через 7 минут
у меня знаете ещё такие неполадки были создаю проект называю его например algoritm 16 затем жму source file и add new item. Но как файл CPP визуал сохранять не хочет эту программу.При чём первые три недели всё работало нормально . Но потом возникла такая неполадка работы программы.(И она сохранятся и сейчас).
0
Ferrari F1
623 / 521 / 101
Регистрация: 27.01.2015
Сообщений: 3,025
Записей в блоге: 1
Завершенные тесты: 1
11.09.2015, 12:53 #13
wron10, проверил в онлайн компиляторе
https://ideone.com/DcDPMg
0
wron10
-1 / 5 / 0
Регистрация: 14.07.2014
Сообщений: 128
11.09.2015, 14:19  [ТС] #14
В компиляторе проверено но у меня эта программа не срабатывает так как нужно.
0
ture
443 / 336 / 127
Регистрация: 27.11.2014
Сообщений: 1,043
11.09.2015, 15:01 #15
Аналогичная хрень частенько возникает.

Делаю новый проект и копирую туда код. После этого робит.
0
11.09.2015, 15:01
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.09.2015, 15:01
Привет! Вот еще темы с ответами:

Найти максимальный элемент массива среди четных элементов - C++
Дан массив а(10), заполненный датчиком случайных чисел. Найти максимальный элемент массива среди четных элементов.

Дан одномерный целочисленный массив А из N элементов. Найти в нём максимальное значение среди простых чисел - C++
Здравствуйте,уважаемые программисты!) Помогите решить,пожалуйста, данную задачку в С++: Дан одномерный целочисленный массив А из N...

Найти максимальный элемент среди элементов, расположенных в четных столбцах массива - C++
Доброго времени суток. Даны целые массивы a, b. Для каждого массива определить максимальный элемент. В программе должны быть функции:...

Нужно найти минимальное значение среди позитивных чисел и максимальное среди отрицательных. - C++
Есть массив А, который вводится с клавиатуры. Нужно найти минимальное значение среди позитивных чисел и максимальное среди отрицательных....


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

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

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