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

Напечатать все элементы, следующие за последним элементом, оканчивающимся цифрой 7 - C++

Восстановить пароль Регистрация
 
Мирзали
 Аватар для Мирзали
4 / 5 / 1
Регистрация: 20.11.2010
Сообщений: 353
20.07.2011, 12:21     Напечатать все элементы, следующие за последним элементом, оканчивающимся цифрой 7 #1
Дан массив целых чисел. Напечатать все элементы, следующие за последним элементом, оканчивающимся цифрой 7. Если элементов, оканчивающихся цифрой 7, в массиве нет, то не один элемент не должен быть напечатан.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.07.2011, 12:21     Напечатать все элементы, следующие за последним элементом, оканчивающимся цифрой 7
Посмотрите здесь:

C++ Напечатать все элементы следующие за последним элементом оканчивающимся цифрой "7"
C++ Поменять 1 столбец с последним, у которого все элементы положительные
Просуммировать все элементы массива, которые находятся между первым и последним нулем C++
C++ Все элементы, следующие за наибольшим элементом массива, увеличить на заданное число C
C++ В массиве заменить все элементы, следующие за наименьшим элементом, единицами (найти ошибку)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
20.07.2011, 12:27     Напечатать все элементы, следующие за последним элементом, оканчивающимся цифрой 7 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <algorithm>
#include <vector>
#include <iterator>
 
int main()
{
    std::vector<int> vec((std::istream_iterator<int>(std::cin)), std::istream_iterator<int>());
    const int find = 7;
    std::vector<int>::reverse_iterator iter = std::find_if(vec.rbegin(), vec.rend(), [find](const int val)
    {
       return val % 10 == find;
    });
    if (iter != vec.rend())
    {
        std::copy(iter.base(), vec.end(), std::ostream_iterator<int>(std::cout, " "));
        std::cout << '\n';
    }
}
Мирзали
 Аватар для Мирзали
4 / 5 / 1
Регистрация: 20.11.2010
Сообщений: 353
20.07.2011, 12:38  [ТС]     Напечатать все элементы, следующие за последним элементом, оканчивающимся цифрой 7 #3
спасибо за программку. только у меня не получается открыть #include <algorithm>
#include <vector>
#include <iterator> данные библиотечные файлы.
добавляю .h но результат тот же
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
20.07.2011, 12:39     Напечатать все элементы, следующие за последним элементом, оканчивающимся цифрой 7 #4
Мирзали, Замутите себе компилятор поновее.
Правда эта программа пойдет либо на 10-ой студии либо на 4.5+ gcc. Ну и кто там еще лямбды поддерживает не помню.
Мирзали
 Аватар для Мирзали
4 / 5 / 1
Регистрация: 20.11.2010
Сообщений: 353
20.07.2011, 12:40  [ТС]     Напечатать все элементы, следующие за последним элементом, оканчивающимся цифрой 7 #5
std::istream_iterator
объясни пожалуйста для чего это
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
20.07.2011, 12:41     Напечатать все элементы, следующие за последним элементом, оканчивающимся цифрой 7 #6
Мирзали, Итератор потока ввода.
co6ak
Кошковед
 Аватар для co6ak
403 / 496 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
20.07.2011, 12:49     Напечатать все элементы, следующие за последним элементом, оканчивающимся цифрой 7 #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
#include <iostream>
#include <time.h>
using std::cout;
using std::endl;
 
int main()
{
srand( time ( 0 ) );
int mas [ 20 ];
int tmp;
int index = -1;
for ( int i = 0; i < 20; i ++ )
    mas[i] = rand() 1000;
for ( int i = 19; i <= 0; i -- )
{   tmp = mas[i];
    while ( tmp > 9 ) tmp % 10;
    if ( tmp == 7 ) { index = i; break; }
}
if ( index != -1 ) 
    for ( int i = index; i < 20; i ++ )
        cout << mas[i] << "\t";
system("pause");
return 0;
}
без потоков
Мирзали
 Аватар для Мирзали
4 / 5 / 1
Регистрация: 20.11.2010
Сообщений: 353
20.07.2011, 12:49  [ТС]     Напечатать все элементы, следующие за последним элементом, оканчивающимся цифрой 7 #8
у вас не получится его по проще написать на "старый" лад?
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
20.07.2011, 12:51     Напечатать все элементы, следующие за последним элементом, оканчивающимся цифрой 7 #9
Мирзали, А зачем? Берете книжку в руки - читаете что есть что - переписываете сложный код на старый лад. А для меня этот код простой, красивый и удобный в написании и использовании - не вижу резона его переписывать.
Мирзали
 Аватар для Мирзали
4 / 5 / 1
Регистрация: 20.11.2010
Сообщений: 353
20.07.2011, 13:01  [ТС]     Напечатать все элементы, следующие за последним элементом, оканчивающимся цифрой 7 #10
using std::cout;
using std::endl;
decloration syntax error
ошибка синтаксиза(
Мирзали
 Аватар для Мирзали
4 / 5 / 1
Регистрация: 20.11.2010
Сообщений: 353
20.07.2011, 13:05  [ТС]     Напечатать все элементы, следующие за последним элементом, оканчивающимся цифрой 7 #11
да дело в том, что только один симместр изучали С++ и глубоко не смогли изучить. не проходили ничего про файлы и т.д.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
20.07.2011, 13:07     Напечатать все элементы, следующие за последним элементом, оканчивающимся цифрой 7 #12
Мирзали, Угу. И компилятор у вас, который не соответствует стандарту чуть более чем полностью. Поздравляю! Советую поставить другой компиль. Настоятельно советую.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.07.2011, 13:20     Напечатать все элементы, следующие за последним элементом, оканчивающимся цифрой 7
Еще ссылки по теме:

Найти в каждой строке матрицы максимальный и минимальный элементы и поменять их местами с первым и последним элементом C++
Напечатать все слова строки, которые начинаются цифрой C++
Ввести массив и заменить все нулевые элементы последним элементом массива C++

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

Или воспользуйтесь поиском по форуму:
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
20.07.2011, 13:20     Напечатать все элементы, следующие за последним элементом, оканчивающимся цифрой 7 #13
Цитата Сообщение от Мирзали Посмотреть сообщение
Дан массив целых чисел. Напечатать все элементы, следующие за последним элементом, оканчивающимся цифрой 7. Если элементов, оканчивающихся цифрой 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
#include <stdio.h>
 
#define N 10
 
int main()
{
    int i;
    int j = N;
    int a[N];
 
    for(i = 0; i < N; ++i)
    {
        printf("%d: ", i + 1);
        scanf("%d", &a[i]);
        if((a[i] % 10) == 7) j = i;
    }
 
    while(++j < N)
        printf("%d ", a[j]);
    putchar('\n');
 
    return 0;
}
Yandex
Объявления
20.07.2011, 13:20     Напечатать все элементы, следующие за последним элементом, оканчивающимся цифрой 7
Ответ Создать тему
Опции темы

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