Задача С Массивом

Тема в разделе "C/C++/C#", создана пользователем filpaul, 5 янв 2014.

  1. filpaul

    filpaul New Member

    Регистрация:
    5 янв 2014
    Сообщения:
    1
    Симпатии:
    0
    Помогите пожалуйста с задачей:
    Вставить заданное число в массив целых чисел:
    a)перед всеми элементами, кратными числу A;
    б) После всех отрицательных элементов;

    Вот, что у меня получилось(пока для пункта "а"), но прога выдает исходный массив:

    #include <iostream>
    #include <cstdlib>
    #include <cmath>
    using namespace std;
    int main()
    {
    int i;
    i=40;
    int mas[]={-3,-2,-1,4,6,10,16,21,44,45,68,-60,-81,33};
    cout<<"ishodny massiv:";
    for (int i=0;i<14;i++)
    cout<<" "<<mas<<" ";
    int k,z,c;
    cout<<""<<endl;
    cout <<"Vvedite chislo z na nego delit"<<endl;
    cin >>z;
    cout <<"Vvedite chislo k"<<endl;
    cin>>k;
    c=14;
    for (i=0;i<c;i++)
    {
    if ((mas%z)==0)
    {
    c=c+1;
    for (int j=c; j>=0; j--)
    {
    mas[c]=mas[c-1];
    mas=k;
    }
    }
    cout<<"New massiv:";
    for (int i=0;i<c;i++)
    cout<<" "<<mas<<" ";
    system("pause");
    return 0;
    }
    }
     
  2. Whatka

    Whatka Well-Known Member

    Регистрация:
    9 окт 2011
    Сообщения:
    433
    Симпатии:
    4
    Код (C++):
    //
    #include <iostream>
    #include <ctime>
    using namespace std;
    void main()
    {
    //======================================================
    //Создание и заполнение массивов

    setlocale(LC_ALL,"RUS");
    int size,A,C;
    cout<<"Размер массива,А и выбранное число:";
    cin>>size>>A>>C;
    int *Mas=new int [size];
    srand(time(0));
    cout<<"Исходный массив:";
    for(int i=0;i<size; ++i)
    {
    int temp=rand()%11+1;
    Mas[i]=(int)(rand()%1000-500)/temp;
    cout<<Mas[i]<<" ";
    }

    int *Stor=new int [size];
    for(int i=0;i<size;++i)
    Stor[i]=Mas[i];

    //======================================================
    //Вычисление кол-ва дополнительных мест

    int bonus_size(0);
    bool first(1);
    for(int i=size-1; i>=0; i--)
    {
    if(Mas[i]<0 && first )
    {
    first=false;
    if(Mas[i]%A!=0)
    {
    bonus_size++;
    continue;
    }
    }
    if(Mas[i]%A == 0)
    bonus_size++;
    }
    cout<<"\n+новых="<<bonus_size;
    //======================================================
    //Заполнение нового массива

    delete [] Mas;
    Mas=new int[size+bonus_size];
    bool first_neg(1);

    for(int i=size-1,j=size+bonus_size-1;i>=0;i--,j--)
    {
    if(Stor[i]%A!=0 && Stor[i]<0 && first_neg)
    {
    Mas[j]=C;
    j--;
    first_neg=false;
    }
    if(Stor[i]%A == 0)
    {
    Mas[j]=C;
    j--;
    }
    Mas[j]=Stor[i];
    }

    //======================================================
    //Вывод результатов

    cout<<"\nМассив:";
    for(int i=0;i<size+bonus_size;i++)
    cout<<Mas[i]<<" ";
    cout<<"\n";
    }
    //
     
Загрузка...
Похожие Темы - Задача Массивом
  1. Янчик
    Ответов:
    0
    Просмотров:
    490
  2. TrishaRay
    Ответов:
    1
    Просмотров:
    783
  3. elzim
    Ответов:
    0
    Просмотров:
    932
  4. ShaoKahn
    Ответов:
    0
    Просмотров:
    1.128
  5. eremin-sanek
    Ответов:
    3
    Просмотров:
    1.107

Поделиться этой страницей