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

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

Войти
Регистрация
Восстановить пароль
 
Мирзали
4 / 5 / 1
Регистрация: 20.11.2010
Сообщений: 353
#1

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

20.07.2011, 12:21. Просмотров 942. Ответов 12
Метки нет (Все метки)

Дан массив целых чисел. Напечатать все элементы, следующие за последним элементом, оканчивающимся цифрой 7. Если элементов, оканчивающихся цифрой 7, в массиве нет, то не один элемент не должен быть напечатан.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.07.2011, 12:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Напечатать все элементы, следующие за последним элементом, оканчивающимся цифрой 7 (C++):

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

В матрице все отрицательные элементы следующие за строкой с наибольшим элементом увеличить на 10 - C++
• В матрице все отрицательные элементы в строках, которые следуют за стро¬кой, содержащей наибольший элемент, увеличить на 10

Все элементы, следующие за наибольшим элементом массива, увеличить на заданное число C - C++
Все элементы, следующие за наибольшим элементом массива, увеличить на заданное число C. В головной функции предусмотреть печать...

Ввести массив и заменить все нулевые элементы последним элементом массива - C++
Прошу помочь, искал на форуме, но подходящего не нашел. Мне нужно ввести массив и заменить все нулевые элементы последним элементом массива.

В массиве заменить все элементы, следующие за наименьшим элементом, единицами (найти ошибку) - C++
Задание: В массиве С заменить все элементы, следующие за наименьшим элементом единицами. Вот код: #include <iostream> #include...

Напечатать все слова строки, которые начинаются цифрой - C++
Привет. Нужна помощь: Задана строка. Необходимо напечатать все слова строки, которые начинаются цифрой и подсчитать их количество.

12
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
20.07.2011, 12:27 #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';
    }
}
0
Мирзали
4 / 5 / 1
Регистрация: 20.11.2010
Сообщений: 353
20.07.2011, 12:38  [ТС] #3
спасибо за программку. только у меня не получается открыть #include <algorithm>
#include <vector>
#include <iterator> данные библиотечные файлы.
добавляю .h но результат тот же
0
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
20.07.2011, 12:39 #4
Мирзали, Замутите себе компилятор поновее.
Правда эта программа пойдет либо на 10-ой студии либо на 4.5+ gcc. Ну и кто там еще лямбды поддерживает не помню.
0
Мирзали
4 / 5 / 1
Регистрация: 20.11.2010
Сообщений: 353
20.07.2011, 12:40  [ТС] #5
std::istream_iterator
объясни пожалуйста для чего это
0
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
20.07.2011, 12:41 #6
Мирзали, Итератор потока ввода.
0
co6ak
Кошковед
409 / 502 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
20.07.2011, 12:49 #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;
}
без потоков
0
Мирзали
4 / 5 / 1
Регистрация: 20.11.2010
Сообщений: 353
20.07.2011, 12:49  [ТС] #8
у вас не получится его по проще написать на "старый" лад?
0
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
20.07.2011, 12:51 #9
Мирзали, А зачем? Берете книжку в руки - читаете что есть что - переписываете сложный код на старый лад. А для меня этот код простой, красивый и удобный в написании и использовании - не вижу резона его переписывать.
1
Мирзали
4 / 5 / 1
Регистрация: 20.11.2010
Сообщений: 353
20.07.2011, 13:01  [ТС] #10
using std::cout;
using std::endl;
decloration syntax error
ошибка синтаксиза(
0
Мирзали
4 / 5 / 1
Регистрация: 20.11.2010
Сообщений: 353
20.07.2011, 13:05  [ТС] #11
да дело в том, что только один симместр изучали С++ и глубоко не смогли изучить. не проходили ничего про файлы и т.д.
0
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
20.07.2011, 13:07 #12
Мирзали, Угу. И компилятор у вас, который не соответствует стандарту чуть более чем полностью. Поздравляю! Советую поставить другой компиль. Настоятельно советую.
0
rangerx
1935 / 1544 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
20.07.2011, 13:20 #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;
}
0
20.07.2011, 13:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.07.2011, 13:20
Привет! Вот еще темы с ответами:

Найти в каждой строке матрицы максимальный и минимальный элементы и поменять их местами с первым и последним элементом - C++
Я решила задачку но что-то не так(ошибки никак не исправлю... помогите исправте ошибки,что не правильно я сделала /*Дана матрица B....

Все элементы массива, оканчивающиеся цифрой 4, уменьшить вдвое - C++
Дан массив целых чисел. Все элементы, оканчивающиеся цифрой 4, уменьшить вдвое.

Поменять 1 столбец с последним, у которого все элементы положительные - C++
Дан массив размерности M&lt;=N. Поменять 1 столбец с последним у которого все элементы положительные. Пользоваться вспомогательными массивами...

Просуммировать все элементы массива, которые находятся между первым и последним нулем - C++
У меня такая задача: мне надо просуммировать все элементы массива, которые находятся между первым нулем в массиве и последним нулем. Для...


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

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

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