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

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

Войти
Регистрация
Восстановить пароль
 
Tenataliya
4 / 4 / 0
Регистрация: 07.05.2010
Сообщений: 40
#1

Массивы в С++ - C++

08.05.2010, 14:02. Просмотров 606. Ответов 10
Метки нет (Все метки)

Всем здравствуйте! Пожалуйста помогите если сможете. Я сама не могу, а надо
1: В упорядоченном массиве а1,...,а20 заменить один из элементов на заданное р так , чтобы не нарушилась упорядоченность
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.05.2010, 14:02     Массивы в С++
Посмотрите здесь:

Упорядочить массивы по по убыванию, потом соединить массивы в один упорядоченный массив - C (СИ)
Начала писать, запуталась Даны два одномерных массива состоящие из 10 целых чисел. Упорядочить массивы по по убыванию, потом соединить...

Даны массивы а и b. Получить новые массивы a и b, элементы которых вычисляются по правилу: ai=bi, bi= -ai - Pascal
Даны массивы а и b, состоящие из n-элементов каждый. Получить новые массивы a и b, элементы которых вычисляются по правилу: ai=bi, bi=...

Даны массивы A(8), F(8),Q(8). Сформировать массивы С(8), каждый элемент которого вычисляется по формуле - Pascal ABC
uses crt; type mas=array of integer; var A,F,Q,C:mas; i,s:integer; begin clrscr; writeln('Массив первый:'); for i:=1...

Табулирование функции и поиск данных. Одномерные массивы. Двумерные массивы - C#
Вычислить сумму первых четырех отрицательных элементов. В соответствии с п. 5.16 правил "Запрещено создавать темы с множеством...

Массивы. Циклические алгоритмы (Заполнить массивы случайными числами, лежащими в интервале 0 до 100) - C++
Доброго дня, уважаемые форумчане, помогите пожалуйста решить задание. Заполнить массивы случайными числами, лежащими в интервале 0 до...

Указатели и массивы. Индексация с помощью указателей. Передача массивов в функции. Динамические массивы (обработка матриц) - C++
Для каждого элемента , bij, i= 1,...,n , j=1,...,n определяется свой многоугольник местонахождением соответствующего элемента aij (см....

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NNN777
299 / 157 / 19
Регистрация: 27.02.2010
Сообщений: 317
08.05.2010, 14:23     Массивы в С++ #2
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
54
55
56
57
58
59
60
61
62
63
64
65
66
#include <iostream>
#include <time.h>
using namespace std;
const int N =40;
 
void main()
{
    setlocale (LC_ALL, "Russian");
    int n=20, i, p, j, a[N], buf;
    srand(time(NULL));
    cout<<"Введите "<<n<<" элементов: \n";
    for (i=0; i<n; i++)
        a[i]=1+rand()%20;
    cout<<endl;
    for (i=0; i<n; i++)
        cout<<a[i]<<" ";
    cout<<endl;
    
//упорядочьть массив (не обязательно, если задан упорядоченный)
    for (i=0; i<n; i++)
        for(j=n-1; j>i; j--)
            if (a[j-1]>a[j])
            {
                buf=a[j-1];
                a[j-1]=a[j];
                a[j]=buf;
            }
    cout<<"\nУпорядоченный массив: \n";
    for (i=0; i<n; i++)
        cout<<a[i]<<" ";
    cout<<endl; 
    cout<<"Введите p: ";
    cin>>p;
 
    //вставка p
    for (i=0; i<n; i++)
    {
        if (p<a[0])
        {
            for (j=n; j>0; j--)
                a[j]=a[j-1];
            n++;
            a[0]=p;
            break;
        }
        if (p>a[n-1])
        {
            a[n]=p;
            n++;
            break;
        }
        if (a[i]<=p&&a[i+1]>=p)
        { 
            for (j=n; j>i; j--)
                a[j]=a[j-1];
            n++;
            a[i+1]=p;
            break;
        }
    }
            
    cout<<"\nМассив: \n";
    for (i=0; i<n; i++)
        cout<<a[i]<<" ";
    cout<<endl; 
}
смысл такой...
Tenataliya
4 / 4 / 0
Регистрация: 07.05.2010
Сообщений: 40
08.05.2010, 14:29  [ТС]     Массивы в С++ #3
Спасибочки Вам Огроменное
neske
1479 / 846 / 75
Регистрация: 26.03.2010
Сообщений: 2,902
08.05.2010, 14:33     Массивы в С++ #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
#include <iostream>
#include <iomanip>
 
int main ()
{
    const int size=10;
    int MAS[size]= {3,6,9,13,14,16,20,22,26,30};
 
    std::cout << "Start matrix:\n";
    for (int i=0; i<size; i++)
        std::cout << std::setw(3) << MAS[i];
 
    std::cout << std::endl << "Input P: ";
    int P; std::cin >> P;
 
    for (int i=1; i<size; i++)
    if ((P>MAS[i-1]) && (P<MAS[i+1])) {
         MAS[i]=P;
         break; }
 
    if (P<MAS[1]) MAS[0]=P;
 
    std::cout << "Finish matrix:\n";
    for (int i=0; i<size; i++)
        std::cout << std::setw(3) << MAS[i];
 
    return 0;
}
Добавлено через 17 секунд
NNN777, не видел..)
Tenataliya
4 / 4 / 0
Регистрация: 07.05.2010
Сообщений: 40
08.05.2010, 14:41  [ТС]     Массивы в С++ #5
Вам тоже огроменное СПАСИБО Не думала что кто то откликнется. Приятно что есть хорошие добрые люди Боюсь показатся наглой, но у меня есть еще задача:
Таблица выигрышей лотереи представлена в виде двух массивов a, c : array[1...48] of integer, так что, a[i]-это выигравшие номера, а c[i]- положительные числа, означающие выигрыши в рублях, выпавшие на номера a[i]. Отсортировать таблицу по возрастанию выигравших номеров, пользуясь методом:
а) сортировки прямым выбором;
в) шейкерной сортировки
neske
1479 / 846 / 75
Регистрация: 26.03.2010
Сообщений: 2,902
08.05.2010, 15:05     Массивы в С++ #6
Вариант А.
Такое решение подойдет? Просто я не до конца понял задание.

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
#include <iostream>
#include <iomanip>
 
void Sort_vibor (int [], int);
 
int main ()
{
    const int size=48;
    int A[size];
    int C[size];
 
    for (int i=0; i<size; i++) {
        A[i]=rand()%100+1; // 1..100
        C[i]=rand()%100+10; } // 10..100
 
    std::cout << "Viigravshie nomera:\n";
    Sort_vibor (A, size);
    std::cout << "\nViigrish v rublyah:\n";
    Sort_vibor (C, size);
 
 
    return 0;
}
 
void Sort_vibor (int MAS[], int size)
{
    int i,j;
    int k,x;
 
    for (i=0; i<size; i++)
    {
        k=i;  x=MAS[i];
        for (j=i+1; j<size; j++)
        if (MAS[j]<x)
        { k=j; x=MAS[j]; }
    MAS[k]=MAS[i]; MAS[i]=x;
    }
 
    std::cout << "\n";
    for (i=0; i<size; i++)
    std::cout << std::setw(4) << MAS[i];
}
Tenataliya
4 / 4 / 0
Регистрация: 07.05.2010
Сообщений: 40
08.05.2010, 15:14  [ТС]     Массивы в С++ #7
А что Вы не поняли в моей задаче? Напишите может я помогу. Я конечно не очень разбираюсь. но может все таки
neske
1479 / 846 / 75
Регистрация: 26.03.2010
Сообщений: 2,902
08.05.2010, 15:26     Массивы в С++ #8
Как будут заполнятся массивы A, C? Если случайными числами, то в каких диапазонах? Это не принципиально, но все же.
Нужно же сортировать оба массива? (См. мой вариант)
И вообще, мой вариан подходит с первой сортировкой?
Tenataliya
4 / 4 / 0
Регистрация: 07.05.2010
Сообщений: 40
08.05.2010, 15:33  [ТС]     Массивы в С++ #9
Да Вы правы массив надо заполнить случайным образом, Ну например от 1 до 100. Сортировать оба массива. Ваш вариант наверно подходит . Я в этом не очень так. Спасибо что помогаете.
neske
1479 / 846 / 75
Регистрация: 26.03.2010
Сообщений: 2,902
08.05.2010, 15:44     Массивы в С++ #10
Ну тогда мой вариант подходит.
Прочитайте о сортировке массива выбором, чтобы понять что к чему.
Сейчас допишу сортировку Шейкера.

Добавлено через 8 минут
Ну вот, если нигде не ошибся:
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
#include <iostream>
#include <iomanip>
 
void Sort_sheikera (int [], int);
 
int main ()
{
    const int size=48;
    int A[size];
    int C[size];
 
    for (int i=0; i<size; i++) {
        A[i]=rand()%100+1; // 1..100
        C[i]=rand()%100+10; } // 10..100
 
    std::cout << "Viigravshie nomera:\n";
    Sort_sheikera (A, size);
    std::cout << "\nViigrish v rublyah:\n";
    Sort_sheikera (C, size);
 
 
    return 0;
}
 
void Sort_sheikera(int MAS[], int size)
{
    int trash=0;
    bool f=true;
    for (int i=1;  (i<=size) && (f=true) ; i++)
    {
        f=false;
        for (int j=i;  j<=size-i;  j++)
            if (MAS[j] > MAS[j+1]) {
                trash=MAS[j];
                MAS[j]=MAS[j+1];
                MAS[j+1]=trash;
                f=true; }
 
         for (int j=size-i-1; j>i ; j--)
            if (MAS[j]<MAS[j-1]) {
                trash=MAS[j];
                MAS[j]=MAS[j-1];
                MAS[j-1]=trash;
                f=true; }
    }
    std::cout << "\n";
    for (int i=0; i<size; i++)
    std::cout << std::setw(4) << MAS[i];
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.05.2010, 15:55     Массивы в С++
Еще ссылки по теме:

Файлы. Компоненты - массивы чисел. Переформировать файл, где сначала идут массивы с положительными макс. элементами - Turbo Pascal
Здравствуйте!! я пишу такую задачу: нужно написать две программы, одна из них создает файл, где компоненты - массивы вещ. чисел; ...

Попадание точки. Массивы чисел. Массивы записей. - C++
Всем привет. По языкам задали три контрольные на си. Я сам си не знаю, даже не представляю, поэтому очень нужна ваша помощь. ...

Многомерные массивы, как перебирать внутренние массивы - C++
Здравствуйте. Такой учебный код и плохо понимаю как перебираются внутренние массивы, может кто пояснит подоходчивее. Именно внутренний...


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

Или воспользуйтесь поиском по форуму:
Tenataliya
4 / 4 / 0
Регистрация: 07.05.2010
Сообщений: 40
08.05.2010, 15:55  [ТС]     Массивы в С++ #11
Спасибо Вам еще раз за помощь
Yandex
Объявления
08.05.2010, 15:55     Массивы в С++
Ответ Создать тему
Опции темы

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