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

Дана последовательность чисел. Найти количество различных чисел в этой последовательности - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ряд тейлора http://www.cyberforum.ru/cpp-beginners/thread275958.html
Помогите плиз написать программу на языке С/С++. :wall: Вычислить и вывести на экран в виде таблицы значение функции,заданной с помощью ряда Тейлора, на интервале от Хнач до Хкон с шагом dx с...
C++ Работа с функцией класса Почему то выскакивает ошибка: "Error 3 error C2228: left of '.Load' must have class/struct/union 14 " #include <iostream> using namespace std; int main(){ class Model{ Model();... http://www.cyberforum.ru/cpp-beginners/thread275955.html
М-блочный поиск C++
Дорогие друзья помогите написать программу на С для поиска в задаваемых массивах А и В елементов которые есть в А и нету в В и наоборот. Главная загвоздка — поиск надо сделать М-блочным поиском....
Как правильно записать if чтобы столбец матрицы FtF первый, второй и третий менялся по очереди на столбец матрицы Fty C++
Как правильно записать if чтобы столбец матрицы FtF первый, второй и третий менялся по очереди на столбец матрицы Fty, тоесть чтобы после того как поменялся первый столбец нашелся детерминант, потом...
C++ Найти сумму ряда http://www.cyberforum.ru/cpp-beginners/thread275930.html
Найти сумму ряда с точностью ε=10^-4, общий член которого a_n=1/(((3n-2)(3n+1)))
C++ Перестановка в обратном порядке букв Дано слово из 15 букв. Переставить в обратном порядке буквы, расположенные между k-й и s-й буквами. т.е. с (k+1)-й по (s-1)-ю. Значения k и s вводятся с клавиатуры. (k<S) подробнее

Показать сообщение отдельно
valeriikozlov
Эксперт С++
4672 / 2498 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
13.04.2011, 21:44
yuliyayuliya28, Ваш код неправильно считает. Вот контрпример: допустим n равно 10, три числа одинаковые, а остальные все числа разные.
Ошибка здесь:
Цитата Сообщение от yuliyayuliya28 Посмотреть сообщение
for(i = 0; i < n; ++i)//находим количество одинаковых элементов
for(j = i; j < n; ++j)
if((i != j) && (a[i] == a[j]))
{
++count;
break;
}
Когда a[i] равно первому такому числу (которое повторяется), то count станет равной 1.
Когда a[i] равно второму такому числу, то count станет равной 2.
В итоге результат получится: "Количество различных чисел 6", а на самом деле результат должен быть равен 7.
Предлагаю вариант:
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
#include"stdafx.h"
#include"iostream"
#include<conio.h>
#include<stdlib.h>
#include<time.h>
using namespace std;
int main()
{
setlocale(LC_ALL,"");
int *a,n,i,count, mas[10]={0};
srand(time(NULL));
cout<<"Введите количество элементов ";
cin>>n;
cout<<endl;
a=new int[n];
for(int i=0;i<n;i++)
{
a[i]=rand()%10;
cout<<a[i]<<" ";
cout<<endl;
mas[a[i]]++;
}
count=0;
for(i = 0; i < 10; ++i)//находим количество одинаковых элементов
if(mas[i]>1)
{
count+=mas[i];
}
cout << "Количество различных чисел " << n-count << "\n";
 
 
getch();
return 0;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru