Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 05.12.2009
Сообщений: 103

Посчитать количество неодинаковых элементов массива

03.04.2010, 13:37. Показов 1990. Ответов 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
43
44
45
46
47
48
49
50
#include <iostream>
using namespace std;
void bubbleSort(int array[], int col){                    
    int temp=0;                              
    for (int i=1;  i<col  ;  i++){            
        for (int j=0;  j<col-i;  j++){     
            if (array [j]>array [j+1]){     
                temp=array[j];           
                array [j]=array [j+1];    
                array [j+1]=temp;
            }
        }
    }
}
void ras()
{
    int *array;
    int k;
    int size;
            for (int i = 0; i < size; i ++ )
    {
        if (array[i]!=array[i+1])
            k=k+1;
    }
}
int main()
{
    int k;
    int i, size;
    int *array;
    cout << "Enter array dimension: ";
    cin >> size;
    array = new int[size];
    cout << "Enter " << size << " elements: ";
    for ( i = 0; i < size; i ++ ){
        cin >> array[i];
    }
 
    bubbleSort( array, size );
 
    cout << "Your array after sorting: ";
    for ( i = 0; i < size; i ++ )
    {
        cout << array[i] << " ";
    } 
    ras();
    cout<<"Razli4nih elementov v massive: "<<k;
    system("PAUSE");
    return 0;
}
проблема в том что выдает огромное число с минусом в переменной k, что не так?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.04.2010, 13:37
Ответы с готовыми решениями:

Ввести два массива и определить количество неодинаковых элементов в них
Ввести два массива и определить количество неодинаковых элементов в них Размер массива: до 10. Тип данных: действительный ...

Посчитать количество элементов, отличающихся от среднего арифметического значения элементов массива
Подсчитать количество элементов массива Р (60), отличающихся от среднего арифметического значения элементов массива М (70) не более чем...

Создать массив С какой складываться из нечетных чисел массива А, посчитать количество элементов массива С
Дано целочисловий одномерный массив А, какой состоит из 12 элементов. Создать массив С какой складываться из нечетных чисел массива А,...

6
Maniac
Эксперт С++
 Аватар для ISergey
1465 / 966 / 160
Регистрация: 02.01.2009
Сообщений: 2,820
Записей в блоге: 1
03.04.2010, 13:45
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Переменная к нигде не инициализирована..
В общем так сделай..
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
#include <iostream>
using namespace std;
void bubbleSort(int array[], int col){                    
        int temp=0;                              
        for (int i=1;  i<col  ;  i++){            
                for (int j=0;  j<col-i;  j++){     
                        if (array [j]>array [j+1]){     
                                temp=array[j];           
                                array [j]=array [j+1];    
                                array [j+1]=temp;
                        }
                }
        }
}
void ras(int &k)
{
        int *array;
        //int k;
        int size;
                        for (int i = 0; i < size; i ++ )
        {
                if (array[i]!=array[i+1])
                        ++k;
        }
}
int main()
{
        int k = 0;
        int i, size;
        int *array;
    cout << "Enter array dimension: ";
    cin >> size;
        array = new int[size];
    cout << "Enter " << size << " elements: ";
        for ( i = 0; i < size; i ++ ){
                cin >> array[i];
        }
 
        bubbleSort( array, size );
 
        cout << "Your array after sorting: ";
        for ( i = 0; i < size; i ++ )
        {
                cout << array[i] << " ";
        } 
        ras(k);
        cout<<"Razli4nih elementov v massive: "<<k;
        system("PAUSE");
    return 0;
}
0
0 / 0 / 0
Регистрация: 05.12.2009
Сообщений: 103
03.04.2010, 13:55  [ТС]
теперь, выдает ответ, что к=0
0
Maniac
Эксперт С++
 Аватар для ISergey
1465 / 966 / 160
Регистрация: 02.01.2009
Сообщений: 2,820
Записей в блоге: 1
03.04.2010, 14:01
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Вот. Сразу недоглядел..
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
void ras(const int *arr, int s, int &k)
{
       // int *array;
        //int k;
       // int size;
                        for (int i = 0; i < s - 1; i++ )
        {
                if (arr[i]!=arr[i+1])
                        ++k;
        }
}
int main()
{
        int k = 0;
        int i, size;
        int *array;
    cout << "Enter array dimension: ";
    cin >> size;
        array = new int[size];
    cout << "Enter " << size << " elements: ";
        for ( i = 0; i < size; i ++ ){
                cin >> array[i];
        }
 
        bubbleSort( array, size );
 
        cout << "Your array after sorting: ";
        for ( i = 0; i < size; i ++ )
        {
                cout << array[i] << " ";
        } 
        ras(array, size, k);
        cout<<"Razli4nih elementov v massive: "<<k;
        system("PAUSE");
    return 0;
}
1
0 / 0 / 0
Регистрация: 05.12.2009
Сообщений: 103
03.04.2010, 14:19  [ТС]
Спасибо, все так стало, кроме того как S-1, надо просто S=)
0
Maniac
Эксперт С++
 Аватар для ISergey
1465 / 966 / 160
Регистрация: 02.01.2009
Сообщений: 2,820
Записей в блоге: 1
03.04.2010, 14:47
Цитата Сообщение от KeR Посмотреть сообщение
кроме того как S-1, надо просто S=)
Тогда будет выход за границы массива...
1
0 / 0 / 0
Регистрация: 05.12.2009
Сообщений: 103
03.04.2010, 15:47  [ТС]
Цитата Сообщение от ISergey Посмотреть сообщение
Тогда будет выход за границы массива...
да не спорю, но так он правильно считает
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.04.2010, 15:47
Помогаю со студенческими работами здесь

Из нечётных чисел заданного массива создать новый массив и посчитать количество элементов нового массива
Дано целочисленный одномерный массив А , состоящий из 12 элементов . Создать массив С , состоящий из нечетных чисел массива А , посчитать...

Посчитать количество положительных элементов массива
Посчитать кол-во положительных чисел эл. массива #include &lt;iostream&gt; using namespace std; int main() { int a, i, k=0; ...

Посчитать количество различных элементов массива
Собственно задача обозначена в заглавии темы. НЕ могу понять что неправильно в моем говнокоде (постоянно вывадит 100). Подскажите пожалста...

Посчитать количество сравнений элементов массива
Имеется код, сортировка вставками, нужно в этот код всунуть счетчик &quot;количество сравнений элементов массива&quot;. Как это сделать? ...

Посчитать количество элементов массива-аргумента
Как правильно посчитать количество элементов в массиве поданного в функцию sumArrElems? Что я делаю не правильно? #include...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru