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

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

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

массив С++ - C++

29.12.2011, 12:42. Просмотров 663. Ответов 10
Метки нет (Все метки)

Здравствуйте Ув.пользователи и администрация.
Имеется вот такая задача:
дан массив:
а)вывести его на экран
б)инвертировать, т.е. поменять местами 1ый элемент с последним 2ой с предпоследним и т.д. и вывести
в)посчитать количество элементов массива, превышающих 1ый элемент

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

Ввести массив А. В массив В перенести все элементы массива А, стоящие правее максимального элемента, и имеющие нечетный индекс. Массив В отсортировать - C++
Добрый Вечер! Написал первую часть программы по этому заданию"Ввести массив А. В массив В перенести все элементы массива А, стоящие правее...

Массив: Как скопировать двумерный массив в другой массив? - C++
Как скопировать двумерный массив в другой массив?

Дан массив целых чисел,произвести для него следующие операции: для каждого из чисел ,входящего в массив,указать,сколько раз оно входит в массив... - C++
помогите!!!((( дан массив целых чисел,произвести для него следующие операции: для каждого из чисел ,входящего в массив,указать,сколько...

Файл: Загрузка данных из файла: первый столбец записывался в 1й массив, второй столбец - во 2й массив, а 3й столбец - в 3й массив. - C++
Есть текстовый файл, в нем 3 столбца чисел (число строк заранее неизвестно). Напишите пожалуйста код, чтобы первый столбец записывался в...

Дан массив А(4,4). Сформировать массив В(4) из среднеарифметических значений элементов в каждой строке. - C++
Дан массив А(4,4). Сформировать массив В(4) из среднеарифметических значений элементов в каждой строке. Посмотрите пожалуйста... ...

Массив: сформировать массив C[12] так, чтобы элементы располагались следующим образом: A(1) B(1) A(2) B(2) - C++
из массивов A и B сформировать массив C так, чтобы элементы массива располагались следующим образом: A(1) B(1) A(2) B(2) и т.д.

10
soon
2541 / 1306 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
29.12.2011, 12:48 #2
Цитата Сообщение от 1ive Посмотреть сообщение
посчитать количество элементов массива, превышающих 1ый элемент
Первый до или после инвертирования?
0
1ive
0 / 0 / 0
Регистрация: 29.12.2011
Сообщений: 10
29.12.2011, 12:49  [ТС] #3
после.
0
soon
2541 / 1306 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
29.12.2011, 12:57 #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <vector>
#include <ctime>
#include <cstdlib>
#include <iostream>
#include <iterator>
#include <algorithm>
 
int main()
{
    srand(time(nullptr));
    std::vector<int> v(10);
    std::generate(v.begin(), v.end(), [] { return rand() % 21; });
    std::copy(v.begin(), v.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
    std::reverse(v.begin(), v.end());
    std::copy(v.begin(), v.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
    std::cout << std::count_if(v.begin(), v.end(), [=](int num) { return num > *v.begin(); }) << std::endl;
    return 0;
}
Без C++0x
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
#include <vector>
#include <ctime>
#include <cstdlib>
#include <iostream>
#include <iterator>
#include <algorithm>
 
template <class T> T gen() { return rand() % 21; }
 
int main()
{
    srand(time(NULL));
    std::vector<int> v(10);
    std::generate(v.begin(), v.end(), gen<int>);
    std::copy(v.begin(), v.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
    std::reverse(v.begin(), v.end());
    std::copy(v.begin(), v.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
    int count = 0;
    for(std::vector<int>::iterator it = v.begin(); it != v.end(); ++it)
        if(*it > *v.begin())
            ++count;
    std::cout << count << std::endl;
    return 0;
}
1
1ive
0 / 0 / 0
Регистрация: 29.12.2011
Сообщений: 10
29.12.2011, 14:14  [ТС] #5
soon? можно кое что уточнить?
0
soon
2541 / 1306 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
29.12.2011, 14:16 #6
Спрашивайте.
0
1ive
0 / 0 / 0
Регистрация: 29.12.2011
Сообщений: 10
29.12.2011, 14:18  [ТС] #7
вы сделали программу так что бы массив сам генерировал числа...и для понимания программа сложна (новичок я)...а как сделать что бы ввод массива осуществлялся с клавиатуры...?
0
soon
2541 / 1306 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
29.12.2011, 14:22 #8
Цитата Сообщение от soon Посмотреть сообщение
return rand() % 21;
Замените на
C++
1
2
3
int num;
std::cin >> num;
return num;
Если вы используете первый код, и на
C++
1
2
3
T num;
std::cin >> num;
return num;
если второй(первый c С++0x, второй без)
0
1ive
0 / 0 / 0
Регистрация: 29.12.2011
Сообщений: 10
29.12.2011, 14:44  [ТС] #9
большое спасибо...! а да и еще. коментарии ввести (если можно), т.е. когда выводим массив, когда инвертируем и наконец когда сравниваем с первым элементом
0
soon
2541 / 1306 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
29.12.2011, 14:47 #10
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
#include <vector>
#include <ctime>
#include <cstdlib>
#include <iostream>
#include <iterator>
#include <algorithm>
 
template <class T> T gen() { return rand() % 21; }
 
int main()
{
    srand(time(NULL));
    std::vector<int> v(10);
    std::generate(v.begin(), v.end(), gen<int>);//генерируем массив
    std::copy(v.begin(), v.end(), std::ostream_iterator<int>(std::cout, " "));//выводим массив
    std::cout << std::endl;
    std::reverse(v.begin(), v.end());//инвертируем массив
    std::copy(v.begin(), v.end(), std::ostream_iterator<int>(std::cout, " "));//выводим массив
    std::cout << std::endl;
    int count = 0;
    for(std::vector<int>::iterator it = v.begin(); it != v.end(); ++it)//цикл сравнения
        if(*it > *v.begin())
            ++count;
    std::cout << count << std::endl;//вывод счетчика
    return 0;
}
1
1ive
0 / 0 / 0
Регистрация: 29.12.2011
Сообщений: 10
29.12.2011, 14:50  [ТС] #11
премного благодарен!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.12.2011, 14:50
Привет! Вот еще темы с ответами:

Переписать положительные элементы массива K,кратные пяти в массив M,а остальные-в массив Q. - C++
Дан массив K(N).Переписать положительные элементы массива K,кратные пяти в массив M,а остальные-в массив Q.

Массив: Все элементы массива, кратные трем, записать в одномерный массив. - C++
Дан двумерный массив размером n x n? заполненный целыми числами. Все его элементы кратные трем, записать в одномерный массив.

Массив: Переместить в массив Y все числа, дробная часть которых больше 5. - C++
Помогите решить, вообще не понимаю как в С++ с дробной частью работать. Задан массив X(N) дробных чисел. Переместить в массив Y все...

Заполнить массив первыми ста простыми числами, и вывести массив на экран - C++
Объявите одномерный целочисленный массив в котором не более 100 элементов выполните генерацию массива первыми 100 простыми числами....


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

Или воспользуйтесь поиском по форуму:
11
Yandex
Объявления
29.12.2011, 14:50
Ответ Создать тему
Опции темы

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