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

Массив. Сколько раз попадается там заданное число? - C++

Восстановить пароль Регистрация
 
LuBu
4 / 4 / 0
Регистрация: 03.12.2009
Сообщений: 71
07.03.2013, 21:32     Массив. Сколько раз попадается там заданное число? #1
Ребята, привет!
Очнеь стыдно, но попросили помочь...
Проблема в том, что я массивы сам задавал, а не читал с файла!
В итоге задача такая, есть файл там множество чисел, надо прочитать его и найти сколько раз попадается там заданное число!

Код есть, но тут я сам задал массив, а как с файла это всё сделать подскажите пожалуйста!
Файл тоже прикладываю!


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "stdafx.h"
#include <iostream>
using namespace std;
 
int main()
{
    const int N = 10;
    int a[N]={1,2,3,4,1,2,3,4,1,1};
    int k=1;  // число, которое будем проверять на кол-во свопадений 
    int ch=0; 
    for (int i=0; i<N; i++)
    {
        if (a[i]==k) 
            {
                ch++;
            }
        
    }
    cout<<"Chislo -  "<<k<<"  vstrechaetsa  -  "<<ch<<"\n";
    system("PAUSE");
}
Вложения
Тип файла: rar data4.rar (11.5 Кб, 3 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.03.2013, 21:32     Массив. Сколько раз попадается там заданное число?
Посмотрите здесь:

C++ Определить сколько раз в строке встречается заданное слово
Одномерный массив: сколько раз повторяется каждое число C++
C++ Массив: Сколько раз пользователь ввел то или иное число?
C++ Создать функцию, которая вставляет заданное число в отсортированный массив любое кол-во раз
Вставляет заданное число у отсортированы массив определённое количество раз C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
07.03.2013, 21:34     Массив. Сколько раз попадается там заданное число? #2
А без запятых файл нельзя сделать?
LuBu
4 / 4 / 0
Регистрация: 03.12.2009
Сообщений: 71
07.03.2013, 21:37  [ТС]     Массив. Сколько раз попадается там заданное число? #3
Там 10к элементов!
Как бы может и можно сделать так что бы в буфер записать без запятых... я просто в этом и столкнулся с проблемой!!
К примеру в PHP есть explode, что очень удобно!

PHP
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
</head>
 
<body>
 
 <div>
 <form method="POST">
 <ol>Введите число:
 <input type="text" name="value" value="">
 </ol>
 <input type="submit" value="Вывести результат">
 </form>
 </div>
<?php
 
if(!empty($_POST['value'])) {
 NumInArray($_POST['value']);
}
 
function NumInArray($val, $array = false)
{
 $file = fopen('data4.txt', 'r');
 $contents = fread($file, filesize('data4.txt'));
 $arr = explode(', ', $contents);
 fclose($file);
 
 $int = 0;
 foreach($arr as $key) {
 if($key == $val) {
 ++$int;
 }
 }
 
 if(!$array){
 return $int;
 } else {
 return $arr;
 }
}
 
 if(!empty($_POST['value'])) {
 ?>
 
 <ol>Встречаеться раз в массиве:
 <div><?= NumInArray($_POST['value']) ?></div>
 </ol>
 <?php }?>
 <input type="button" onclick="display()" name="arr" value="Показать массив">
 <ol id="hide">Показать массиве:
 <div ><?= var_dump(NumInArray($_POST['value'], true)) ?></div>
 </ol>
</body>
</html>
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
07.03.2013, 21:40     Массив. Сколько раз попадается там заданное число? #4
Цитата Сообщение от LuBu Посмотреть сообщение
Там 10к элементов!
Что это значит?
Если я правильно понял, то нужно исходить из имеющегося файла?
LuBu
4 / 4 / 0
Регистрация: 03.12.2009
Сообщений: 71
07.03.2013, 21:43  [ТС]     Массив. Сколько раз попадается там заданное число? #5
Да есть data4 там записано 10 000 чисел! надо написать программу которая будет пробегаться по всем числам в файле и выводить результат, который показывает сколько раз встречается число (например 1) в этом файле!

По идеи 100, так как PHP выводит вроде всё верно
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
07.03.2013, 22:00     Массив. Сколько раз попадается там заданное число? #6
Вот так считывать. Приделайте к этому коду свой подсчёт и всё:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
fstream fin("data4.txt");
if (!fin) cout << "Error!" << endl;
else
{
    int n;
    while (true)
    {
        fin >> n;
        //cout << n << endl;
        if (fin.eof()) break;
        fin.clear();
        fin.get();
    }
 }
Добавлено через 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
#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;
 
int main()
{
   fstream fin("data4.txt");
   if (!fin) cout << "Error!" << endl;
   else
   {
        int k;  // число, которое будем проверять на кол-во свопадений 
        cout << "Enter the number: ";
        cin >> k;
        int ch = 0; 
        
        int n;
        while (true)
        {
            fin >> n;
            //cout << n << endl;
            
            if (n == k) ch++;
            
            if (fin.eof()) break;
            fin.clear();
            fin.get();
        }
 
        cout << "Chislo -  " << k << "  vstrechaetsa  -  " << ch << "\n";
   }
    
   system("pause");
   return 0;
}
Миниатюры
Массив. Сколько раз попадается там заданное число?  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.03.2013, 22:03     Массив. Сколько раз попадается там заданное число?
Еще ссылки по теме:

Определить сколько раз в строке встречается заданное число C++
Массив: определить, сколько раз повторяется максимальное число в последоновательности C++
Написать программу с функцией, которая определяет, сколько раз заданное число встречается в массиве C++

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

Или воспользуйтесь поиском по форуму:
LuBu
4 / 4 / 0
Регистрация: 03.12.2009
Сообщений: 71
07.03.2013, 22:03  [ТС]     Массив. Сколько раз попадается там заданное число? #7
Спасибо огромное
Yandex
Объявления
07.03.2013, 22:03     Массив. Сколько раз попадается там заданное число?
Ответ Создать тему
Опции темы

Текущее время: 14:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru