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

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

12.11.2010, 19:04. Показов 3761. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста написать программу, которая бы считывала 4 числа из файла, считала количество одинаковых элементов массива и записывала бы это количество в другой файл. И если не сложно объяснить принцип работы алгоритма. Заранее спасибо
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.11.2010, 19:04
Ответы с готовыми решениями:

Найти количество одинаковых элементов массива
Здравствуйте, мне попалась задачка с таким условием: Дан список из чисел. Нужно вывести сколько раз повторялись числа Примеры...

Найти количество одинаковых элементов массива
Мне нужно чтобы программа считала правильно одинаковые элементы массива #include <iostream> #include<ctime> using...

Найти количество одинаковых элементов массива
Найти количество одинаковых элементов массива и дописать это количество в этот же массив, помогите пж. Мой код, там таблица в которой...

11
Freelance
Эксперт С++
 Аватар для asics
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
12.11.2010, 19:29
Как-то так
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
#include <iostream>
#include <fstream>
 
int main ()
{
    std::ifstream ifs("1.txt");
    const int n = 4;
    int m[n], cnt = 0;
    
    for(int i = 0; i < 4; i++)
    {
            ifs >> m[i];
            std::cout << m[i] << ' ';
    }
    ifs.close();
    
    for(int i = 0; i < 4; i++)
    {
        for(int j  =0; j < i; j++)
        {
            if(m[i] == m[j])
            {
                cnt++;
            }
        }
    }
    
    std::ofstream ofs("2.txt");
    ofs << cnt+1;
}
0
0 / 0 / 0
Регистрация: 12.11.2010
Сообщений: 12
12.11.2010, 19:57  [ТС]
Спасибо большое!!!=)))

Добавлено через 3 минуты
Только если например ввести все 4 числа например "16", то результат 7, что делать?

Добавлено через 6 минут
А вот всё разобрался)) Надо писать не
C++
1
ofs << cnt+1;
а
C++
1
ofs << cnt;
0
Freelance
Эксперт С++
 Аватар для asics
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
12.11.2010, 19:57
Ну и результат будет 6,а должно 4,или я ошыбаюсь ?
0
 Аватар для archideus
10 / 10 / 1
Регистрация: 15.10.2010
Сообщений: 34
12.11.2010, 20:04
Цитата Сообщение от Rentik Посмотреть сообщение
Спасибо большое!!!=)))

Добавлено через 3 минуты
Только если например ввести все 4 числа например "16", то результат 7, что делать?

Добавлено через 6 минут
А вот всё разобрался)) Надо писать не
C++
1
ofs << cnt+1;
а
C++
1
ofs << cnt;
В етой проге число в файле 2 всегда будет 7 если ввести 4 одинаковіх числа

Добавлено через 4 минуты
А так при вводе 4 одинакових чисел результат будет всегда 6
0
Freelance
Эксперт С++
 Аватар для asics
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
12.11.2010, 20:06
Цитата Сообщение от archideus Посмотреть сообщение
А так при вводе 4 одинакових чисел результат будет всегда 6
Нет,если записать 19 строку таким образом
C++
1
for(int j = 0; j < i-1; j++)
0
 Аватар для archideus
10 / 10 / 1
Регистрация: 15.10.2010
Сообщений: 34
12.11.2010, 20:15
Может тебе в файл надо записать сколько чисел в масиве встречаютса больше одного раза?
Притом если ти первий раз в цикле сравнивал первую цифру и она совпала с другими то их уже ненадо будет сравнивать.

Добавлено через 1 минуту
Цитата Сообщение от asics Посмотреть сообщение
Нет,если записать 19 строку таким образом
C++
1
for(int j = 0; j < i-1; j++)
И что введи 4 одинаковихчисла = результат всегда 3

Добавлено через 4 минуты
Цитата Сообщение от asics Посмотреть сообщение
for(int i = 0; i < 4; i++)
* * {
* * * * for(int j *=0; j < i; j++)
* * * * {
* * * * * * if(m[i] == m[j])
* * * * * * {
* * * * * * * * cnt++;
* * * * * * }
* * * * }
* * }
етот цикл сравнивает первий елемент с самим собой и со всеми остальними
потом второй со всеми включая себя И.Т.Д.

Добавлено через 2 минуты
Ти наверно неправильно сформулировал задачу

Вопрос Какой ответ должен бить на числа 12 13 12 13
0
Freelance
Эксперт С++
 Аватар для asics
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
12.11.2010, 20:18
Если чесно,то я на самом деле не доконца понял условие задачи,з этого и такой не радужный результат
0
 Аватар для archideus
10 / 10 / 1
Регистрация: 15.10.2010
Сообщений: 34
12.11.2010, 20:41
Цитата Сообщение от asics Посмотреть сообщение
Если чесно,то я на самом деле не доконца понял условие задачи,з этого и такой не радужный результат
Да тут его непоймеш )
Как по мне то самий разумний вопрос бил би найти числа которие повторяютса и подсчитать сколько раз !?
и видавать результат 12 13 12 13 типа 12-2 13-2
0
0 / 0 / 0
Регистрация: 12.11.2010
Сообщений: 12
12.11.2010, 21:13  [ТС]
Цитата Сообщение от archideus Посмотреть сообщение
Вопрос Какой ответ должен бить на числа 12 13 12 13
ответ должен быть 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
#include <iostream>
#include <fstream>
 
int main ()
{
    std::ifstream ifs("1.txt");
    const int n = 4;
    int m[n], cnt = 0;
    
    for(int i = 0; i < 4; i++)
    {
            ifs >> m[i];
            std::cout << m[i] << ' ';
    }
    ifs.close();
    
    for(int i = 0; i < 4; i++)
    {
        for(int j  =0; j < i; j++)
        {
            if(m[i] == m[j])
            {
                cnt++;
            }
        }
    }
    
    std::ofstream ofs("2.txt");
    // Вот здесь должно быть ofs << cnt; , а не ofs << cnt+1 , как в изначальном коде.
    ofs << cnt;
}
А так всё работает))
0
Freelance
Эксперт С++
 Аватар для asics
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
12.11.2010, 21:16
Ну наконецто тебя удовлетворил мой быдло-код
0
0 / 0 / 0
Регистрация: 12.11.2010
Сообщений: 12
12.11.2010, 21:21  [ТС]
Спасибо Большое!))) А код хороший)))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.11.2010, 21:21
Помогаю со студенческими работами здесь

Найти количество одинаковых элементов массива
Уважаемые кодеры, прошу вашей помощи. Есть одномерный массив, который уже задан, например int a={1,2,3,2,6,2,7} Нужно посчитать...

Найти количество одинаковых элементов массива
Помогите в решение я работаю на борланде Си Задание: Найти количество одинаковых элементов массива А(N) (N=21, элементы от -4 до 4) ...

Найти количество одинаковых элементов двухэлементного массива А={а[і]}
найти количество одинаковых элементов двухэлементного массива А={а}

Определить максимальное количество одинаковых элементов массива
Дано целочисленный массив размера N. Определить максимальное количество его одинаковых элементов. Обязательно использовать функцию и...

Определить максимальное количество одинаковых элементов массива
Доброго времени суток. Нужна помощь по задаче. Никак не могу понять, в чём же проблема. &quot;Дан целочисленный массив размера N....


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
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