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

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

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

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

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

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

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

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

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

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

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

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Day
1154 / 959 / 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];
  }
}
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])));
BOR1K
14 / 14 / 4
Регистрация: 19.09.2009
Сообщений: 289
26.01.2010, 19:12  [ТС]     Разные элементы. #4
Ни один из способов не работают(
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
Rififi
2359 / 1054 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
26.01.2010, 23:48     Разные элементы. #6
BOR1K,

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

ах ты врунишка... :lol:
Андрейка
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
BOR1K
14 / 14 / 4
Регистрация: 19.09.2009
Сообщений: 289
27.01.2010, 11:33  [ТС]     Разные элементы. #8
А если массив из Char сделать?
Rififi
2359 / 1054 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
27.01.2010, 14:32     Разные элементы. #9
BOR1K,

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

этот код считает для любых простых типов, а с небольшими модификациями - вообще для любых.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.01.2010, 11:40     Разные элементы.
Еще ссылки по теме:

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

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

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

Разные компиляторы - C++
Програмировать на С++ только начинаю. Только вот при скачивании разных учебников - встречаю отличающиеся коды. В одних случаю пишеться...


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

Или воспользуйтесь поиском по форуму:
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;
}
Yandex
Объявления
28.01.2010, 11:40     Разные элементы.
Ответ Создать тему
Опции темы

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