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

В одномерном массиве, состоящем из n вещественных элементов, вычислить: - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определить какое слово в строке встречается чаще всего http://www.cyberforum.ru/cpp-beginners/thread138985.html
ребят,помогите.Для Вас же это как семечки 1. Определить какое слово в строке встречается чаще всего 2. Подсчитать количество букв а в последнем слове.
C++ непонятная ошибка Люди срочно на помощь, в чем касяк // Экзам.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include <iostream> #include <conio.h> #include <stdio.h> #include <string> #include <ctime> http://www.cyberforum.ru/cpp-beginners/thread138934.html
C++ Как раскрасить строку разными цветами
нужно раскрасить вводимую строку различными цветами.Что нужно добавить в метод чтобы выводились разноцветные буквы.Или это лучше добавить при выводе? #include <strng.h> #include <conio.h> #include <stdlib.h> #include <graphics.h> classType string_MyClass =__firstUserClass;// class String_My : public String {
Массив на основе списка C++
//--------------------------------------------------------------------------- #include <vcl.h> #include <cstdlib> #include <iostream> #include <stdio.h> #include <conio.h> #pragma hdrstop #include <tchar.h>
C++ Как задать размерность матрицы с клавы?? http://www.cyberforum.ru/cpp-beginners/thread138926.html
Почему-то он у меня ругается на метод вывода Print() Может быть кто-нибудь подскажет как можно сделать по другому ввод размерности #include <conio.h> #include <iostream.h> #include <stdlib.h> class Matrix{ private: int n,m; int **x;
C++ Координаты m векторов заданы матрицей А(m,n) (m<=6, n<7). Необходимо вычислить длины этих векторов, распечатать значение и среди этих найти и указать Координаты m векторов заданы матрицей А(m,n) (m<=6, n<7). Необходимо вычислить длины этих векторов, распечатать значение и среди этих найти и указать номер вектора минимальной длины. подробнее

Показать сообщение отдельно
fasked
Эксперт C++
 Аватар для fasked
4929 / 2509 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
01.06.2010, 17:18     В одномерном массиве, состоящем из n вещественных элементов, вычислить:
Цитата Сообщение от neske Посмотреть сообщение
faksed,, объясни пару строк:
22:
C++
1
 std::copy(v.cbegin(), v.cend(), std::ostream_iterator<float>(std::cout, "\n"));
cbegin, cend?

27-28:
C++
1
2
if(std::find(v.rbegin(), v.rend(), 0) != v.rend())
      std::cout << std::accumulate(std::find(v.rbegin(), v.rend(), 0).base(), v.end(), 0) << std::endl;
Общий смысл понятен, но: rbegin, rend(почему не воспользоваться begin,end?), base(), тоже беспонятия =)
Спс.
cbegin(), cend() - const_iterator. просто так вставил, по идее значение по константному итератору не может измениться.

rbegin(), rend() - reverse_iterator. реверсивный итератор. если бы в этом случае в find отправить обычный итератор, то нашелся бы первый ноль в векторе, а нужен был последний.

ну а base() меняет вид итератора с реверсивного на прямой
C++
1
vector<float>::reverse_iterator::base()
то есть нельзя в один алгоритм (здесь это accumulate) подавать итератора разного вида -- ошибка. от этого как раз зависит какого типа итератор будет возвращаться.
если подавать например вторым операндом rend() то посчиталась бы сумма до последнего нуля.
C++
1
accumulate(find(v.rbegin(), v.rend(), 0), v.rend(), 0);
а так с помощью base итератор, возвращенный find преобразуется в прямой итератор и все хорошо...
в общем-то я просто не знаю как найти последний нужный элемент в массиве в одну строку, кроме как с использованием реверсивных итераторов =)

Не по теме:

объяснил как смог xD



Добавлено через 4 минуты
Цитата Сообщение от NNN777 Посмотреть сообщение
fasked, я вообще не сортирую массив) - я запоминаю число (если оно больше -2 и меньше 2) ,удаляю его из массива и записываю в позицию d, которая увеличивается при каждой такой записе)... Говорю, не самыый рациональный вариант, но зато вроде понятный
я просто подумал, раз перестановки в массиве все равно совершаются, то зачем платить больше
 
Текущее время: 13:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru