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

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

Войти
Регистрация
Восстановить пароль
 
 
proffe14
0 / 0 / 0
Регистрация: 20.12.2013
Сообщений: 14
#1

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

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

Помогите написать код... очень надо для зачета!))) желательно на С++ дев... чтобы с описаниями)) Помогите бедному студенту...
Задача.
Дан одномерный Массив А, состоящий из целых чисел. Вывести на экран номер последнего честного числа в массиве, если четных чисел нет – вывести сообщение (нет)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2013, 20:53     Вывести на экран номер последнего честного числа в массиве, если четных чисел нет – вывести сообщение
Посмотрите здесь:
C++ Вывести одинаковые числа в массиве или сообщение, что таких чисел нет
C++ Ввести с клавиатуры фамилию и задать букву на поиск (любую) тогда вывести ее на экран если он есть, а если нет то сообщение что она отсутствует.
C++ Найти минимальное положительное число в заданном массиве, а если таких нет, вывести на экран ноль
Найти нужный элемент в массиве и вывести его индекс, если такого нет, то вывести -1 C++
Найти и вывести на экран индексы заданных элементов массива(если их нет,выдать соответствующее сообщение) C++
Заданы числа x и y. Если их сумма положительная, вывести на экран эти числа, иначе вывести их разницу C++
Вывести номер последнего числа в наборе, большего K C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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";
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";
Вывести на экран номер последнего четного числа в массиве, если четных чисел нет – вывести сообщение (нет)...
Последнего четного числа в массиве если его там нет то вывести на экран сообщение нет
Задача трудноватая)
KOPOJI
Модератор
Эксперт HTML/CSSЭксперт PHP
16688 / 6614 / 431
Регистрация: 12.06.2012
Сообщений: 19,873
Завершенные тесты: 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. Само число?
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;
}
Я так сделал иногда работает правильно иногда нет(
KOPOJI
Модератор
Эксперт HTML/CSSЭксперт PHP
16688 / 6614 / 431
Регистрация: 12.06.2012
Сообщений: 19,873
Завершенные тесты: 1
20.12.2013, 21:46     Вывести на экран номер последнего честного числа в массиве, если четных чисел нет – вывести сообщение #6
Цитата Сообщение от proffe14 Посмотреть сообщение
C++
1
2
3
4
if(a[i]%2!=0)
* * * * * * k++;
* * * * * * }
* * * * * * if(k%2!=0)
И в чем логика в этих условиях, как вы ее понимаете?
proffe14
0 / 0 / 0
Регистрация: 20.12.2013
Сообщений: 14
20.12.2013, 21:46  [ТС]     Вывести на экран номер последнего честного числа в массиве, если четных чисел нет – вывести сообщение #7
Цитата Сообщение от KOPOJI Посмотреть сообщение
стоп, не заметил "номер". Так что вывести, какой номер?
1. Номер элемента по порядку (в "человекоудобном" виде)?
2. Индекс элемента в массиве?
3. Само число?
Вывести на экран номер последнего числа в массиве... если четных чисел нет – вывести сообщение (нет)
KOPOJI
Модератор
Эксперт HTML/CSSЭксперт PHP
16688 / 6614 / 431
Регистрация: 12.06.2012
Сообщений: 19,873
Завершенные тесты: 1
20.12.2013, 21:48     Вывести на экран номер последнего честного числа в массиве, если четных чисел нет – вывести сообщение #8
Цитата Сообщение от proffe14 Посмотреть сообщение
иногда работает правильно иногда нет
конечно, как повезет..

Добавлено через 1 минуту
Цитата Сообщение от proffe14 Посмотреть сообщение
номер последнего числа в массиве
Ок, еще раз (немного неверно выразился).
Номер в "человеческом" виде (отсчет начинается с единицы) или же индекс массива (отсчет начинается с нуля) ?
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, Ваш код не работает... Просто закрывает окно...(
KOPOJI
Модератор
Эксперт HTML/CSSЭксперт PHP
16688 / 6614 / 431
Регистрация: 12.06.2012
Сообщений: 19,873
Завершенные тесты: 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 - это номер последнего четного числа, или последний четный элемент?)) Неудачный пример)
proffe14
0 / 0 / 0
Регистрация: 20.12.2013
Сообщений: 14
20.12.2013, 22:01  [ТС]     Вывести на экран номер последнего честного числа в массиве, если четных чисел нет – вывести сообщение #11
Цитата Сообщение от KOPOJI Посмотреть сообщение
4 - это номер последнего четного числа, или последний четный элемент?)) Неудачный пример)
ААААААА я не знаю!)))))) Наш учитель дал задачу из книги Мишенина там написано...
Вывести на экран номер последнего четного числа в массиве, если четных чисел нет – вывести сообщение (нет)
KOPOJI
Модератор
Эксперт HTML/CSSЭксперт PHP
16688 / 6614 / 431
Регистрация: 12.06.2012
Сообщений: 19,873
Завершенные тесты: 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;
}
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 Посмотреть сообщение
В общем, разбирайтесь сами, что вам там надо))
Спасибо за код) Но он очень сложный) Нельзя без функций обойтись?) Мой учитель просто поймет...
KOPOJI
Модератор
Эксперт HTML/CSSЭксперт PHP
16688 / 6614 / 431
Регистрация: 12.06.2012
Сообщений: 19,873
Завершенные тесты: 1
20.12.2013, 22:15     Вывести на экран номер последнего честного числа в массиве, если четных чисел нет – вывести сообщение #14
Цитата Сообщение от proffe14 Посмотреть сообщение
Нельзя без функций обойтись?
без каких функций..? Все тоже самое - cout, cin, system и main..
proffe14
0 / 0 / 0
Регистрация: 20.12.2013
Сообщений: 14
20.12.2013, 22:16  [ТС]     Вывести на экран номер последнего честного числа в массиве, если четных чисел нет – вывести сообщение #15
Цитата Сообщение от KOPOJI Посмотреть сообщение
const int NOT_FOUND = -1;
без вот этого...
KOPOJI
Модератор
Эксперт HTML/CSSЭксперт PHP
16688 / 6614 / 431
Регистрация: 12.06.2012
Сообщений: 19,873
Завершенные тесты: 1
20.12.2013, 22:17     Вывести на экран номер последнего честного числа в массиве, если четных чисел нет – вывести сообщение #16
proffe14, это просто обычное объявление константы, и все.. Ну не знаю, если до этого проходили си, то можете заменить ту строчку на такую
C
1
#define NOT_FOUND (-1)
или такую хотя бы..
C
1
#define NOT_FOUND -1
Ну или, на крайний случай, объявите обычной, не константной переменной..
proffe14
0 / 0 / 0
Регистрация: 20.12.2013
Сообщений: 14
20.12.2013, 22:19  [ТС]     Вывести на экран номер последнего честного числа в массиве, если четных чисел нет – вывести сообщение #17
Цитата Сообщение от KOPOJI Посмотреть сообщение
proffe14, это просто обычное объявление константы, и все.. Ну не знаю, если до этого проходили си, то можете заменить ту строчку на такую
Нельзя его просто убрать? у нас начинающий С++)
KOPOJI
20.12.2013, 22:22
  #18

Не по теме:

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

proffe14
0 / 0 / 0
Регистрация: 20.12.2013
Сообщений: 14
20.12.2013, 22:24  [ТС]     Вывести на экран номер последнего честного числа в массиве, если четных чисел нет – вывести сообщение #19
Цитата Сообщение от KOPOJI Посмотреть сообщение
if(last == NOT_FOUND)
* * * * std::cout << "Ничего не найдено";
* * else
а тут как быть?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.12.2013, 22:24     Вывести на экран номер последнего честного числа в массиве, если четных чисел нет – вывести сообщение
Еще ссылки по теме:
C++ Дан массив из 20 вещественных чисел. Определить, есть ли в массиве одинаковые числа и вывести их на экран
C++ Вычыслить количество слов в строке, длинна которых равна 3 символам и вывести их на экран, если же таких слов нет, то выдать об этом сообщение.
C++ Вывести числа в порядке возрастания, по одному в строке. Если между M и N нет простых - вывести "Absent"
C++ Строки: Вывести на экран только те слова, которые отличаются от последнего и в которых нет повторяющихся букв.
C++ Найти и вывести на экран номер элемента в массиве

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

Или воспользуйтесь поиском по форуму:
KOPOJI
Модератор
Эксперт HTML/CSSЭксперт PHP
16688 / 6614 / 431
Регистрация: 12.06.2012
Сообщений: 19,873
Завершенные тесты: 1
20.12.2013, 22:24     Вывести на экран номер последнего честного числа в массиве, если четных чисел нет – вывести сообщение #20
Цитата Сообщение от proffe14 Посмотреть сообщение
а тут как быть?
Не знаю. Не владею телепатией, чтобы узнать, что из вышеперечисленного в плане "удаления" const int ... вы сделали..
Yandex
Объявления
20.12.2013, 22:24     Вывести на экран номер последнего честного числа в массиве, если четных чисел нет – вывести сообщение
Ответ Создать тему
Опции темы

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