Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
52 / 27 / 13
Регистрация: 01.03.2013
Сообщений: 328
1

Задача для начинающих. Нахождение дубликатов.

13.09.2013, 12:51. Показов 2306. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задача:
Напишите программу, которая находит и отображает значения-дубликаты
в 10-элементном массиве целочисленных значений (если таковые в нем
присутствуют).
Код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <cstdlib>
using namespace std;
        int main()
        {
              int str[10];
              int i;
              int j;
         for (i = 0; i < 10; i++)
         str[i] = rand();
           for (i = 0; i < 10; i++){
             for (j = 1; j<10; j++) {
         if( (str[i] == str[i - j]) && ((i-j)>=0))
         cout << " dubliruetsya znachenie " << str[i] ;
         else if ( (str[i] != str[i - j]) && ((i-j)>=0))
         cout << " dublikaty otsutstvuut ";
         break;
         }
         }
        return 0;
        }
Подскажите пожалуйста, что я делаю не так, желательно без кода.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.09.2013, 12:51
Ответы с готовыми решениями:

Задача для начинающих(Нет)
Нужно написать функцию detectiv(n,filesname),которая получает в качестве параметра длинну слова n и...

Задача о строке. Удаление дубликатов слов
В строке символов определить количество повторений каждого слова и удалить дубликаты слов.Слова ...

Нахождение дубликатов
Всем бодрый день, Буду признателелен за небольшую помошь. Дана таблица: create table...

Нахождение дубликатов
Всем бодрый день, Буду признателелен за небольшую помошь. Дана таблица: CREATE TABLE...

4
328 / 327 / 92
Регистрация: 16.12.2012
Сообщений: 544
13.09.2013, 12:59 2
просто отсортируйте массив и ищите два подряд идущих одинаковых элемента
0
188 / 187 / 46
Регистрация: 24.03.2011
Сообщений: 670
13.09.2013, 13:06 3
Цитата Сообщение от Kenny7423 Посмотреть сообщение
if( (str[i] == str[i - j]) && ((i-j)>=0))
* * * * *cout << " dubliruetsya znachenie " << str[i] ;
У вас здесь полный перебор, поэтому правильно будет так:
C++
1
if(str[i] == str[j]) cout << "дублир.";
else здесь явно не нужно(по крайней мере, в такой вариации, как здесь).
А цикл лучше так(чтоб меньше сравнений лишних было
C++
1
2
for (i = 0; i < 10; i++){
             for (j = i+1; j<10; j++) {
1
52 / 27 / 13
Регистрация: 01.03.2013
Сообщений: 328
24.09.2013, 12:07  [ТС] 4
Создайте собственную версию стандартной библиотечной функции st.rlen
(). Назовите свою версию mystrlen () и продемонстрируйте ее при-
менение в программе.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <windows.h>
#include <iostream>
using namespace std;
int mystrlen(char*i, int a);
int main()
{
     SetConsoleCP(1251);
     SetConsoleOutputCP(1251);
    int g;
    char str[] = "fdslfenlwk";
    cout << str << " \n";
    g = mystrlen(str);
    cout << " Длина строки равна " << g << "символов \n";
    return 0;
    }
int mystrlen(char'i, int a)
{
    int m = a;
    char x[] = i;
    for(m = 0; x[m]; m++) ++m;
}
Подскажите, я хоть на правильном пути?
0
188 / 187 / 46
Регистрация: 24.03.2011
Сообщений: 670
25.09.2013, 17:06 5
Примерно.
C++
1
2
3
4
int n = 0;
char* cur = data;
while(*cur++!='\0') ++n;
return n;
0
25.09.2013, 17:06
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.09.2013, 17:06
Помогаю со студенческими работами здесь

Нахождение дубликатов в матрице
Здравствуйте! Ребят, помогите решить следующую задачку: дана матрица 3 на 3 (с помощью stinggrid) и...

Нахождение дубликатов (одинаковых событий) по двум столбцам одновременно в pandas
Добрый день! Подскажите, пожалуйста, как можно с использованием pandas вывести одинаковые события в...

Задача для начинающих!
Надо создать сайт с Javascript. Должно выйти окно, в котором спрашивается вводит год, и после...

Задача для начинающих
Помогите пожалуйста решить не получается, а точнее никак не могу понять идею что конкретно нужно...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru