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

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

Войти
Регистрация
Восстановить пароль
 
Kenny7423
25 / 25 / 8
Регистрация: 01.03.2013
Сообщений: 270
#1

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

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

Задача:
Напишите программу, которая находит и отображает значения-дубликаты
в 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;
        }
Подскажите пожалуйста, что я делаю не так, желательно без кода.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.09.2013, 12:51     Задача для начинающих. Нахождение дубликатов.
Посмотрите здесь:

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

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

Многопоточность для начинающих - C++
пускай у нас есть коллекция объектов, вид коллекции можем выбрать как удобно. нужно вызвать функцию foo для каждого объекта в коллекции....

Задачник для начинающих - C++
Посоветуйте хороший задачник по С++.

Практика для начинающих - C++
Я прочитал книжку по Си++, сходил на курсы. Теперь сталкнулся с проблемой нехватки практики. Может кто знает какие-нибудь задачники или...

Литература для начинающих - C++
всех с НГ!))) посоветуйте что почитать человеку который с программированием на Вы а в частности по С++...

самоучитель с++ для начинающих - C++
Если у кого есть самоучитель с++ для начинающих (совсем), можете загрузить и дать скачать?

программа для начинающих - C++
Помогите выполнить задание из книжки(не знаю када че использовать и как): Объявите переменную типа char с именем friend_sex и...

Литература для начинающих - C++
Здравствуйте,меня зовут Андрей мне 14 лет и я хотел бы спросить у знающих людей какую литературу мне прочитать для изучения языка C++,я...

C++ задание для начинающих! - C++
Товарищи, кодеры. Помогите пожалуйста с заданием перваку.

split C++ для начинающих - C++
Народ будет большая просьба: кто сможет объяснить как работает split. Искал и не нашел, гугл ничего нормального для понимания не даёт.

Литература по C++ для начинающих - C++
Здравствуйте я учу язык с++ и ничего в нем не понимаю вообще скиньте мне какую то методичку для начинающих или книгу какую то...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SummerRain
326 / 325 / 17
Регистрация: 16.12.2012
Сообщений: 544
13.09.2013, 12:59     Задача для начинающих. Нахождение дубликатов. #2
просто отсортируйте массив и ищите два подряд идущих одинаковых элемента
monolit
185 / 184 / 22
Регистрация: 24.03.2011
Сообщений: 665
Завершенные тесты: 1
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++) {
Kenny7423
25 / 25 / 8
Регистрация: 01.03.2013
Сообщений: 270
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;
}
Подскажите, я хоть на правильном пути?
monolit
185 / 184 / 22
Регистрация: 24.03.2011
Сообщений: 665
Завершенные тесты: 1
25.09.2013, 17:06     Задача для начинающих. Нахождение дубликатов. #5
Примерно.
C++
1
2
3
4
int n = 0;
char* cur = data;
while(*cur++!='\0') ++n;
return n;
Yandex
Объявления
25.09.2013, 17:06     Задача для начинающих. Нахождение дубликатов.
Ответ Создать тему
Опции темы

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