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

Проредить исходную последовательность отсчетов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Что учить дальше? http://www.cyberforum.ru/cpp-beginners/thread780689.html
В каком направлении посоветуете двигаться дальше? В раздел классы я въехал, знаю как реализовывать стандартные структуры, типа (очередь, стэк, деревья), разбираюсь в графах и алгоритмах. Сейчас...
C++ блок схема Добрый вечер ет задачка решена ребят помогите блок схему сделать оч нада. Дана целочисленная прямоугольная матрица. Определить: 1) сумму элементов в тех строках, которые содержат хотя бы один... http://www.cyberforum.ru/cpp-beginners/thread780687.html
C++ сборка, cygwin, visual studio
Скачал исходники библиотеки для работы с почтой, код написан для linux/windows в проекте файлы autotools и файлы проектов sln. В инструкции по сборке говориться собрать дополнительные библиотеки...
C++ ошибка:1>LINK : fatal error LNK1561: точка входа должна быть определена
вот текст программы: #include "stdafx.h" #include "iostream" #include "conio.h" #include "math.h" #include "stdio.h" using namespace std;
C++ Запись массива структур в двумерный связной список http://www.cyberforum.ru/cpp-beginners/thread780675.html
Записать массив структур в двумерный связной список(динамический).Помогите решить. struct pc{ char box; char boxprice; char keyb; char keybprice; char mouse; char mouseprice; char monitor;...
C++ Класс Letter Помогите пожалуйста написать класс Letter) Очень надо!)))))) Создать класс Letter, содержащий следующие элементы: - поле «отправитель» Person*Sender; - поле «получатель» Person*Receiver; -... подробнее

Показать сообщение отдельно
Parovozov
0 / 0 / 0
Регистрация: 26.02.2017
Сообщений: 3

Проредить исходную последовательность отсчетов - C++

06.02.2013, 22:40. Просмотров 683. Ответов 1
Метки (Все метки)

рожаю и родить уже не могу - мозг поплыл.

под плюсиком:

Кликните здесь для просмотра всего текста
Дана последовательность отсчетов, представляющих собой пары (double Х : double Y). Отсчеты упорядочены по значениям Х.
В этой последовательности могут встречаться подпоследовательности, состоящие из идентичных отсчетов. Идентичные отсчеты имеют одинаковые значения Y.

Проредить исходную последовательность следующим образом:
В каждой подпоследовательности идентичных отсчетов оставить только первый и последний отсчеты, а так же каждый n-ный отсчет (n > 2).
Вывести на экран исходную последовательность и результат.
Пример:
Исходная:
(1.0, 10.0) (2.0, 11.0), (3.0, 11.0), (4.0, 11.0), (5.0, 11.0) (6.0, 10.0)
Результат при n = 3:
(1.0, 10.0) (2.0, 11.0), (4.0, 11.0), (5.0, 11.0) (6.0, 10.0)
Результат при n = 4:
(1.0, 10.0) (2.0, 11.0), (5.0, 11.0) (6.0, 10.0)


Вопщем мои действия:
создал 2мерный массив 6х2.
Путем сравнения определил подпоследовательности, а вот вывести на консоль 1й, последний и n-й ни как. посоветуйте как можно сделать.

Спасибо.

Добавлено через 2 часа 50 минут
Это код который имеет место быть.
собственно после того как определяются подпоследовательности, я впадаю в ступор-пытаюсь полученную выборку воткнуть в другой двумерный массив, чтобы в дальнейшем работать именно с теми данными, которые нужны, не получается.
Я до не уверен в правильном выборе пути решения задачи, может кто что подскажет?

И STL я пока не готов пользоваться, только начал постигать дзен.

Камрады, помогите советом.

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
#include <iostream>
#include <iomanip>
using namespace std;
 
// прототипы функций
//--------------------------------------------------------------------------
// функция вывода исходных последовательностей
void show(const double arr[][2], int x);
//--------------------------------------------------------------------------
 
// глобальные переменные
 
const int X=6,  Y=2;        // количество последовательностей
const int s = 4;            // Ширина вывода
 
int main()
{
    int n=3;                // условие при выводе последовательностей
    double arraypairs [X][Y]=       // массив пар последовательностей
    {               
        {1.0, 10.0}, 
        {2.0, 11.0}, 
        {3.0, 11.0}, 
        {4.0, 11.0}, 
        {5.0, 11.0}, 
        {6.0, 10.0} 
    };
 
// вывод исходной последовательности
    show(arraypairs,X);
    cout<<endl;
 
// поиск подпоследовательностей путем сравнения верхней последовательности с нижней 
    for (int i=0; i<X; i++)
    {
        for (int j=0; j<Y; j++)
        {   
                if (arraypairs[i][1] == arraypairs[i+1][1] || arraypairs[i][1] == arraypairs[i-1][1]) // нашли все подпоследовательности
                    cout<<setw(s)<<arraypairs[i][j];// проверка правильности нахождения
 
                    
        }
    }
 
return 0;
}
 
void show(const double arr[][2], int x)
{
    for (int sequence=0; sequence<X; sequence++)
    {
        cout<<endl;
        for(int pair=0; pair<Y; pair++)
            cout<<setw(s)<<arr[sequence][pair];
    }
    cout<<endl;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.