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

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

Войти
Регистрация
Восстановить пароль
 
KorolevaE
2 / 2 / 0
Регистрация: 24.11.2012
Сообщений: 34
#1

Подправьте задачу (удалить из массива элементы которые встречаются ровно 2 раза) - C++

17.05.2013, 23:56. Просмотров 386. Ответов 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
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 100
using namespace std;
 
void gen (int a, int b, int n, int mass[N]); 
void out (int n, int mass[N]);
void del (int n, int mass[N]);
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale (LC_ALL, "RUS");
    int a, b, n, mass[N];
    printf ("\nВведите нижнюю грань диапазона массива: ");
    scanf ("%d", &a);
 
    printf ("\nВведите верхнюю грань диапазона массива: ");
    scanf ("%d", &b);
 
    printf ("\nВведите количество элементов (меньше 100): ");
    scanf ("%d", &n);
 
    while (n > 100)
    {
    printf ("\nСлишком большое число. Попробуйте ещё раз!\n");
    printf ("\nВведите количество элементов (меньше 100): ");
    scanf ("%d", &n);
    }
 
    gen (a, b+1, n, mass);
    out (n, mass);
    del (n, mass);
    printf ("\n\n");
 
    system ("pause");
    return 0;
}
 
void gen (int a, int b, int n, int mass[N]){
    srand (time (NULL) * 1000);
 
    for (int i = 0; i < n; i ++)
    {
    mass[i] = rand() * 1.0 / (RAND_MAX) * (b - a) + a;
}
}
 
void out (int n, int mass[N]) 
    {
    printf ("\nМассив из %d элементов:\n", n);
 
    for (int i = 0; i < n; i ++)
    {
    printf ("%d\t", mass[i]);
}
}
 
void del (int n, int mass[N]) 
    {
    printf ("\nМассив без повторяющихся элементов:\n");
 
    int i, j, k;
    for (i = 0; i < n; i ++)
    {
    k = mass[i];
 
    for (j = 0; j < n; j ++)
    {
    if (i != j)
    {
    if (mass[j] == k)
    {
    printf ("%d\t", mass[j]);
    j = n - 1 ;
    }
    }
    }
    }
    }
задача такая, удалить из массива элементы которые встречаются ровно 2 раза.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.05.2013, 23:56     Подправьте задачу (удалить из массива элементы которые встречаются ровно 2 раза)
Посмотрите здесь:

Найти все элементы массива, которые встречаются в нем не более одного раза C++
C++ Элементы массива, которые встречаются только один раз
C++ Удалить из массива все элементы, встречающиеся ровно n раз
C++ Удалить из массива все элементы, встречающиеся ровно два раза
Все элементы вектора, которые встречаются более одного раза, переписать в другой вектор C++
C++ Из массива А удалить все элементы, которые встречаются в В ровно 2 раза
C++ Из массива А удалить все элементы, которые встречаются в В ровно 2 раза
Вывести элементы массива, которые повторяются ровно два раза C++
Изменить матрицу так, чтобы в строках остались элементы, которые встречаются более одного раза, а другие заменить нулями C++
Определить элементы массива, которые входят в него ровно два раза C++
C++ Удалить элементы массива встречающиеся ровно два раза
C++ Перенести в массив С те элементы массива А, которые не встречаются в массиве В

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
mat_for_c
129 / 124 / 28
Регистрация: 26.04.2013
Сообщений: 628
Завершенные тесты: 2
18.05.2013, 00:02     Подправьте задачу (удалить из массива элементы которые встречаются ровно 2 раза) #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void del (int n, int mass[N]) 
{
    printf ("\nМассив без повторяющихся элементов:\n");
 
    int i, j, k;
    for (i = 0; i < n; i ++)
    {
        k = 0;
        for (j = 0; j < n; j ++)
            if (mass[i] == mass[j])
                ++k;
        if ( k != 2 )
            printf ("%d\t", mass[i]);
    }
}
KorolevaE
2 / 2 / 0
Регистрация: 24.11.2012
Сообщений: 34
18.05.2013, 16:50  [ТС]     Подправьте задачу (удалить из массива элементы которые встречаются ровно 2 раза) #3
Спасибо большое! )
Yandex
Объявления
18.05.2013, 16:50     Подправьте задачу (удалить из массива элементы которые встречаются ровно 2 раза)
Ответ Создать тему
Опции темы

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