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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.60
SkN[i]lpl[e][r]
3 / 3 / 0
Регистрация: 12.05.2011
Сообщений: 235
#1

[C++] Даны целые числа а1,....,аn... - C++

18.12.2011, 20:17. Просмотров 1348. Ответов 3
Метки нет (Все метки)

Нужна срочная помощь в решении задач! Я новичек в С++ и почти не шарю в нем.... Помогите плиз..
Вот задачи:
1) Даны целые числа а1,....,аn. Все члены последовательности с четными номерами, предшествующие первому по порядку члену со значением max(a1,...,an), домножить на max(a1,...,an).

2)Даны натуральное число m, целые числа a1,...,am и челочисленная квадратная матрица порядка m. Строку с номером i матрицы назовем отмеченнойб если ai>0, и неотмеченной в противном случае.
Нужно все элементы, расположенные в отмеченных строках матрицы, преобразовать по правилу: отрицательные элементы заменить на -1, положительные на 1, а нулевые оставить без изменения.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.12.2011, 20:17     [C++] Даны целые числа а1,....,аn...
Посмотрите здесь:
Даны целые числа р и q. Получить все делители числа q, взаимно простые с р. C++
Даны два целых числа M но N. Вывести все целые числа из промежутка [M,n] C++
C++ Даны целые числа р и q. Получить все делители числа q, взаимно простые с р
Даны целые числа, удалить все числа со значением максимального из них C++
C++ Даны целые числа a1, a2, ., an. Получить те положительные числа из этой последовательности, которые являются полными квадратами
Даны целые положительные числа аь а2,., а„. Найти среди них те, которые являются квадратами некоторого числа т C++
C++ Даны целые числа a, n
Даны целые числа N (> 2), A и B. C++
C++ Даны целые числа а1, а2, ... , аn
C++ Даны целые числа a,b,c
C++ Даны целые числа
Даны целые числа с1 с2 C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
18.12.2011, 20:28
  #2

Не по теме:

Цитата Сообщение от SkN[i
lpl[e][r];2300867]Довольно сложные задачки
здесь не любят когда обманывают!

SkN[i]lpl[e][r]
3 / 3 / 0
Регистрация: 12.05.2011
Сообщений: 235
18.12.2011, 20:30  [ТС]     [C++] Даны целые числа а1,....,аn... #3
3) Дано четное число n>2; проверить для этого числа гипотезу Гольдбаха. Эта гипотеза (по сегодняшний день не опровергнута и полностью не доказанная) заключается в том, что каждое четное n, большее двух, представляется в виде суммы двух простых чисел. (опредеить процедуруб позволяющую распознать простые числа.)
soon
2538 / 1303 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
18.12.2011, 21:01     [C++] Даны целые числа а1,....,аn... #4
Цитата Сообщение от SkN[i
lpl[e][r];2300867]1) Даны целые числа а1,....,аn. Все члены последовательности с четными номерами, предшествующие первому по порядку члену со значением max(a1,...,an), домножить на max(a1,...,an).
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iterator>
#include <iostream>
#include <vector>
#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::vector<int>::iterator max = std::max_element(v.begin(), v.end());
    for(std::vector<int>::iterator it = v.begin(); it < max; it += 2)
        *it *= *max;
    std::copy(v.begin(), v.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
    return 0;
}
Добавлено через 25 минут
Цитата Сообщение от SkN[i
lpl[e][r];2300867]2)Даны натуральное число m, целые числа a1,...,am и челочисленная квадратная матрица порядка m. Строку с номером i матрицы назовем отмеченнойб если ai>0, и неотмеченной в противном случае.
Нужно все элементы, расположенные в отмеченных строках матрицы, преобразовать по правилу: отрицательные элементы заменить на -1, положительные на 1, а нулевые оставить без изменения.
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
36
37
38
39
40
41
42
43
44
#include <iterator>
#include <iostream>
#include <vector>
#include <algorithm>
#include <iomanip>
 
int main()
{
    srand(time(NULL));
    int n;
    std::cin >> n;
    std::vector<int> v(n);
    std::generate(v.begin(), v.end(), [] { return (rand() % 21 - 10); });
    std::copy(v.begin(), v.end(), std::ostream_iterator<int>(std::cout, "\t"));
    std::cout << std::endl;
    std::cout << std::endl;
    std::vector<std::vector<int> > arr(n);
    for(int i = 0; i < n; ++i)
    {
        std::vector<int> tmp(n);
        std::generate(tmp.begin(), tmp.end(), [] { return (rand() % 21 - 10); });
        std::copy(tmp.begin(), tmp.end(), std::ostream_iterator<int>(std::cout, "\t"));
        std::cout << std::endl;
        if(v.at(i) > 0)
            for(auto &it: tmp)
            {
                if(it > 0)
                    it = 1;
                else if(it < 0)
                    it = -1;
                else
                    it = 0;
            }
        arr.at(i).insert(arr.at(i).begin(), tmp.begin(), tmp.end());
    }
    std::cout << std::endl;
    for(int i = 0; i < n; ++i)
    {
        std::copy(arr.at(i).begin(), arr.at(i).end(), std::ostream_iterator<int>(std::cout, "\t"));
        std::cout << std::endl;
    }
    std::cout << std::endl;
    return 0;
}

Не по теме:

Вопрос. Можно-ли при помощи std::copy выводить вектор форматированно, что-то наподобии этого

C++
1
2
for(auto &it: vec)
    std::cout << std::setw(5) << it;
Прсто интересно.

Yandex
Объявления
18.12.2011, 21:01     [C++] Даны целые числа а1,....,аn...
Ответ Создать тему
Опции темы

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