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

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

Войти
Регистрация
Восстановить пароль
 
BOR1K
14 / 14 / 4
Регистрация: 19.09.2009
Сообщений: 289
#1

Разные элементы. - C++

26.01.2010, 12:25. Просмотров 487. Ответов 9
Метки нет (Все метки)

Дан, упорядоченный массив по возрастанию. Найти кол-во различных числе среди элементов массива.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.01.2010, 12:25
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Разные элементы. (C++):

Вывести разные элементы матрицы - C++
Вывести разные элементы матрицы A(9;4) и C(10;3)

Найти разные элементы масива - C++
Здравствуйте, есть задача дана целочисленная последовательность (одномерный массив целых чисел). Написать программу нахождения количества...

Проверка на разные элементы при вводе матрицы - C++
Здравствуйте, как сделать проверку при вводе матрицы с клавиатуры, чтобы нельзя было ввести 2 и более одинаковых элементов матрицы?

Положительные и отрицательные элементы массива записать в разные переменные - C++
В универе используем компилятор DEV C++. Была дана задача ввести массив разными способами(вручную и рандомно). И сделать следующее: чтобы...

Удаление максимального элемента массива, если все элементы разные - C++
Всем привет! Необходимо удаление максимального элемента массива, если все элементы разные, если же одинаковые - вывести сообщение: все...

Поменять местами элементы массива, разные по знаку, но одинаковые по модулю - C++
Здравствуйте! Помогите, пожалуйста с программой. Программа: Дан массив с целыми числами. Нужно найти одинаковые по модулю, но разные по...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Day
1158 / 963 / 57
Регистрация: 29.10.2009
Сообщений: 1,385
26.01.2010, 15:38 #2
Код
for(i=0, k=0; i<N; i++) {
  if (i==0) {
     k++;
     x = m[i];
  }
  else if (x!=m[i]) {
     k++;
     x = m[i];
  }
}
Написал и сразу увидел
Код
for(i=0, k=0; i<N; i++) {
  if (i==0 || x!=m[i]) {
     k++;
     x = m[i];
  }
}
1
Rififi
2359 / 1054 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
26.01.2010, 15:55 #3
int arr[] = {...};
int i = std::distance(arr, std::unique(arr, arr+sizeof(arr)/sizeof(arr[0])));
1
BOR1K
14 / 14 / 4
Регистрация: 19.09.2009
Сообщений: 289
26.01.2010, 19:12  [ТС] #4
Ни один из способов не работают(
0
Gravity
562 / 556 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
26.01.2010, 19:18 #5
Все отлично работает.
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <algorithm>
 
int main()
{
    int arr[] = { 1, 2, 2, 3, 4, 5, 5 };
    int N = sizeof(arr) / sizeof(arr[0]);
    std::cout << "Кол-во разных элементов: "
              << std::distance(arr, std::unique(arr, arr + N))
              << "\n";
    return 0;
}
http://codepad.org/xJUPWrjg
1
Rififi
2359 / 1054 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
26.01.2010, 23:48 #6
BOR1K,

Ни один из способов не работают(

ах ты врунишка... :lol:
0
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
26.01.2010, 23:54 #7
BOR1K, да полюбому если так вбить
int arr[] = {...};
int i = std::distance(arr, std::unique(arr, arr+sizeof(arr)/sizeof(arr[0])));
в пустой .cpp не заработае =D
0
BOR1K
14 / 14 / 4
Регистрация: 19.09.2009
Сообщений: 289
27.01.2010, 11:33  [ТС] #8
А если массив из Char сделать?
0
Rififi
2359 / 1054 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
27.01.2010, 14:32 #9
BOR1K,

А если массив из Char сделать?

этот код считает для любых простых типов, а с небольшими модификациями - вообще для любых.
0
genius5
114 / 36 / 2
Регистрация: 13.12.2009
Сообщений: 223
28.01.2010, 11:40 #10
а если так,
C
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
#define n 10
int main(void)
{int mas[n]={1,1,2,3,3,4,5,7,7,7};
int i,k=0;
for(i=0;i<n;i++)
{if(mas[i]!=mas[i+1])k++;
if(i==n)break;}
printf("%d ",k);
return 45;
}
Добавлено через 36 секунд
C
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
#define n 10
int main(void)
{int mas[n]={1,1,2,3,3,4,5,7,7,7};
int i,k=0;
for(i=0;i<n;i++)
{if(mas[i]!=mas[i+1])k++;
if(i==n)break;}
printf("%d ",k);
return 45;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.01.2010, 11:40
Привет! Вот еще темы с ответами:

В разные одномерные массивы вывести четные/нечетные элементы матрицы - C++
Задана целая квадратная матрица Сформировать еще 2 одномерным массива в 1 вывести четные во 2 не четные . Напишите код для новичков чтоб...

Как переопределить функцию так, чтобы она не только могла принимать разные параметры, но и возвращать тоже разные? - C++
То есть я считаю несправедливым, если такое проканывает: void f () {;} void f (int) {;} а такое нет: void f (int) {;} int f...

Разные - C++
Буду признателен любой помощи. Решать желательно через printf scanf 1.Задача. Напишите программу, которая подводит итоги Олимпийских игр....

Разные кнопки - C++
Дело в том что есть два вида управляемых елемнтов (может ибольше но меня интересуют только эти два) это круглые(в картинке обратите...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
28.01.2010, 11:40
Ответ Создать тему
Опции темы

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