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

Заполнить массив случайными цифрами от 1 до 9, посчитать сколько раз в нем встречается - C++

Восстановить пароль Регистрация
 
Sapendo
5 / 5 / 3
Регистрация: 13.05.2014
Сообщений: 130
04.06.2014, 23:46     Заполнить массив случайными цифрами от 1 до 9, посчитать сколько раз в нем встречается #1
1) Заполнить массив случайными цифрами от 1 до 9, посчитать сколько раз в нем встречается 5 и 7, идущие два раза подряд. Размер массива 100 эл-в

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
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
    const int n = 100;
    int mas [n], a5=0, a7=0;
    srand (time(NULL));
    for (int i=0;i<n;i++)
    cout<<(mas[i]=rand()%10)<<' ';
    cout<<endl;
    {
        for (int i=0;i<n-1;i++)
        {
            for (int j=n+1;j<n;j++)
                {
                    if (mas[i]==5&&mas[j]==5)
                        a5++;
                    if (mas[i]==7&&mas[j]==7)
                        a7++;
                }
        }
                            cout<<a5<<endl<<a7<<endl;
    }
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.06.2014, 23:46     Заполнить массив случайными цифрами от 1 до 9, посчитать сколько раз в нем встречается
Посмотрите здесь:

C++ Дан текстовый файл F. Найти, сколько раз встречается в нем слово S
C++ Дано натуральное число. Определить, сколько раз в нем встречается первая цифра
C++ Посчитать сколько раз встречается каждый элемент в массиве.
C++ Массив: Посчитать, сколько раз в массиве встречается цифра 5.
Массив: посчитать сколько раз в двумерном массиве встречается 0. C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
04.06.2014, 23:56     Заполнить массив случайными цифрами от 1 до 9, посчитать сколько раз в нем встречается #2
Sapendo, не нужен вложенный цикл
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
    const int n = 100;
    int mas [n], a5=0, a7=0;
    srand (time(NULL));
    for (int i=0;i<n;i++)
        cout<<(mas[i]=rand()%10)<<' ';
    cout<<endl;
    for (int i=0;i<n-1;i++)
    {
        if (mas[i]==5&&mas[i+1]==5)
            a5++;
        if (mas[i]==7&&mas[i+1]==7)
            a7++;
    }
    
    cout<<a5<<' '<<a7<<endl;
    getch();
}
Sapendo
5 / 5 / 3
Регистрация: 13.05.2014
Сообщений: 130
04.06.2014, 23:59  [ТС]     Заполнить массив случайными цифрами от 1 до 9, посчитать сколько раз в нем встречается #3
а если три 5 подряд тогда а5=2!!! А нужно чтобы считало как один повтор!
Kerry_Jr
Модератор
 Аватар для Kerry_Jr
1857 / 1653 / 577
Регистрация: 14.05.2014
Сообщений: 4,746
Записей в блоге: 1
Завершенные тесты: 5
05.06.2014, 00:05     Заполнить массив случайными цифрами от 1 до 9, посчитать сколько раз в нем встречается #4
Цитата Сообщение от Sapendo Посмотреть сообщение
случайными цифрами от 1 до 9
rand() % 9 + 1;
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
05.06.2014, 00:09     Заполнить массив случайными цифрами от 1 до 9, посчитать сколько раз в нем встречается #5
Sapendo
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
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
    const int n = 100;
    int mas [n], a5=0, a7=0;
    srand (time(NULL));
    for (int i=0;i<n;i++)
        cout<<(mas[i]=rand()%10)<<' ';
    cout<<endl;
    for (int i=0;i<n-1;i++)
    {
        if (mas[i]==5&&mas[i+1]==5)
        {
            a5++;
            while(mas[i]==5&&i<n-1)
            {
                i++;
            }
        }
        if (mas[i]==7&&mas[i+1]==7)
        {
            a7++;
            while(mas[i]==7&&i<n-1)
            {
                i++;
            }
        }
    }
    
    cout<<a5<<' '<<a7<<endl;
    getch();
}
Kerry_Jr
Модератор
 Аватар для Kerry_Jr
1857 / 1653 / 577
Регистрация: 14.05.2014
Сообщений: 4,746
Записей в блоге: 1
Завершенные тесты: 5
05.06.2014, 00:11     Заполнить массив случайными цифрами от 1 до 9, посчитать сколько раз в нем встречается #6
Цитата Сообщение от Sapendo Посмотреть сообщение
for (int j=n+1;j<n;j++)
А Вы понимаете, что этот цикл не выполнится ни разу?
Sapendo
5 / 5 / 3
Регистрация: 13.05.2014
Сообщений: 130
05.06.2014, 00:12  [ТС]     Заполнить массив случайными цифрами от 1 до 9, посчитать сколько раз в нем встречается #7
Теперь понимаю, но не понимаю почему(((((((
Kerry_Jr
Модератор
 Аватар для Kerry_Jr
1857 / 1653 / 577
Регистрация: 14.05.2014
Сообщений: 4,746
Записей в блоге: 1
Завершенные тесты: 5
05.06.2014, 00:17     Заполнить массив случайными цифрами от 1 до 9, посчитать сколько раз в нем встречается #8
потому что n+1 (=> j = n + 1) не может быть меньше n (=> j < n).

Добавлено через 1 минуту
Возможно, Вы хотели написать (j = i + 1; j < n; j++).
Sapendo
5 / 5 / 3
Регистрация: 13.05.2014
Сообщений: 130
05.06.2014, 00:17  [ТС]     Заполнить массив случайными цифрами от 1 до 9, посчитать сколько раз в нем встречается #9
Вот это уже голова кипит!!!!!!!!!! Там i должно быть вместо n!!!!
Pjeroo
Землянин
 Аватар для Pjeroo
33 / 33 / 12
Регистрация: 15.01.2013
Сообщений: 313
05.06.2014, 00:18     Заполнить массив случайными цифрами от 1 до 9, посчитать сколько раз в нем встречается #10
Sapendo,
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
#include <iostream>
#include <stdlib.h>
#include <ctime>
 
using namespace std;
int main()
{
    const int n = 100;
    int mas [n], a5=0, a7=0;
    srand (time(NULL));
    for (int i=0;i<n;i++)
        cout<<(mas[i]=rand()%10)<<' ';
    cout<<endl;
 
    for (int i=0;i<n-1;i++)
    {
        if (mas[i]==5&&mas[i+1]==5)
            {a5++;i++;}
        if (mas[i]==7&&mas[i+1]==7)
            {a7++;i++;}
    }
 
    cout<<a5<<' '<<a7<<endl;
}
Как-то так.
Sapendo
5 / 5 / 3
Регистрация: 13.05.2014
Сообщений: 130
05.06.2014, 00:20  [ТС]     Заполнить массив случайными цифрами от 1 до 9, посчитать сколько раз в нем встречается #11
Это все классно! Всем спасибо, но 5 подряд может идти и 4 и 7 раз подряд!!!! и тут это не работает(((
Pjeroo
Землянин
 Аватар для Pjeroo
33 / 33 / 12
Регистрация: 15.01.2013
Сообщений: 313
05.06.2014, 00:34     Заполнить массив случайными цифрами от 1 до 9, посчитать сколько раз в нем встречается #12
Sapendo,
Кликните здесь для просмотра всего текста
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
#include <iostream>
#include <stdlib.h>
#include <ctime>
 
using namespace std;
int main()
{
 
    const int n = 10;
    int mas [n] = { 5, 5 ,5 ,5 ,5 ,5 ,5 ,3, 7, 7};
    int a5=0, a7=0;
    /*srand (time(NULL));
    for (int i=0;i<n;i++)
        cout<<(mas[i]=rand()%10)<<' ';
    cout<<endl;*/
 
    for (int i=0;i<n-1;i++)
    {
        if (mas[i]==5&&mas[i+1]==5)
            {a5++;i++;}
        if (mas[i]==7&&mas[i+1]==7)
            {a7++;i++;}
    }
 
    cout<<a5<<' '<<a7<<endl;
}

А что тут не так?
Миниатюры
Заполнить массив случайными цифрами от 1 до 9, посчитать сколько раз в нем встречается  
Sapendo
5 / 5 / 3
Регистрация: 13.05.2014
Сообщений: 130
05.06.2014, 00:37  [ТС]     Заполнить массив случайными цифрами от 1 до 9, посчитать сколько раз в нем встречается #13
повторение 5 идет один раз а у Вас показывает, что 3 раза!!!! Вот что!
Pjeroo
Землянин
 Аватар для Pjeroo
33 / 33 / 12
Регистрация: 15.01.2013
Сообщений: 313
05.06.2014, 00:44     Заполнить массив случайными цифрами от 1 до 9, посчитать сколько раз в нем встречается #14
Sapendo,
1) Заполнить массив случайными цифрами от 1 до 9, посчитать сколько раз в нем встречается 5 и 7, идущие два раза подряд. Размер массива 100 эл-в
Я как-то неверно задание понимаю что ли? В моем варианте 5 по 2 повторяется 3 раза, вот он и выводит 3 раза.
Sapendo
5 / 5 / 3
Регистрация: 13.05.2014
Сообщений: 130
05.06.2014, 00:47  [ТС]     Заполнить массив случайными цифрами от 1 до 9, посчитать сколько раз в нем встречается #15
два и более раз подряд!!!Извини не дописал!!!!!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.06.2014, 00:53     Заполнить массив случайными цифрами от 1 до 9, посчитать сколько раз в нем встречается
Еще ссылки по теме:

Посчитать сколько раз встречается каждая буква в тексте C++
C++ Дан числовой массив. Определить, сколько раз в нем встречается максимальный по величине элемент.
Заполнить матрицу случайными символами английского алфавита; вывести, сколько раз встречается каждый символ C++

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

Или воспользуйтесь поиском по форуму:
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
05.06.2014, 00:53     Заполнить массив случайными цифрами от 1 до 9, посчитать сколько раз в нем встречается #16
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Sapendo, цикл while всё исключает, как я и показал во втором варианте,
в чём проблема?
Кликните здесь для просмотра всего текста
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
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
    int mas [] = {5,5,5,5,5,5,5,7,7,7,7,7,7,5,7,7,7,7,7,7,5,
                  5,5,5,5,5,7,7,7,7,7,7,5,5,5,7,7,7,7,5,5,5,
                  5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,7,
                  7,7,7,7,5,5,5,5,5,5,5,5,5,5,7,7,7,7,7,7,5,
                  5,5,5,5,5,7,7,7,7,7,7,7,7,5,5,5,5,5,5,7,7,
                  7,7,7,7,5,5,5,5,5,5,5,5,7,7,7,7,7,7,5,5,5,
                  5,5,5,5,5,5,5,7,7,7,7,7,7,5,7,7,7,7,7,7,5,
                  5,5,5,5,5,7,7,7,7,7,7,5,5,5,7,7,7,7,5,5,5,
                  5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,7,
                  7,7,7,7,5,5,5,5,5,5,5,5,5,5,7,7,7,7,7,7,5,
                  5,5,5,5,5,7,7,7,7,7,7,7,7,5,5,5,5,5,5,7,7,
                  5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,7,
                  5,5,5,5,5,7,7,7,7,7,7,7,7,5,5,5,5,5,5,7,7,
                  7,7,7,7,5,5,5,5,5,5,5,5,7,7,7,7,7,7,5,5,5,
                  5,5,5,5,5,5,5,7,7,7,7,7,7,5,7,7,7,7,7,7,5}, a5=0, a7=0;
    
    int size = sizeof(mas)/sizeof(mas[0]);
    for (int i=0;i<size-1;i++)
    {
        if (mas[i]==5&&mas[i+1]==5)
        {
            a5++;
            while(mas[i]==5&&i<size-1)
            {
                i++;
            }
        }
        if (mas[i]==7&&mas[i+1]==7)
        {
            a7++;
            while(mas[i]==7&&i<size-1)
            {
                i++;
            }
        }
    }
    
    cout<<a5<<' '<<a7<<endl;
    getch();
}
Yandex
Объявления
05.06.2014, 00:53     Заполнить массив случайными цифрами от 1 до 9, посчитать сколько раз в нем встречается
Ответ Создать тему
Опции темы

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