|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.04.2010, 14:39 | #1 |
Пользователь
Регистрация: 04.01.2010
Сообщений: 23
|
Программа, которая находит в массиве значения, повторяющиеся два и более раз
Задача: Написать программу, которая находит в массиве значения, повторяющиеся два и более раз, и показывает их на экран. (Решить с помощь динамических массивов)
Проблема в том, что мое решение находя повторяющееся значение выводит его на экран один раз а потом дойдя до повторяющегося значения в масиве, снова выводит его на экран. Подскажите как поправить код чтобы повторяющиеся значения выводились только по разу. Решение: Код:
|
21.04.2010, 15:18 | #2 |
Пользователь
Регистрация: 04.02.2010
Сообщений: 50
|
мм.. посмотри вот... может поможет, программа будет выводить сколько единиц, двоек.. и т.д.. у тебя в массиве.. при желании можно переделать под твое задание
#include <iostream> #include <conio> #include <iomanip> using namespace std; int main () { const int size=10; int *mas=new int [size]; int mas1[100]={0}; for (int i=0;i<size;i++) { cout<<"Enter digit: "; cin>>mas[i]; } cout<<"\n\n"; for (int i=0;i<size;i++) { ++mas1[mas[i]]; } cout<<"Outputting count of elements\n"; for (int i=0;i<size;i++) { cout<<i+1<<setw(15)<<mas1[i]<<" "<<endl; } getch(); delete [] mas; return NULL; } я сильно к твоей проге не присматривался, может там continue влепить надо..
Я не волшебник.. я только учусь
Последний раз редактировалось romec1; 21.04.2010 в 15:33. |
21.04.2010, 15:43 | #3 |
Пользователь
Регистрация: 04.01.2010
Сообщений: 23
|
Вот немного переработанный вариант, но тоже с проблемой ратотает правильно только если значение повторяеться один раз, если одинаковых значений в массиве больше 2-х то не срабатывает.
Код:
|
21.04.2010, 17:01 | #4 |
Наркоман самоучка
Форумчанин
Регистрация: 22.07.2007
Сообщений: 276
|
Ниже реализация Вашей задачи с помощью динамических массивов.
Код:
#include <мозг.h>
|
21.04.2010, 17:07 | #5 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,085
|
А я бы отсортировал массив и потом нашел элементы с одинаковыми соседями - это и будут повторяющиеся значения.
|
21.04.2010, 18:58 | #6 |
Пользователь
Регистрация: 04.01.2010
Сообщений: 23
|
Спасибо огромное, работает на ура! Единственное, вот пытаюсь понять алгоритм решения. Зачем там переменная bool find и какова её роль здесь. Да и получаеться в первом цикле мы вводим цифры в массив и тут же этот массив проверяем, так?
---- Впринципе разобрался, щас еще отладчиком пройдусь пару раз и пойму до конца. Спасибо Последний раз редактировалось yugik; 21.04.2010 в 19:07. |
08.03.2013, 18:14 | #7 |
Новичок
Джуниор
Регистрация: 08.03.2013
Сообщений: 1
|
Ёщё проще:
#include<iostream> #include <conio.h> using namespace std; void main() {setlocale (LC_ALL,"rus"); const int mas=10; int st[mas]; for (int i=0;i<mas;i++) { cout<<"Ведите елемент массива\n"; cin>>st[i]; } cout<<"\n\n"; for (int i=0;i<mas;i++) { for (int j=i+1;j<mas;j++) {if (st[i]==st[j]) {cout<<st[i]<<"\n\n";} } } cout<<"\n\n"; getch(); } |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Составить программу которая находит индекс числа в массиве случайных чисел | MadNikys | Помощь студентам | 9 | 03.03.2010 20:52 |
Ввести строку, вывести на экран символы, повторяющиеся в строке более 2 раз. | bibl2008 | Помощь студентам | 4 | 01.03.2009 13:30 |
программа, которая с точностью определяет значения функции y=ln(1-x),а модуль х<1, | АлександрFRONT | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 10.12.2008 01:37 |
программа, которая сохраняет веб страницы раз в час на сайте в определённой папке | SeregaKo | Общие вопросы Delphi | 7 | 24.07.2008 16:10 |