Загрузка...

Надо в массиве найти нужные мне элементы

Тема в разделе C/C++ создана пользователем PIR4T 10 мар 2020. 174 просмотра

Загрузка...
  1. PIR4T
    PIR4T Автор темы 10 мар 2020 Буду бороздить моря и пить свой ром, ведь я пират 2753 11 апр 2019
    По скольку в С++ я нихуя не понимаю, я надеюсь на вашу помощь. Кто поможет тот ебать прям пиздец какой молодец.
    Работу делаю в VisualStudio.

    Задание:
    Вариант 12 Даны целые числа n , 0 a , a1 , 2 a , …, n−1 a . Выбрать члены последовательности 0 a , a1 , 2 a , …, n−1 a , значение синуса которых отрицательно, а также найти наименьшее значение среди членов последовательности.

    Почему то нихуя не работало. В первых строчках я заметил вроде как ошибку и исправил на:
    #include <conio>

    #include <iostream>

    using namespace std;

    main()

    {

    Ну и вроде работает.

    КОД(который не исправлен):
    Код
    #include <conio.h>
    #include <iostream.h>
    main()
    // пример программы обработки динамических массивов
    {
    int n, // количество элементов в исходном массиве
    m; // количество элементов в результирующем массиве
    int *a, // массив (исходный и результирующий)
    *temp_a; // временный (промежуточный) массив
    int i,j; // счетчики циклов
    int imax, // индекс максимального элемента массива
    imin; // индекс минимального элемента массива
    int ibeg, // индекс начала заменяемого набора элементов
    iend; // индекс конца заменяемого набора элементов
    int s_pos; // сумма полож. элементов в заменяемом наборе
    clrscr ();
    // формирование исходного массива
    cout<<"Введите количество элементов массива: ", cin>>n;
    a=new int[n];
    cout<<"Введите "<<n<<" элемента(ов) массива: ";
    for(i=0;i<n;i++)
    cin>>a[i];
    cout<<"Исходный массив: "<<endl;
    for(i=0;i<n;i++)
    cout<<"a["<<i<<"]="<<a[i]<<" ";
    cout<<endl;
    // поиск индексов макс. и мин. элементов массива
    for(imax=imin=0,i=1;i<n;i++){
    if(a[i]>a[imax]) imax=i;
    if(a[i]<a[imin]) imin=i;
    }
    cout<<"Максимальный элемент: a["<<imax<<"]="<<a[imax]<<endl
    <<"Минимальный элемент: a["<<imin<<"]="<<a[imin]<<endl;
    // поиск индексов начала и конца заменяемого набора элементов
    if(imax<imin) ibeg=imax+1, iend=imin–1;
    else ibeg=imin+1, iend=imax-1;
    cout<<"Заменяемый набор элементов: "<<endl;
    for (i=ibeg;i<=iend;i++)
    cout<<"a["<<i<<"]="<<a[i] <<" ";
    cout<<endl;
    // расчет суммы положительных элементов заменяемого набора
    for(i=ibeg,s_pos=0;i<=iend;i++)
    if(a[i]>0) s_pos+=a[i];
    cout<<"Сумма положительных элементов заменяемого набора: "
    <<s_pos<<endl;
    temp_a=a; // адрес исходного массива
    m=n+ibeg–iend; // кол-во элементов в результирующем массиве
    a=new int[m]; // результирующий массив
    /*–––––––– формирование результирующего массива ––––––––––*/
    // запись эл-тов, расположенных до начала заменяемого набора
    for(i=0,j=0;i<ibeg;i++,j++)
    a[j]=temp_a[i];
    // запись суммы положительных элементов заменяемого набора
    a[j++]=s_pos;
    // запись эл-тов, расположенных после конца заменяемого набора
    for(i=iend+1;i<n;i++,j++)
    a[j]=temp_a[i];
    // освобождение памяти из-под исходного массива
    delete []temp_a;
    // вывод на экран результирующего массива
    cout<<" Результирующий массив: "<<endl ;
    for(i=0;i<m;i++)
    cout<<"a["<<i<<"]="<<a[i]<<" ";
    cout<<endl;
    cout<<"Нажмите любую клавишу...";
    getch();
    delete []a; // освобождение памяти
    return 0;
    }
     
  2. Fender_inactive2697143
    Отпиши в ЛС на форуме, сразу прикрепляй свой дискорд
     
  3. openfragus
    openfragus 17 мар 2020 15 22 фев 2017
    Код
    #include "stdafx.h"
    #include <vector>
    #include <iostream>
    using namespace std;
    void FindSinAndMin(vector<double>& vect,vector<double>& vect_sin,double& min){
    min = vect[0];
    for(int i = 0;i<vect.size();i++){
    if(sin(vect[i])<0) vect_sin.push_back(vect[i]);
    if(vect[i]<min) min = vect[i];
    }
    }
    void ShowVector(vector<double>& vect){
    for(auto a:vect){
    cout<<a<<" ";
    }
    cout<<endl;
    }
    int main()
    {
    vector<double> list_variable;
    vector<double> list_sin;
    cout<<"Input n"<<endl;
    int n;double elements;double min;
    cin>>n;
    cout<<"Input elements array"<<endl;
    for(int i = 0;i<n;i++){
    cin>>elements;
    list_variable.push_back(elements);
    }
    cout<<"Show Vector elements"<<endl;
    ShowVector(list_variable);
    cout<<"Check Sin"<<endl;
    FindSinAndMin(list_variable,list_sin,min);
    ShowVector(list_sin);
    cout<<"Min = "<<min<<endl;
    return 0;
    }
    --- Сообщение объединено с предыдущим 17 мар 2020
    [IMG]
     
Top