Одномерные Массивы В С++

Тема в разделе "C/C++/C#", создана пользователем NEON, 26 фев 2012.

  1. NEON

    NEON Гость

    надо написать несколько программок, используя один и тот же массив, используется датчик случайных чисел, все это в консольном варианте....
    1)добавление: к элементов в конец массива
    2)перестановка:поменять местами минимальный и максимальный элементы
    3)поиск:первый отрицательный
    4)сортировка:простое включение, тут у меня есть наработка про поиск первого отрицательного элемента, но видимо что то не так записано, в консоли не отображаются значения...



    #include <vcl.h>
    #include <iostream.h>
    #include <conio.h>
    #include <stdlib.h>

    char* Rus(const char* text);

    void main()
    {
    int a[100];
    int i,n;
    randomize();
    cout << Rus(" Введите n: ");
    cin >> n;
    for (i=0; i<n; i++) a=random(100)-random(100);
    if(a<0) cout << a <<" ";
    getch();
    }

    char bufRus[256];
    char* Rus(const char* text)
    {
    CharToOem(text,bufRus);
    return bufRus;
    }
     
  2. Whatka

    Whatka Well-Known Member

    Регистрация:
    9 окт 2011
    Сообщения:
    433
    Симпатии:
    4
    Код (C++):
    #include <iostream>
    using namespace std;
    void Insert(int *a,int n)//Сортировка вставками
    {
    int e,j;
    for(int i=0;i<n;i++)
    {
    e=a[i];
    j=i-1;
    while((j>=0)&&(a[j]>e))
    {
    a[j+1]=a[j];
    j=j-1;
    a[j+1]=e;
    }
    }
    }

    void main()
    {
    setlocale(LC_ALL,".1251");
    int *a,n,size,min,max;
    cout<<"Введите колличество элементов массива: ";
    cin>>n;
    cout<<"Введите максимальный(по модулю)размер элементов массива: ";
    cin>>size;
    a=new int[n];

    for (int i=0; i<n; i++)         //заполнение массива
    a[i]=rand()%size-rand()%size;   //случайными числами


    cout<<"Массив имеет вид:\n";
    for (int i=0; i<n; i++)         //вывод
    cout<<a[i]<<" ";                //массива
    cout<<endl;


    cout<<"Отрицательные элементы массива: ";
    for (int i=0; i<n; i++)
    {
    if(a[i]<0)
    {
    cout<<a[i]<<" ";
    //break;//для вывода только первого отрицательного элемента
    }
    }
    cout<<endl;


    int i1(0),i2(0);
    min=a[0];
    for (int i=0; i<n; i++)         //поиск мин элемента
    {
    if(a[i]<min)
    {
    min=a[i];
    i1=i;
    }
    }
    cout<<"Min "<<min<<endl;


    max=a[0];
    for (int i=0; i<n; i++)         //поиск макс элемента
    {
    if(a[i]>max)
    {
    max=a[i];
    i2=i;
    }
    }
    cout<<"Max "<<max<<endl;

    a[i2]=min;//меняем местами
    a[i1]=max;//макс и мин
    Insert(a,n);//сортировка

    cout<<"Отсортированный массив имеет вид:\n";
    for (int i=0; i<n; i++)         //вывод
    cout<<a[i]<<" ";                //массива
    cout<<endl;


    int k,*b;
    cout<<"Сколько эллементов хотите добавить? ";
    cin>>k;
    b=new int[n+k];
    for(int i=0;i<n;i++)
    b[i]=a[i];

    cout<<"Введите "<<k<<" элемента(ов)\n";
    for(int i=n;i<n+k;i++)
    cin>>b[i];


    cout<<"Массив имеет вид:\n";
    for(int i=0;i<n+k;i++)
    cout<<b[i]<<" ";               
    cout<<endl;
    }
     
  3. NEON

    NEON Гость

    спасибо большое за помощь :)
     
  4. NEON

    NEON Гость

    int k,*b;
        cout<<"Сколько элементов хотите добавить? ";
        cin>>k;
        b=[n+k];
        for(int i=0;i<n;i++)
            b=a;

        cout<<"Введите "<< k<<" элемента(ов)\n";
        for(int i=n;i<n+k;i++)
            cin>>b;
        

        cout<<"Массив имеет вид:\n";
        for(int i=0;i<n+k;i++)
        cout<<b<<" ";                
        cout<<endl;
    программа не работает
     
  5. Whatka

    Whatka Well-Known Member

    Регистрация:
    9 окт 2011
    Сообщения:
    433
    Симпатии:
    4
    конечно не будет
    ты кусок кода вырвал
    тем более у меня не так написано

    + хоть думай в этом куске n неизвестно
    и массив a
     
Загрузка...
Похожие Темы - Одномерные Массивы С++
  1. Lizzz
    Ответов:
    1
    Просмотров:
    1.242
  2. Fazer77777
    Ответов:
    1
    Просмотров:
    1.661
  3. 203
    Ответов:
    2
    Просмотров:
    1.386
  4. 203
    Ответов:
    0
    Просмотров:
    948
  5. 203
    Ответов:
    2
    Просмотров:
    2.168

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