Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
proffe14
0 / 0 / 0
Регистрация: 20.12.2013
Сообщений: 14
#1

Вывести на экран номер последнего честного числа в массиве, если четных чисел нет – вывести сообщение - C++

20.12.2013, 20:53. Просмотров 1475. Ответов 26
Метки нет (Все метки)

Помогите написать код... очень надо для зачета!))) желательно на С++ дев... чтобы с описаниями)) Помогите бедному студенту...
Задача.
Дан одномерный Массив А, состоящий из целых чисел. Вывести на экран номер последнего честного числа в массиве, если четных чисел нет – вывести сообщение (нет)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2013, 20:53
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Вывести на экран номер последнего честного числа в массиве, если четных чисел нет – вывести сообщение (C++):

Вывести одинаковые числа в массиве или сообщение, что таких чисел нет
плиз помогите: дан одномерный массив, вывести одинаковые числа, и вывести если...

Вывести на экран слова, в которых все символы повторяющиеся, или сообщение «Нет», если требуемых слов нет
Дана последовательность символов, состоящая из слов. Вывести на экран слова, в...

Матрица : вывести положительные числа. Если таковых нет - вывести надпись об отсутствии таковых чисел
Как вывести надпись об отсутствии положительных чисел? #include <iostream>...

Ввести с клавиатуры фамилию и задать букву на поиск (любую) тогда вывести ее на экран если он есть, а если нет то сообщение что она отсутствует.
Ввести с клавиатуры фамилию и задать букву на поиск (любую) тогда вывести ее на...

Найти минимальное положительное число в заданном массиве, а если таких нет, вывести на экран ноль
Дан одномерный массив А. Найти минимальное положительное число из данного...

Найти нужный элемент в массиве и вывести его индекс, если такого нет, то вывести -1
Нужно найти нужный элемент в массиве и вывести его индекс, если такого нету, то...

26
Navarro
2 / 2 / 0
Регистрация: 29.11.2013
Сообщений: 17
20.12.2013, 20:59 #2
Подключаешь либы как обычно а потом делаешь так
C++ (Qt)
1
2
3
4
int a = 3;
 
if(a % 2 == 0)
  cout<<"Chetnoe!" else cout<<"Nechetnoe";
0
proffe14
0 / 0 / 0
Регистрация: 20.12.2013
Сообщений: 14
20.12.2013, 21:17  [ТС] #3
Цитата Сообщение от Navarro Посмотреть сообщение
Подключаешь либы как обычно а потом делаешь так
C++ (Qt)
1
2
3
4
int a = 3;
 
if(a % 2 == 0)
  cout<<"Chetnoe!" else cout<<"Nechetnoe";
Вывести на экран номер последнего четного числа в массиве, если четных чисел нет – вывести сообщение (нет)...
Последнего четного числа в массиве если его там нет то вывести на экран сообщение нет
Задача трудноватая)
0
KOPOJI
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16744 / 6635 / 860
Регистрация: 12.06.2012
Сообщений: 19,880
Завершенные тесты: 1
20.12.2013, 21:36 #4
Цитата Сообщение от proffe14 Посмотреть сообщение
Задача трудноватая)
Что там трудного? Создаете переменную, инициализируете ее каким-то значением, пробегаете по массиву и проверяете все элементы на четность. Если таких не найдено - переменная останется с изначальным значением, значит выводите "нет". Иначе в ней будет последнее число. Что здесь сложного? о_О

Навскидку, как-то так

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
#include <iostream>
 
const int NOT_FOUND = -1;
 
int main(int argc, char **argv)
{
    int arr[10];
    int i = 0;
    int last = NOT_FOUND;
 
    for( ; i < 10; i++)
        arr[i] = i;
 
    for(i = 0; i < 10; i++)
        if(0 == arr[i] % 2)
            last = arr[i];
 
    if(last == NOT_FOUND)
        std::cout << "Ничего не найдено";
    else
        std::cout << last;
 
    return 0;
}
З.Ы. Не проверял.

Добавлено через 2 минуты
Цитата Сообщение от proffe14 Посмотреть сообщение
Вывести на экран номер последнего четного числа в массиве
Стоп, не заметил "номер". Так что вывести, какой номер?
1. Номер элемента по порядку (в "человекоудобном" виде)?
2. Индекс элемента в массиве?
3. Само число?
0
proffe14
0 / 0 / 0
Регистрация: 20.12.2013
Сообщений: 14
20.12.2013, 21:43  [ТС] #5
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
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    int n,k;
    cin>>n;
    int a[n];
    for(int i=1; i<=n; i++)
               {
               cin>>a[i];
            if(a[i]%2!=0)
            k++;
            }
            if(k%2!=0)
            cout<<"da"<<endl;
            else
            cout<<"net"<<endl;
 
    system("PAUSE");
    return EXIT_SUCCESS;
}
Я так сделал иногда работает правильно иногда нет(
0
KOPOJI
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16744 / 6635 / 860
Регистрация: 12.06.2012
Сообщений: 19,880
Завершенные тесты: 1
20.12.2013, 21:46 #6
Цитата Сообщение от proffe14 Посмотреть сообщение
C++
1
2
3
4
if(a[i]%2!=0)
* * * * * * k++;
* * * * * * }
* * * * * * if(k%2!=0)
И в чем логика в этих условиях, как вы ее понимаете?
0
proffe14
0 / 0 / 0
Регистрация: 20.12.2013
Сообщений: 14
20.12.2013, 21:46  [ТС] #7
Цитата Сообщение от KOPOJI Посмотреть сообщение
стоп, не заметил "номер". Так что вывести, какой номер?
1. Номер элемента по порядку (в "человекоудобном" виде)?
2. Индекс элемента в массиве?
3. Само число?
Вывести на экран номер последнего числа в массиве... если четных чисел нет – вывести сообщение (нет)
0
KOPOJI
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16744 / 6635 / 860
Регистрация: 12.06.2012
Сообщений: 19,880
Завершенные тесты: 1
20.12.2013, 21:48 #8
Цитата Сообщение от proffe14 Посмотреть сообщение
иногда работает правильно иногда нет
конечно, как повезет..

Добавлено через 1 минуту
Цитата Сообщение от proffe14 Посмотреть сообщение
номер последнего числа в массиве
Ок, еще раз (немного неверно выразился).
Номер в "человеческом" виде (отсчет начинается с единицы) или же индекс массива (отсчет начинается с нуля) ?
0
proffe14
0 / 0 / 0
Регистрация: 20.12.2013
Сообщений: 14
20.12.2013, 21:54  [ТС] #9
Цитата Сообщение от KOPOJI Посмотреть сообщение
конечно, как повезет..

Добавлено через 1 минуту

Ок, еще раз (немного неверно выразился).
Номер в "человеческом" виде (отсчет начинается с единицы) или же индекс массива (отсчет начинается с нуля) ?
Задан одномерный массив...
н=4
1 3 2 4
cout<<4;
Если номер последнего числа не четное то написать cout<<net;

Добавлено через 3 минуты
KOPOJI, Ваш код не работает... Просто закрывает окно...(
0
KOPOJI
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16744 / 6635 / 860
Регистрация: 12.06.2012
Сообщений: 19,880
Завершенные тесты: 1
20.12.2013, 21:56 #10
Цитата Сообщение от proffe14 Посмотреть сообщение
Ваш код не работает... Просто закрывает окно...
гг.. Ну добавьте "паузу"
Цитата Сообщение от proffe14 Посмотреть сообщение
C
1
system("PAUSE");
Добавлено через 1 минуту
Цитата Сообщение от proffe14 Посмотреть сообщение
номер последнего числа в массиве
Цитата Сообщение от proffe14 Посмотреть сообщение
Задан одномерный массив...
н=4
1 3 2 4
cout<<4;
Если номер последнего числа не четное то написать cout<<net;
4 - это номер последнего четного числа, или последний четный элемент?)) Неудачный пример)
0
proffe14
0 / 0 / 0
Регистрация: 20.12.2013
Сообщений: 14
20.12.2013, 22:01  [ТС] #11
Цитата Сообщение от KOPOJI Посмотреть сообщение
4 - это номер последнего четного числа, или последний четный элемент?)) Неудачный пример)
ААААААА я не знаю!)))))) Наш учитель дал задачу из книги Мишенина там написано...
Вывести на экран номер последнего четного числа в массиве, если четных чисел нет – вывести сообщение (нет)
0
KOPOJI
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16744 / 6635 / 860
Регистрация: 12.06.2012
Сообщений: 19,880
Завершенные тесты: 1
20.12.2013, 22:08 #12
В общем, разбирайтесь сами, что вам там надо))
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 <cstdlib>
#include <iostream>
 
const int NOT_FOUND = -1;
 
int main(int argc, char **argv)
{
    int n = 0;
    int i = 0;
 
    std::cout << "Введите количество элементов массива:" << std::endl;
    std::cin>>n;
 
    int arr[n];
    int last = NOT_FOUND;
 
    for( ; i < n; i++)
    {
        std::cout << "Введите " << i + 1 << "-й элемент массива (всего " << n << ")" << std::endl;
        std::cin >> arr[i];
    }
 
    for(i = 0; i < n; i++)
        if(0 == arr[i] % 2)
            last = i;
 
    if(last == NOT_FOUND)
        std::cout << "Ничего не найдено";
    else
        std::cout << "Последнее четное число = " << arr[last] << " (элемент №" << last + 1 << " в массиве, индекс = " << last << ")" << std::endl;
 
    system("PAUSE");
 
    return 0;
}
0
proffe14
0 / 0 / 0
Регистрация: 20.12.2013
Сообщений: 14
20.12.2013, 22:14  [ТС] #13
Цитата Сообщение от KOPOJI Посмотреть сообщение
4 - это номер последнего четного числа, или последний четный элемент?)) Неудачный пример)
как все запутано в этой задачи(((
Получается так что ли..
н=4
1 3 4 7
cout<<4;
Если в массиве нет четных чисел... то вывести НЕТ
н=4
9 7 3 5
cout<<net;
так что ли?))

Добавлено через 6 минут
Цитата Сообщение от KOPOJI Посмотреть сообщение
В общем, разбирайтесь сами, что вам там надо))
Спасибо за код) Но он очень сложный) Нельзя без функций обойтись?) Мой учитель просто поймет...
0
KOPOJI
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16744 / 6635 / 860
Регистрация: 12.06.2012
Сообщений: 19,880
Завершенные тесты: 1
20.12.2013, 22:15 #14
Цитата Сообщение от proffe14 Посмотреть сообщение
Нельзя без функций обойтись?
без каких функций..? Все тоже самое - cout, cin, system и main..
0
proffe14
0 / 0 / 0
Регистрация: 20.12.2013
Сообщений: 14
20.12.2013, 22:16  [ТС] #15
Цитата Сообщение от KOPOJI Посмотреть сообщение
const int NOT_FOUND = -1;
без вот этого...
0
KOPOJI
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16744 / 6635 / 860
Регистрация: 12.06.2012
Сообщений: 19,880
Завершенные тесты: 1
20.12.2013, 22:17 #16
proffe14, это просто обычное объявление константы, и все.. Ну не знаю, если до этого проходили си, то можете заменить ту строчку на такую
C
1
#define NOT_FOUND (-1)
или такую хотя бы..
C
1
#define NOT_FOUND -1
Ну или, на крайний случай, объявите обычной, не константной переменной..
0
proffe14
0 / 0 / 0
Регистрация: 20.12.2013
Сообщений: 14
20.12.2013, 22:19  [ТС] #17
Цитата Сообщение от KOPOJI Посмотреть сообщение
proffe14, это просто обычное объявление константы, и все.. Ну не знаю, если до этого проходили си, то можете заменить ту строчку на такую
Нельзя его просто убрать? у нас начинающий С++)
0
KOPOJI
20.12.2013, 22:22
  #18

Не по теме:

Цитата Сообщение от proffe14 Посмотреть сообщение
у нас начинающий С++)
не понимаю, что с того, что начинающий.. Неужели ни у кого нет интернета.. "Понравилось, захотел посмотреть в инете немного, нашел про константы. Что это такое - а вот, неизменяемая фигня. Зачем? Чтобы случайно не изменить. Понравилось, захотел попробовать..". Ну уберите, объявите переменную. Или проверяйте с любым значением, которое присваиваете в начале (только нечетным), как хотите..

0
proffe14
0 / 0 / 0
Регистрация: 20.12.2013
Сообщений: 14
20.12.2013, 22:24  [ТС] #19
Цитата Сообщение от KOPOJI Посмотреть сообщение
if(last == NOT_FOUND)
* * * * std::cout << "Ничего не найдено";
* * else
а тут как быть?
0
KOPOJI
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16744 / 6635 / 860
Регистрация: 12.06.2012
Сообщений: 19,880
Завершенные тесты: 1
20.12.2013, 22:24 #20
Цитата Сообщение от proffe14 Посмотреть сообщение
а тут как быть?
Не знаю. Не владею телепатией, чтобы узнать, что из вышеперечисленного в плане "удаления" const int ... вы сделали..
0
20.12.2013, 22:24
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.12.2013, 22:24
Привет! Вот еще темы с решениями:

Найти и вывести на экран индексы заданных элементов массива(если их нет,выдать соответствующее сообщение)
Найти и вывести на экран индексы заданных элементов массива(если их нет,выдать...

Заданы числа x и y. Если их сумма положительная, вывести на экран эти числа, иначе вывести их разницу
Помогите пожалуйста...Заданные числа x и y . Если их сумма положительная ,...

Вывести номер последнего числа в наборе, большего K
Series16°. Дано целое число K и набор ненулевых целых чисел; признак его...

Дан массив из 20 вещественных чисел. Определить, есть ли в массиве одинаковые числа и вывести их на экран
Дан массив из 20 вещественных чисел. Определить, есть ли в массиве одинаковые...


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

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

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