Напишите программу, которая проверяет, есть ли во введенном с клавиатуры массиве элементы с одинаковым значением.
/*
Программа проверяет есть ли во введенном массиве
элементы с одинаковыми значениями.
*/
#include «locale.h»
#include «curses.h»
#include «stdio.h»
#include «stdlib.h»
#include «time.h»
#define HB 5
#define YES 1
#define NO 0
main()
int s[HB];
int isrep;
int i, k;
time_t t;
char *log;
initscr();
srand((unsigned) time(
for(i = 0; i < HB; i++)
s[i] = rand() % 10 + 1;
printw(«%i «, s[i]);
>
printw(«n»);
isrep = NO;
if(s[i] == s[k])
isrep = YES;
>
>
if(isrep) printw(«В последовательности есть повторения.n»);
else printw(«В последовательности нет повторений.n»);
getch();
Решение задачи, на языке программирования Си
endwin();
return 0;
Источник: cirishen.blogspot.com
Есть ли в массиве одинаковые элементы
Дан массив целых чисел. Проверить, есть ли в нем одинаковые элементы.
Чтобы проверить каждый элемент массива на уникальность, надо сравнить его с остальными элементами. Так первый элемент следует сравнить со вторым, третьим и так далее до конца. После этого второй элемент сравнивать с третьим, четвертым и так далее. Второй элемент с первым сравнивать не надо, так как они уже сравнивались при оценке уникальности первого элемента.
Когда очередь дойдет до предпоследнего элемента, то он сравнивается только с последним. Последний же уже сравнивать не надо. Таким образом, количество итераций внешнего цикла на 1 меньше, чем элементов в массиве. Счетчик этого цикла — это номер элемента, который сравнивается с элементами стоящими после него.
Внутренний цикл перебирает элементы от следующего за исследуемым до последнего. На данном отрезке элементы массива сравниваются с исследуемым элементом. Если какой-то элемент окажется равен исследуемому, значит, что в массиве есть одинаковые значения. Следует вывести соответствующее сообщение и завершить программу, так как дальше уже можно не проверять.
Если программа в процессе выполнения циклов не завершилась, то значит, одинаковых элементов найдено не было. Следует вывести сообщение, что все элементы массива разные.
Программа на языке Паскаль:
const N = 10; var arr: array[1..N] of byte; i, k: byte; begin randomize; for i:=1 to N do begin arr[i] := random(80); write(arr[i]:3); end; writeln; for i:=1 to N-1 do for k:=i+1 to N do if arr[i] = arr[k] then begin writeln(‘Есть одинаковые элементы’); exit; end; writeln(‘Все элементы уникальны’); end.
Примеры выполнения кода:
13 76 31 13 32 18 2 70 76 8 Есть одинаковые элементы
59 11 18 46 25 39 44 10 23 6 Все элементы уникальны
Источник: pas1.ru
КАК ДОБАВИТЬ ЭЛЕМЕНТ В МАССИВ | в конец массива | в начало массива | по индексу | C# УРОКИ | ДЗ #13
Написать программу которая проверяет есть ли во введенном с клавиатуры массиве элементы с одинаковым значением
Программа проверяет, есть ли во введённом с клавиатуры массиве элементы с одинаковыми значениями (На СИ++)
Написать программу,которая проверяет,есть ли во введённом с клавиатуры массиве элементы с одинаковыми значениями( на языке си++)
В упор понять не могу как её делать
Регистрация: 15.02.2010
Сообщений: 15,396
для счетчика от 0 до н-1 делать для счетчика2 от счетика+1 до н-1 делать если элемент[счетчик2] = элемент[счетчик], то есть
Пользователь
Регистрация: 06.10.2011
Сообщений: 67
я почти решил эту задачу только не могу понять почему он выдаёт всё время не одинаковых элементов хоть элементы и есть
#include «stdio.h» #include «conio.h» void main() < int mas[8]; int i,j,k; int flag=0; printf(«Vvedite massiv chisel»); for (i=1;i<=8;i++) < scanf(«%d», mas[i]=k; >for (i=1;i <=8;i++) < for (j=i+1;j<=8;j++) if (mas[j]==mas[i]) < flag= 1; >else flag= 0; > if (flag==1) < printf(«NaydenbI odinakovbIe elementbI»); >else printf(«Net odinakovbIx elementbI»); getch(); >
Участник клуба
Регистрация: 28.03.2012
Сообщений: 1,679
У меня получилось что-то вроде этого:
#include #include #include using namespace std; const int N = 8; int main() < int arr[N] = ; bool flag = false; setlocale(0, «rus»); cout > arr[i]; > for(int i = 0; i < N; i++) < for(int j = (i + 1); j < N; j++) < if(arr[i] == arr[j]) flag = true; >> if(flag) cout
«Keep it simple» — придерживайтесь простоты!
Уильям Оккам — «Не следует множить сущее без необходимости»
Сложность — враг простоты и удобства!
Источник: www.programmersforum.ru