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

Вывод слов из предложения в обратном порядке - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определить иерархию классов http://www.cyberforum.ru/cpp-beginners/thread836284.html
1. Определить иерархию классов в соответствии с вариантом (с графическим отображением в отчете). 2. Реализовать классы конструктами без параметров, с параметрами, копирования (базовый и производные классы должны содержать не менее пяти методов). 3. Определить в классах деструкторы. 4. Для добавления объекта в список предусмотреть метод класса, т.е. объект сам себя добавляет в список. 5....
C++ Операции с переменными Я задал количество переменных, а как сделать так, чтобы их количество было если не бесконечным, то хотя бы не указанное.... тоесть, ввожу числа для арифм. операций через enter.. и когда я ничего не ввиду и нажму enter все чтоб посчиталось ? Ума не приложу как организовать так... )) case 3: int a2,b2,c2,d2,e2; cout <<"Вы выбрали : \n"; cout... http://www.cyberforum.ru/cpp-beginners/thread836264.html
Вывод динамического двумерного массива через функцию C++
Имею следующий код: void matrix_output (int **matrix, int N) { for (int i=0; i<N; i++) { for (int j=0; j<N; j++) cout<<matrix<<"\t"; }
C++ Построить описание класса, содержащего информацию
Пожалуйста помогите написать программу на С++. Задание: Построить описание класса, содержащего информацию о почтовом адресе организации. Предусмотреть возможность раздельного изменения составных частей адреса, создания и уничтожения объектов этого класса. Написать программу, демонстрирующую работу с этим классом. Программа должна содержать меню, позволяющее осуществить проверку всех...
C++ Доработать программу ( разложить матрицу по диагоналям в одномерный массив) http://www.cyberforum.ru/cpp-beginners/thread836226.html
Надо разложить матрицу по диагоналям в одномерный массив. Получилось разложить до главной с ней включительно , а вот остальные никак не поддаются какие только условия не перепробовал в циклах... Второй цикл по идее должен раскладывать оставшуюся часть ( что он почти и делает только не вниз , как надо , а вверх) если подправить второй цикл ( не знаю только как ), то прога вполне рабочая......
C++ Проход по значениям разрывного нумерованного enum Всем Бобра! Вопрос прост: как для разрывного перечисления пройти все элементы? enum vars { Sleeping = 0, Updating = 15, PANIC11 = 250, }; std::map < vars,myClass > mymap; подробнее

Показать сообщение отдельно
yutr777
4 / 4 / 0
Регистрация: 07.04.2013
Сообщений: 85
13.04.2013, 01:18     Вывод слов из предложения в обратном порядке
Как-то раз Поликарп захотел узнать, кто из секретарей разговаривает по Spyke, а кто — нет. Он выписал для каждого секретаря номер сессии его разговора, или 0, если этот секретарь сейчас не разговаривает по Spyke.

Помогите Поликарпу по этим данным определить, сколько пар секретарей сейчас ведут разговор. Если в данные Поликарпа закралась ошибка, и описанная ситуация никак не могла произойти, требуется сообщить об этом.

Обратите внимание, секретари могут разговаривать по Spyke не только друг с другом — возможны разговоры с внешними собеседниками. Также не разрешены конференции Spyke — то есть в каждом разговоре должны участвовать ровно два собеседника.

Входные данные
В первой строке записано целое число n (1 ≤ n ≤ 103) — количество секретарей в корпорации Поликарпа. В следующей строке записаны n целых чисел через пробел: id1, id2, ..., idn (0 ≤ idi ≤ 109). Число idi равно номеру сессии разговора секретаря номер i, если он разговаривает в данный момент по Spyke, или равно нулю, в противном случае.

Считайте, что секретари пронумерованы от 1 до n некоторым образом.

Выходные данные
Выведите единственное целое число — количество пар секретарей, которые ведут разговор, или -1, если в данные Поликарпа закралась ошибка, и описанная ситуация никак не могла произойти.

Примеры тестов
входные данные
6
0 1 7 1 7 10
выходные данные
2
входные данные
3
1 1 1
выходные данные
-1
входные данные
1
0
выходные данные
0
Примечание
В первом тестовом примере есть два телефонных разговора между секретарями: секретарь номер 2 и секретарь номер 4, секретарь номер 3 и секретарь номер 5.

Во втором тестовом примере описанная ситуация невозможна, так как не разрешены конференции.

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
#include <iostream>
#include <algorithm>
 
typedef long long ll;
 
using namespace std;
 
int main()
{
ll ans=0,n,dl=1,x;
cin >> n;
ll a[10000]={0};
for (int i=0;i<n;i++)
{
    cin >> a[i];
}
sort(a,a+n);
for (int i=1;i<n;i++)
{
    if (a[i]==a[i-1]){dl++;continue;}
    if (a[i]!=a[i-1]){
                      if (dl==2 && a[i-1]!=0){ans++;}
                      if (dl>2 && a[i-1]!=0) {ans=-1;break;} 
                      dl=1;
                      }
}
if (dl==2 && a[n-1]!=0){ans++;}
if (dl>2) {ans=-1;} 
cout << ans;   
return 0;
}
не пашет((
Помогите решить парни, спасибо всем заранее
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru