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

"Сжатие" массива - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Нахождение минимального и максимального элементов матрицы http://www.cyberforum.ru/cpp-beginners/thread168201.html
дано целочисленная матрица n x m определить: 1. MAX элемент в первом столбце и MIN элемент в последнем столбце. 2 MAX элемент во второй строке и MIN элемент в предпоследней строке и указать их место нахождения
C++ Задание графов матрицами смежности,инцидентности 1. задать граф матрицей смежности; 2. задать граф матрицей инцидентности; 3. задать граф списком ребер. Замечание: 1. для каждого пункта задания построить соответствующий граф; 2. количество верши и количество ребер задается пользователем Подскажите плиз что делать ? Может у кого есть примеры работы с графами? http://www.cyberforum.ru/cpp-beginners/thread168196.html
C++ Перевод числа в строку
Подскажите пожалуйста: 1) Каким образом переводится число в строку 2) Как записывается число начиная с последнего символа(задом на перед) #include <iostream.h> #include <string.h> void main() { char s;
C++ Действия над многорозряднымии числами(очень длинными)
Помогите пожалуйста: 1. Задачи: - Введение многоразрядного числа с клавиатуры. - Выведение многоразрядного числа на экран. - Сумма двух таких чисел. - Реализация сравнения двух таких чисел (A=В, А<В, А>В, А=<В, А>=В). - Умножения большого числа на короткое. - Написать программу вычисления факториала N! при N>100. P.S. Кто понимает украинский могу выложить часть лекции.
C++ Классы. С++. Описание и пояснение к проге... http://www.cyberforum.ru/cpp-beginners/thread168099.html
Требуется: Определить класс сортированный список элементов. В определение класса включить два конструктора для определения списка по его размеру и путем копирования другого списка. Предусмотреть функции добавления элемента и слияния двух сортированных списков. Готовый код программы есть. Нужны описания к функциям/классам через // . Что какой элемент программы делает... #include...
C++ Приведение матрицы к диагональному виду Всем привет! Помогите решить задачку на с++: Привести матрицу n*n к диагональному виду, иллюстрируя каждый шаг. У меня получилось вывести матрицу на экран: #include <iostream> #include <stdlib.h>//очистка экрана. using namespace std; int main(){ int n; подробнее

Показать сообщение отдельно
Nick Alte
Эксперт С++
1590 / 982 / 115
Регистрация: 27.09.2009
Сообщений: 1,897
Завершенные тесты: 1
22.09.2010, 19:25     "Сжатие" массива
Наиболее очевидный ответ - линейная интерполяция. Формула взвешенного среднего a и b с коэффициентом k выглядит как a*(1-k) + b*k. В данном случае k, который всегда находится в интервале от 0 до 1 - показатель "близости" к a или b: 0 соответствует нахождению в a, 1 соответствует b, а 0.5 - на полпути между ними.
Допустим, нам надо перегнать массив размером 17 в массив с размером 11.
Остаётся перекалибровать шкалу индексов: спроецируем новый интервал от 0 до 6 на старый, от 0 до 9. Обозначив старый индекс как i', а новый как i, получим i' = i*16/10 (заметим, что здесь мы пользуемся размерами массивов, уменьшенными на 1, при этом крайние элементы в исходном и результирующем массивах будут совпадать).
Рассмотрим на примере элемента нового массива с индексом 4: i' = 4*16/10 = 6.4
Получается, что в новый массив под индексом 4 мы занесём взвешенную сумму элементов 6 и 7 с коэффициентом 0.4
Таким образом массивы можно как сжимать, так и расширять (однако когда мы сжимаем в 2 и более раз, понадобятся дополнительные ухищрения).
 
Текущее время: 12:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru