Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.71/21: Рейтинг темы: голосов - 21, средняя оценка - 4.71
 Аватар для lerenia
3 / 3 / 3
Регистрация: 16.10.2012
Сообщений: 192
1

Вывести повторяющиеся элементы

12.04.2013, 17:46. Показов 4244. Ответов 27
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задан целочисленный массив Х из 20 элементов, среди которых есть повторяющиеся. Записать в массив Y по одному элементу из каждой группы одинаковых значений исходного массива.

Знаю что задача элементарная, но я не знаю с чего начать (после описания директорий).

Добавлено через 43 минуты
я вот остановилась на вводе данных и дальше застряла, какой цикл организовать что бы он сравнивал елементы между собой?
C
1
2
for i:=1, x[i] = x[i+1], i++
y[i]=x[i]
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.04.2013, 17:46
Ответы с готовыми решениями:

Вывести упорядоченные по убыванию повторяющиеся элементы массива и число повторений
Выдает ошибку в коде: Нужно: Вывести упорядочены по убыванию повторяющиеся элементы произвольного...

Вывести упорядоченные по убыванию повторяющиеся элементы произвольного одномерного массива
Вывести упорядочены по убыванию повторяющиеся элементы произвольного одномерного массива целых...

Вывести не повторяющиеся элементы массива
Как сравнить введенные элементы массива и вывести те, что не повторяются? #include <iostream>...

Вывести повторяющиеся элементы последовательности
нужно выполнить первое и второе задание, желательно "по проще" ,чтобы можно было объяснить учителю.

27
...
 Аватар для anmartex
1910 / 1329 / 966
Регистрация: 12.02.2013
Сообщений: 2,172
13.04.2013, 19:49 21
Author24 — интернет-сервис помощи студентам
Цитата Сообщение от lerenia Посмотреть сообщение
а как его переделать с указателем?
С каким указателем? И для каких целей?
0
 Аватар для lerenia
3 / 3 / 3
Регистрация: 16.10.2012
Сообщений: 192
13.04.2013, 19:54  [ТС] 22
Цитата Сообщение от anmartex Посмотреть сообщение
С каким указателем?
Цитата Сообщение от kotleta Посмотреть сообщение
#include <stdio.h> void stupid_sort(int * arr, int arr_size) { int i,j,tmp; for(i=0; i < arr_size; i++) { for(j=i+1; j < arr_size; j++) { if(arr[i] > arr[j]) { tmp=arr[i]; arr[i]=arr[j]; arr[j]=tmp; } } }
Цитата Сообщение от anmartex Посмотреть сообщение
И для каких целей?
научится разыменовывать и понять как вообще эти указатели работают
0
...
 Аватар для anmartex
1910 / 1329 / 966
Регистрация: 12.02.2013
Сообщений: 2,172
13.04.2013, 20:25 23
Цитата Сообщение от lerenia Посмотреть сообщение
научится разыменовывать и понять как вообще эти указатели работают
Что ж, удачи!:
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
69
70
71
72
73
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <locale.h>
 
#include <stdlib.h>
#include <time.h>
 
#define n 20
 
int main()
{
   srand(time(NULL));
   setlocale(LC_CTYPE, "");
   int x[n], y[n], i, k, t;
 
   int* ptrX;
   int* curX;
   int* endX = x + n;
 
   int* ptrY;
   int* endY = y;
   /***************************************/
   printf("Введите 5 элементов массива:\n");
   for (i = 0; i < n; i++)
   {
      //printf("%d-й элемент:\n", i);
      //scanf("%d", &x[i]);
      x[i] = rand() % 10;
   }
   /***************************************/
 
   k = 0;
   for (ptrX = x; ptrX < endX - 1; ++ptrX)
   {
      for (curX = ptrX + 1; (curX < endX) && (*curX != *ptrX); ++curX) { ; }
 
      if (*curX == *ptrX)
      {
         for (ptrY = y; (ptrY < endY) && (*ptrY != *ptrX); ++ptrY) { ; }
 
         if (*ptrY != *ptrX)
         {
            *(endY++) = *ptrX;
         }
      }
   }
 
   k = endY - y;
 
   /***************************************/
   printf("Исходный массив:\n");
   for (i = 0; i < n; i++)
   {
      printf("%5d", x[i]);
      if (((i + 1) % 5) == 0)
      {
         printf("\n");
      }
   }
   printf("\n Повторяющиеся элементы:\n");
   for (t = 0; t < k; t++)
   {
      printf("%5d", y[t]);
      if (((t + 1) % 5) == 0)
      {
         printf("\n");
      }
   }
   getch();
 
   return 0;
}
1
 Аватар для lerenia
3 / 3 / 3
Регистрация: 16.10.2012
Сообщений: 192
14.04.2013, 15:50  [ТС] 24
Цитата Сообщение от anmartex Посмотреть сообщение
#include <time.h>
простите а зачем эта функция? я думала она возвращает время в секундах с компьютера.
0
...
 Аватар для anmartex
1910 / 1329 / 966
Регистрация: 12.02.2013
Сообщений: 2,172
14.04.2013, 16:01 25
Цитата Сообщение от lerenia Посмотреть сообщение
простите а зачем эта функция?
Для функции time, а она в свою очередь для функции srand.


Кстати, я в последнем коде потенциальный баг занёс. Строки 38 и 42, так что спешу исправиться:
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
69
70
71
72
73
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <locale.h>
 
#include <stdlib.h>
#include <time.h>
 
#define n 20
 
int main()
{
   srand(time(NULL));
   setlocale(LC_CTYPE, "");
   int x[n], y[n], i, k, t;
 
   int* ptrX;
   int* curX;
   int* endX = x + n;
 
   int* ptrY;
   int* endY = y;
   /***************************************/
   printf("Введите 5 элементов массива:\n");
   for (i = 0; i < n; i++)
   {
      //printf("%d-й элемент:\n", i);
      //scanf("%d", &x[i]);
      x[i] = rand() % 10;
   }
   /***************************************/
 
   k = 0;
   for (ptrX = x; ptrX < endX - 1; ++ptrX)
   {
      for (curX = ptrX + 1; (curX < endX) && (*curX != *ptrX); ++curX) { ; }
 
      if (curX != endX)
      {
         for (ptrY = y; (ptrY < endY) && (*ptrY != *ptrX); ++ptrY) { ; }
 
         if (ptrY == endY)
         {
            *(endY++) = *ptrX;
         }
      }
   }
 
   k = endY - y;
 
   /***************************************/
   printf("Исходный массив:\n");
   for (i = 0; i < n; i++)
   {
      printf("%5d", x[i]);
      if (((i + 1) % 5) == 0)
      {
         printf("\n");
      }
   }
   printf("\n Повторяющиеся элементы:\n");
   for (t = 0; t < k; t++)
   {
      printf("%5d", y[t]);
      if (((t + 1) % 5) == 0)
      {
         printf("\n");
      }
   }
   getch();
 
   return 0;
}
1
 Аватар для lerenia
3 / 3 / 3
Регистрация: 16.10.2012
Сообщений: 192
14.04.2013, 16:44  [ТС] 26
anmartex, спасибо огромное)
Цитата Сообщение от anmartex Посмотреть сообщение
for (i = 0; i < n; i++) { //printf("%d-й элемент:\n", i); //scanf("%d", &x[i]); x[i] = rand() % 10; }
последний вопрос)))) а почему здесь считывание вводимых элементов комментарий?
0
...
 Аватар для anmartex
1910 / 1329 / 966
Регистрация: 12.02.2013
Сообщений: 2,172
14.04.2013, 16:49 27
lerenia, для тестирования очень муторно вводить постоянно числа, поэтому я просто задал генерацию случайных чисел в диапазоне от 0 до 9 (строка 29), а вот ваш код я просто закомментировал.
0
 Аватар для lerenia
3 / 3 / 3
Регистрация: 16.10.2012
Сообщений: 192
14.04.2013, 16:50  [ТС] 28
ааа) ясно) спасибо)
0
14.04.2013, 16:50
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.04.2013, 16:50
Помогаю со студенческими работами здесь

Вывести элементы матрицы, повторяющиеся 1 и более раз
Дан двумерный массив, нужно вывести элементы, повторяющиеся 1 и более раз. Вот мой код: #include...

Вывести повторяющиеся отрицательные элементы массива (по 1 разу)
Дан массив A(N).Вывести повторяющиеся отрицательные элементы массива(1 разу).Пожалуйста у кого есть...

Как удалить повторяющиеся элементы с массива и вывести их на экран
Массив не сортированный, вбивается с клавиатуры. Вписываются только положительные числа, когда...

Найти и вывести повторяющиеся элементы матрицы, указав их кратность.
Дана матрица целых чисел. Найти и вывести повторяющиеся элементы указав их кратность. program z1;...


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

Или воспользуйтесь поиском по форуму:
28
Ответ Создать тему
Новые блоги и статьи
Чем отличаются HashMap и Hashtable в Java
hw_wired 24.01.2025
В мире разработки на Java существует множество инструментов для работы с коллекциями данных, и среди них особое место занимают структуры данных для хранения пар ключ-значение. HashMap и Hashtable. . .
Как конвертировать видео в GIF
hw_wired 24.01.2025
В современном мире анимированные изображения стали неотъемлемой частью цифровой коммуникации. Формат GIF (Graphics Interchange Format) представляет собой особый тип файлов, который позволяет. . .
Как скопировать текст в буфер обмена на JavaScript во всех браузерах
hw_wired 24.01.2025
Копирование текста в буфер обмена стало неотъемлемой частью современных веб-приложений, значительно улучшающей пользовательский опыт и упрощающей работу с контентом. В эпоху активного обмена. . .
Как скрыть клавиатуру на Android
hw_wired 24.01.2025
При разработке Android-приложений часто возникает необходимость управлять видимостью экранной клавиатуры для улучшения пользовательского опыта. Одним из наиболее эффективных способов контроля. . .
Как обучить нейросеть создания картинок на Python
bytestream 24.01.2025
В эпоху цифровых технологий искусственный интеллект становится неотъемлемой частью творческого процесса. Особое место в этой области занимает разработка и обучение нейронных сетей для создания. . .
Как обучить нейросеть генерации текста на Python
bytestream 24.01.2025
В современном мире искусственный интеллект и машинное обучение становятся неотъемлемой частью многих технологических решений. Одной из наиболее интересных и востребованных задач в этой области. . .
Машинное обучение на Python
bytestream 24.01.2025
Введение в машинное обучение на Python Машинное обучение представляет собой одну из наиболее динамично развивающихся областей информационных технологий, которая позволяет компьютерным системам. . .
Как удалить вирус-майнер с компьютера
hw_wired 24.01.2025
Вирусы-майнеры стали одной из наиболее серьезных угроз для пользователей компьютеров. Эти вредоносные программы тайно используют вычислительные ресурсы зараженного устройства для добычи криптовалюты. . .
Что такое веб-сервер, для чего он нужен и как работает
bytestream 24.01.2025
В современную эпоху цифровых технологий веб-сервер является фундаментальным компонентом интернет-инфраструктуры, обеспечивающим функционирование множества онлайн-сервисов и веб-сайтов. Этот. . .
Как в цикле for перебрать все элементы в словаре в Python
bytestream 24.01.2025
Словари в Python представляют собой мощные структуры данных, которые позволяют хранить информацию в формате ключ-значение. Эта особенность делает их незаменимыми при работе с данными, где требуется. . .
Как отменить rebase в Git
hw_wired 24.01.2025
Git rebase представляет собой мощный инструмент для управления историей коммитов в системе контроля версий Git. Этот механизм позволяет разработчикам изменять последовательность, комбинировать или. . .
Как поменять цвет input placeholder с помощью CSS
bytestream 24.01.2025
В веб-разработке оформление элементов пользовательского интерфейса играет ключевую роль в создании привлекательного и интуитивно понятного дизайна. Особое внимание уделяется формам ввода данных, где. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru