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

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

Войти
Регистрация
Восстановить пароль
 
НЕваЖно
2 / 2 / 0
Регистрация: 03.11.2008
Сообщений: 61
#1

Разработка и отладка алгоритмов и программ с использованием указателей. - C++

12.11.2009, 19:29. Просмотров 602. Ответов 1
Метки нет (Все метки)

Две обьёмные задачи , прошу помощи товарисчи , кому несложно решите за меня плз ..заранее примного благодарен .

1.В одномерном массиве, состоящем из n вещественных элементов, вычислить:
1) минимальный элемент массива;
2) сумму элементов массива, расположенных между первым и последним положительными элементами.

Преобразовать массив таким образом, чтобы сначала располагались все элементы равные нулю, а потом – все остальные нулями и распечатать их адреса.

2.В одномерном массиве, состоящем из n вещественных элементов, вычислить:
1) количество отрицательных элементов массива;
2) сумму модулей элементов массива, расположенных после минимального по модулю элемента.
Заменить все отрицательные элементы массива их квадратами и упорядочить элементы массива по возрастанию без перестановки его элементов, используя массив указателей.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.11.2009, 19:29     Разработка и отладка алгоритмов и программ с использованием указателей.
Посмотрите здесь:
Разработка и отладка алгоритмов и программ с использованием указателей C++
Разработка и отладка алгоритмов и программ с использованием указателей C++
C++ Разработка и отладка алгоритмов и программ с использованием структур данных.
C++ Лаба. Тема: Разработка и отладка алгоритмов и программ с использованием динамических структур.
Разработка и отладка алгоритмов и программ C++
C++ Разработка и отладка циклических алгоритмов и программ
Разработка и отладка циклических алгоритмов и программ C++
C++ Составление и отладка программ с использованием указателей
C++ Разработка и отладка алгоритмов и программ с применением пользовательских функций
Разработка и отладка алгоритмов и программ по созданию и обработке файлов C++
C++ Разработка и отладка алгоритмов и программ по обработке строк символов
C++ Разработка и отладка алгоритмов и программ с применением пользовательских функций

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
12.11.2009, 21:34     Разработка и отладка алгоритмов и программ с использованием указателей. #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
int main()
{
    int arr[] = {1,2,3,4,5,6,7,8,0,10};
    int min = *arr;
    const int size = sizeof(arr)/sizeof(*arr);
    for (size_t i = 0 ; i < size ; i++)
        if (*(arr+i) < min) min = *(arr+i);
    std::cout<<min;
    system("pause");
    return 0;
}
Добавлено через 38 минут
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 <iostream>
#include <numeric>
#include <algorithm>
#include <iterator>
#include <functional>
#include <vector>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL,"RUSSIAN");
    int arr[] = {1,2,3,4,5,-2,7,9,-4,-6};
    vector<int>vec(arr,arr+sizeof(arr)/sizeof(*arr));
    cout << "исходный массив" << endl;
    copy(vec.begin(),vec.end(),ostream_iterator<int>(cout," "));
    cout << endl << "сумма между первым и последним положительным элементом = ";
    vector <int> :: iterator it = find_if(vec.begin(),vec.end(),bind2nd(greater<int>(),0));
    vector <int> :: reverse_iterator it2 = find_if(vec.rbegin(),vec.rend(),bind2nd(greater<int>(),0));
    cout << accumulate (it+1,it2.base()-1,0);
    system("pause");
    return 0;
}
Добавлено через 5 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <numeric>
#include <algorithm>
#include <iterator>
#include <functional>
#include <vector>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL,"RUSSIAN");
    int arr[] = {1,2,3,4,5,-2,7,9,-4,-6};
    cout << count_if(arr,arr+sizeof(arr)/sizeof(*arr),bind2nd(less<int>(),0));
    system("pause");
    return 0;
}
Добавлено через 13 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <numeric>
#include <algorithm>
#include <iterator>
#include <functional>
#include <vector>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL,"RUSSIAN");
    int arr[] = {1,2,0,3,0,4,5,-2,7,9,-4,-6};
    int *pointer = partition(arr,arr+sizeof(arr)/sizeof(*arr),bind2nd(equal_to<int>(),0));
    copy(arr,pointer,ostream_iterator<int>(cout," "));
    copy(pointer,arr+sizeof(arr)/sizeof(*arr),ostream_iterator<int>(cout," "));
    system("pause");
    return 0;
}
Добавлено через 37 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
int main()
{
    setlocale(0,"RUSSIAN");
    int arr [] = {-3,-5,-2,-3,-4,-5,},k,sum=0;
    const int size = sizeof(arr)/sizeof(*arr);
    int min = abs(*arr);
    for (size_t i = 0 ; i < size ; i++)
        if (abs(*(arr+i)) < min)
        {
            min = abs(*(arr+i));
            k = i ;
        }
        std::cout <<arr[k]<<" минимальный по модулю элемент"<<std::endl;
        for (size_t i = k + 1 ; i < size ; i++)
            sum = sum + abs(*(arr+i));
        std::cout << "сумма="<<sum<<std::endl;
        return 0;
}
Yandex
Объявления
12.11.2009, 21:34     Разработка и отладка алгоритмов и программ с использованием указателей.
Ответ Создать тему
Опции темы

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