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

Как сделать что бы повторяющиеся элементы выводило и считало только один раз?

09.11.2010, 15:40. Показов 4539. Ответов 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
#include <stdio.h>;
#include <math.h>;
int m,i,j,s,n;
void main()
{
int arr[100];
  printf("\nУкажите размер массива - ");
scanf("%d",&m);
  printf("\nВведите элеменыты массива : ");
  for (i=0;i<m;i++)
  scanf("%d",&arr[i]);
s=0;
  for (i=0;i<m;i++)
{
    for (j=i+1;j<m;j++)
{
if (arr[i]==arr[j])
{
s=s+1;
printf ("\nПовторяющееся число %d",arr[i]);}}
}
printf ("\nВсего повторяющихся чисел %d",s);
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.11.2010, 15:40
Ответы с готовыми решениями:

Как преобразовать массив, так чтобы вывести только повторяющиеся элементы один раз?
Как преобразовать массив, так чтобы вывести только повторяющиеся элементы один раз? Например числа: 4 8 8 3 5 3 1 2 Вывести должен 8 3

Как сделать чтобы считало процент, а не выводило "знач!"
нужно чтобы при вводе в ячейку &quot;нб&quot; в рейтинге выводился посчитанный %, а не &quot;знач!&quot; Как это сделать

как сделать через if так , что бы и в первом и во втором примере , каждый раз происходило умножение только на один множ
подскажите , пожалуйста ,как сделать с помощь if так , что бы и в первом и во втором примере , каждый раз происходило умножение только на...

6
2022 / 1621 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
09.11.2010, 17:48
Если порядок элементов в массиве не важен, можешь просто при совпадении элементов менять местами текущий элемент(который сравнивается со всеми остальными) с последним и уменьшать размер массива на 1.
0
 Аватар для qwarta
73 / 73 / 11
Регистрация: 20.11.2009
Сообщений: 238
09.11.2010, 20:12
rangerx,
в приведенном Альберт37 коде сравниваются соседние элементы массива. А если пользователь ввел такой массив: {11,2,32,21,2, и т.д.} ? Мне кажется придется сначала отсортировать массив.

Альберт37,
1. После #include <stdio.h> и #include <math.h> точка с запятой не ставится.
2. Если задан статический массив в строке 6, зачем нужны строки 7 и 8? Если же размер массива должен быть введен пользователем, придется создавать динамический массив
C
1
2
3
4
5
6
int *arr,m;
printf("\nУкажите размер массива - ");
scanf("%d",&m);
arr=malloc(m*sizeof(int));
.....
free(arr);
0
2022 / 1621 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
09.11.2010, 20:37
Цитата Сообщение от qwarta Посмотреть сообщение
в приведенном Альберт37 коде сравниваются соседние элементы массива
А я ничего и не говорил про код который выложил TC. Я всего лишь предложил алгоритм. )
Цитата Сообщение от qwarta Посмотреть сообщение
А если пользователь ввел такой массив: {11,2,32,21,2, и т.д.} ?
Без разницы.
Цитата Сообщение от qwarta Посмотреть сообщение
Мне кажется придется сначала отсортировать массив.
Необязательно.
1
 Аватар для qwarta
73 / 73 / 11
Регистрация: 20.11.2009
Сообщений: 238
09.11.2010, 20:54
Понял. Просто ТС ( увы, как и я ) может неправильно интерпретировать фразу
при совпадении элементов
, думая о приведенном коде.
0
1 / 1 / 0
Регистрация: 13.10.2010
Сообщений: 27
09.11.2010, 23:13  [ТС]
Ну если проше говоря то мне дали задание такое ...
Дан массив,содержащий е более 100 целых чисел. Вывести на экран все различные элементы массива и определить их количество(повторяющиеся элементы выводить и считать один раз). Если повторяющихся элементов нет вывести сообщение...
0
2022 / 1621 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
10.11.2010, 00:27
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
67
68
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
void swap(int* a, int* b)
{
    int t = *a;
    *a = *b;
    *b = t;
}
 
int unique(int arr[], int size)
{
    int m, n;
 
    for(m = 0; m < size-1; ++m)
    {
        for(n = m+1; n < size; ++n)
        {
            if(arr[m] == arr[n])
            {
                swap(&arr[m], &arr[size-1]);
                --m;
                --size;
                break;
            }
        }
    }
 
    return size;
}
 
int main()
{
    int* a;
    int uniqueCount;
    int i;
    int size;
 
    do
    {
        printf("Input array size(1-100): ");
        scanf("%d", &size);
 
    }while(size < 1 || size > 100 );
 
    a = malloc(size * sizeof(int));
    srand( time(NULL) );
 
    puts("Array:");
    for(i = 0; i < size; ++i)
    {
        a[i] = rand()%20;
        printf("%d ", a[i]);
    }
 
    if( (uniqueCount = unique(a, size)) == size) printf("\nAll unique.\n");
    else
    {
        printf("\nUnique:\n");
        for(i = 0; i < uniqueCount; ++i)
            printf("%d ", a[i]);
        printf("\nCount: %d\n", uniqueCount);
    }
 
    free(a);
    return 0;
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.11.2010, 00:27
Помогаю со студенческими работами здесь

Как сделать подключение к БД только один раз
использу подключение к PostgreSQL 8.4 все работает как надо но очень долго, думаю проблема в том что при каждом запросе программа по...

Повторяющиеся числа из первого массива занести во второй массив только один раз
#include &lt;stdio.h&gt; #include &lt;iostream&gt; #include &lt;cstdlib&gt; using namespace std; int main(int argc, char* argv) { int...

Как сделать чтобы объект создавался только один раз?
Пытаюсь сделать объект (класс), который будет вести лог. Как сделать, чтобы инициирование данного объекта производилось только один...

Как сделать чтобы Button сделал работу только один раз?
Люди добрые помогите нуба) Как делать чтоб если нажал в Button в textbox.Text появился допустим &quot;+&quot; но если ещё раз нажму на...

Определить k - количество различных элементов матрицы (т.е. повторяющиеся элементы считать один раз)
Помогите плиз дописать процедуру. Определить k - количество различных элементов матрицы (т.е. повторяющиеся элементы считать один раз). ...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru