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

Функция sin(x) к отрицательным элеметам массива + Quicksort - C++

Восстановить пароль Регистрация
 
BananaGuy
0 / 0 / 0
Регистрация: 24.05.2015
Сообщений: 5
27.10.2015, 15:32     Функция sin(x) к отрицательным элеметам массива + Quicksort #1
Задания: Создать рандомный дин. массив. К элементам которые <0 применить функцию sin(x). Отсортировать исходный массив QuickSortом. В чем ошибка?


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
45
46
47
48
49
50
51
52
53
#include "stdafx.h"
#include <ctime>
#include <iostream>
#include <cstdlib>
#define pi 3.14
 
void qs(float* array, int first, int last)
{
    int i = first, j = last, x = array[(first + last) / 2];
        do {
        while (array[i] < x) i++;
        while (array[j] > x) j--;
          if(i <= j) {
            if ( i < j) std::swap(array[i], array[j]);
            i++;
            j--;
}
    } while (i <= j);
    if (i < last)
        qs(array, i, last);
    if (first < j)
        qs(array, first, j);
}
using namespace std;
 
int main()
{
    int a;
    cout << "Array size: ";
    cin >> a;
    int size = a;
        float *array = new float[size];
        srand((unsigned)time(0));
        cout << "Input array: ";
        for (int i = 0; i < size; i++)
         {
             array[i] = rand() % 100-50;
             cout << array[i] << " ";
         }
         for(int i = 0; i < size;i++)
             {
                 if (array[i] < 0 )     
                    array[i] = sin(array[i]*pi/180);
             }
         qs(array, 0, size - 1);
         cout << "Output array: ";
        for(int i = 0; i < size; i++)
         {
             cout << array[i] << " ";
         }
        system("pause");
    return 0;
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.10.2015, 15:32     Функция sin(x) к отрицательным элеметам массива + Quicksort
Посмотрите здесь:

разница элементов массива, расположенных между первым отрицательным и вторым положительным элементами C++
Сумма элементов между первым положительным элементом массива и последним отрицательным C++
сумма элементов массива через один между первым отрицательным и последним положительным C++
Функция sin.getline не вызывается во второй раз C++
C++ Функция, которая вставляет перед каждым отрицательным элементом элемент с нулевым значением
C++ Quicksort, отсортировать элементы массива, стоящие на четных позициях, чтобы они располагались по убыванию
Вычислить выражение sin(sin(sin...(x))...) C++
C++ Функция sin(x+y)=sin(x)cos(y)+cos(x)sin(y)

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
4257 / 3688 / 1243
Регистрация: 14.04.2014
Сообщений: 14,444
27.10.2015, 15:36     Функция sin(x) к отрицательным элеметам массива + Quicksort #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
x-то почему int? Она должна быть того же типа, что и элементы массива.
Yandex
Объявления
27.10.2015, 15:36     Функция sin(x) к отрицательным элеметам массива + Quicksort
Ответ Создать тему
Опции темы

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