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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.63
Rentik
0 / 0 / 0
Регистрация: 12.11.2010
Сообщений: 12
#1

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

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

Помогите пожалуйста написать программу, которая бы считывала 4 числа из файла, считала количество одинаковых элементов массива и записывала бы это количество в другой файл. И если не сложно объяснить принцип работы алгоритма. Заранее спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.11.2010, 19:04     количество одинаковых элементов массива
Посмотрите здесь:

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

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

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

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

Найти количество пар одинаковых рядом стоящих элементов массива - C++
Найти количество пар одинаковых рядом стоящих элементов массива

Определить максимальное количество одинаковых элементов массива, использовать функцию и указатели - C++
Помогите, пожалуйста, ОЧЕНЬ срочно нужно! Дано целочисленный массив размера N. Определить максимальное количество его одинаковых...

количество одинаковых элементов подряд в одномерном - C++
Здравствуйте!!!Помогите, пожалуйста, написать программу:Подсчитать количество одинаковых элементов одномерного массива, которые расположены...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
12.11.2010, 19:29     количество одинаковых элементов массива #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
#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;
}
Rentik
0 / 0 / 0
Регистрация: 12.11.2010
Сообщений: 12
12.11.2010, 19:57  [ТС]     количество одинаковых элементов массива #3
Спасибо большое!!!=)))

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

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

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

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

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

Добавлено через 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
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
12.11.2010, 20:18     количество одинаковых элементов массива #8
Если чесно,то я на самом деле не доконца понял условие задачи,з этого и такой не радужный результат
archideus
10 / 10 / 1
Регистрация: 15.10.2010
Сообщений: 34
12.11.2010, 20:41     количество одинаковых элементов массива #9
Цитата Сообщение от asics Посмотреть сообщение
Если чесно,то я на самом деле не доконца понял условие задачи,з этого и такой не радужный результат
Да тут его непоймеш )
Как по мне то самий разумний вопрос бил би найти числа которие повторяютса и подсчитать сколько раз !?
и видавать результат 12 13 12 13 типа 12-2 13-2
Rentik
0 / 0 / 0
Регистрация: 12.11.2010
Сообщений: 12
12.11.2010, 21:13  [ТС]     количество одинаковых элементов массива #10
Цитата Сообщение от 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;
}
А так всё работает))
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
12.11.2010, 21:16     количество одинаковых элементов массива #11
Ну наконецто тебя удовлетворил мой быдло-код
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.11.2010, 21:21     количество одинаковых элементов массива
Еще ссылки по теме:

Строка: Подсчитать количество одинаковых строк массива - C++
Может кто нибудь помочь. Дан массив строк. подсчитать количество одинаковых строк.

Найти количество одинаковых элементов в одномерном массиве - C++
Здравствуйте, как определить количество одинаковых элементов в строке, если предположем массив из 5 элементов? вот мне нужно чтобы в строке...

Найти количество одинаковых элементов в каждом массиве - C++
Дан массивы X(x1,x2,…,x24) и Y(y1,y2,…,y24). Нужно найти сколько одинковых элементов в каждом массиве.

Посчитать количество одинаковых элементов в двух массивах - C++
#include &lt;cstdio&gt; #include &lt;map&gt; #include &lt;iostream&gt; using namespace std; map &lt;bool, int&gt; a; int n, m, year, i, k;////k -...

Замена первой группы одинаковых элементов на последнюю группу одинаковых элементов - C++
Всем привет, помогите с заменой первой группы одинаковых элементов в нашем случае пять единиц на последнюю группу одинаковых элементов,...


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

Или воспользуйтесь поиском по форуму:
Rentik
0 / 0 / 0
Регистрация: 12.11.2010
Сообщений: 12
12.11.2010, 21:21  [ТС]     количество одинаковых элементов массива #12
Спасибо Большое!))) А код хороший)))
Yandex
Объявления
12.11.2010, 21:21     количество одинаковых элементов массива
Ответ Создать тему
Опции темы

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