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

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

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

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

25.11.2013, 22:16. Просмотров 298. Ответов 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;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.11.2013, 22:16     Подскажите Задача (Массивы)
Посмотрите здесь:

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

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

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

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

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

Задача на массивы. - C++
Помогуте сделать задачи по массивам! 1.Написать функцию, которая возвращает количество элементов заданного в качестве параметра массива...

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

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

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

задача на массивы. - C++
Ломаю голову над такой вот загагулиной допусим есть 16ти элементный массив возможные значения в нем так же 1 -16 13 13 13 4 13 14 6...

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

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

задача на массивы - C++
Пользователь вводит число (количество знаков не определено). Если в это числе есть цифра 0, то вывести на экран &quot;#0&quot; Если в это числе...


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

Или воспользуйтесь поиском по форуму:
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;
}
Yandex
Объявления
29.11.2013, 22:53     Подскажите Задача (Массивы)
Ответ Создать тему
Опции темы

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