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

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

Войти
Регистрация
Восстановить пароль
 
Admitriy
0 / 0 / 0
Регистрация: 25.11.2013
Сообщений: 7
#1

Подскажите Задача (Массивы) - C++

25.11.2013, 22:16. Просмотров 300. Ответов 4
Метки нет (Все метки)

Задать массив из 50 целых четырёхзначных чисел с помощью датчика случайных чисел. Вывести на экран повторяющиеся элементы их индексы и число их повторов. На экран вывести как исходный массив, так и результаты обработки массива :
Элемент: 57 >> Индексы: 8,19,38 >> Число повторов: 3
Элемент: 12 >> Индексы: 12, 41 >> Число повторов: 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
#include "stdafx.h"
#include <time.h>
#include "stdio.h"
#include "windows.h"
#include <math.h>
#include "conio.h"
#include <iostream>
using namespace std; 
 
int _tmain(int argc, _TCHAR* argv[])
{
    const int N=50;
    int dig[N], col=10; 
    int i;
    srand(time(0));
    for (i=0;i<N;i++)
    {
        dig[i] = rand()%100;    
        if ((i+1)%col)
        cout<<dig[i]<<"\t";
        else 
            cout<<dig[i]<<"\n";
    }
    cout<<endl;
    int Usl[N];
    int Mass[N];
    int n = 0;
    int e = 0;
    for (int i=0; i<N; i++)
    {
        for( int j=0; j<N; j++)
        {
            if(dig[j]==dig[i])
            {
                n++;
                Mass[i] = n;
                
            }       
        }
        n=0;
        
    }
    for (int i=0; i<N; i++)
    {       
        if(Mass[i]>1)
        {           
            cout << "\n Element[" << i+1 << "] = " << dig[i] << " >>Number of repetition= " << Mass[i] << endl;      
            
        }
        
    }
    
    
    getch();
 
    return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.11.2013, 22:16
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Подскажите Задача (Массивы) (C++):

Массивы,подскажите,если не трудно - C++
Ребят, надо 2 задачи решить, вообще ниче в голову не лезет... надо на С(си) написать проги Вариант 4 1. Из массивов А(20) и...

задача на массивы - C++
Дан массив размера N и целое число K (1 ≤ K ≤ N). Перед элементом массива с порядковым номером K вставить новый элемент с нулевым значением.

Задача на массивы - C++
Помогите пожалуйста. С задачей на массивы.12 вариант 1 задание

Задача на массивы c++ - C++
В одномерном массиве, состоящем из n целых элементов, вычислить: 1) номер максимального элемента массива; 2) произведение элементов...

задача на массивы - C++
Заданы две матрицы А и В размером N x N. Сформировать из них прямоугольную матрицу Х размером N x 2N, включая в последовательно столбец ихз...

Задача на массивы - C++
Удалить из массива M(25) все элементы, значения которых в этом массиве, оставить по одному. Элементы массива задать рандомно. Есть...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Angeline
36 / 30 / 2
Регистрация: 21.10.2013
Сообщений: 197
25.11.2013, 23:25 #2
Admitriy, я так понимаю надо вывести повторяющиеся значения, количество повторений и индексы элементов==повторяющемуся значению. Правильно? На словах надо взять первый элемент, сравнить со всеми, запомнить повторения, посчитать число, запомнить индексы, вывести. При следующих проходах нужно не использовать эти индексы. Немного путано, но вроде так.
0
Admitriy
0 / 0 / 0
Регистрация: 25.11.2013
Сообщений: 7
26.11.2013, 23:19  [ТС] #3
Надо сделать так что бы повторяющиеся элементы выводились один раз.
0
Angeline
36 / 30 / 2
Регистрация: 21.10.2013
Сообщений: 197
27.11.2013, 09:24 #4
Алгоритм я тебе написала, осталось его с русского на си перевести
0
Admitriy
0 / 0 / 0
Регистрация: 25.11.2013
Сообщений: 7
29.11.2013, 22:53  [ТС] #5
Алгоритм то понятен. Только здесь такая ситуация что одно условие противоречит другому - теряются либо индексы либо лишний раз выводятся элементы. Помогите с кодом. =)

Добавлено через 5 часов 16 минут
Помогите плиз! Я пробовал через логику сделать так, что бы значения в массиве стали уникальными, но появилась другая проблема если в массиве встречаются совпавшие элементы повторяющиеся больше 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
#include "stdafx.h"
#include <time.h>
#include "stdio.h"
#include "windows.h"
#include <math.h>
#include "conio.h"
#include <iostream>
using namespace std; 
 
int _tmain(int argc, _TCHAR* argv[])
{
    const int N=50;
    int dig[N], col=10; 
    int i;
    srand(time(0));
    for (i=0;i<N;i++)
    {
        dig[i] = rand()%100;        
    }
    cout<<endl;
    int Rep[N];
    int count=0;
    int j;
    int n=0;
    for (int i=0; i<N; i++)
    {
        
        for(j=(i+1);j<N;j++)
        {
            if(dig[i]>dig[j])
            {
                double tmp = dig[i];
                dig[i]= dig[j];
                dig[j] = tmp; 
            }           
        }               
    }
    for (i=0;i<N;i++)
    {       
        if ((i+1)%col)
        cout<<dig[i]<<"\t";
        else 
            cout<<dig[i]<<"\n";
    }
    cout<<endl;
    for (int i=0; i<N; i++)
    {
        
        for(j=0;j<N;j++)
        {
            if(dig[i]==dig[j])
            {
                count++;
                Rep[i]=count;               
            }           
        }
        count=0;        
    }
    for (int i=0; i<N; i++)
    {   
        if(Rep[i]>1)
        {           
            cout << "\n Element: " << dig[i] << " Index: ""[" << i+1 << "]"" >> Number of repetition: " << Rep[i] << endl;          
        }       
    }   
    getch();
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.11.2013, 22:53
Привет! Вот еще темы с ответами:

Задача на массивы - C++
Дана матрица размерностью N на M, где большинство элементов равно 0. Нужно все элементы матрицы разделить на самое большое число по модулю.

Задача на массивы - C++
С++ Помогите написать задачку... *Найти количество отрицательных элиментов массива. *Найти сумму модулей элиментов...

Задача на массивы - C++
Просмотрел все по поиску, есть одна похожая тема, но без окончания, решил создать новую из уважения к автору, чтобы не вклиниваться...не...

Задача на массивы - C++
Дан массив размером n*n,элементы которого целые числа.Вычислить А^n,где n-натуральное число.


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
29.11.2013, 22:53
Ответ Создать тему
Опции темы

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