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

Непонятное поведение std::valarray - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Окружность по 3-ём точкам http://www.cyberforum.ru/cpp-beginners/thread186653.html
Здравствуйте! Помогите пожалуйста с заданием! Определить радиус и центр окружности минимального радиуса, проходящей хотя бы через три различные точки заданного множества точек на плоскости. Иными словами вы должны ввести любое кол-во точек и надо найти минимальный радиус и центр окружности, проходящей через любые 3 точки! вот часть моего кода
C++ Сумма цифр в матрице выше главной диаганали Двумерные массивы. Задача 2.1 Во входном файле задана целочисленная квадратная матрица. Посчитать среднее арифметическое значение ее нечетных элементов, расположенных выше главной диагонали. Формат входных данных Первая строка входного файла содержит 1 число - количество строк и столбцов матрицы. Далее в строках содержится по чисел - элементы матрицы, все числа не превосходят по модулю... http://www.cyberforum.ru/cpp-beginners/thread186651.html
матрица C++
дана квадратная целочисленная матрица. организовать ввод матрицы. в каждой строке матрицы найти минимальный элемент и поменять его местами с элементом главной диагонали в этой строке. полученную матрицу вывести на экран! помогите!!!!!!!
Составить программу вычисления числового ряда для известного числа членов ряда N. C++
Пожалуйста, как на C++ выполнить это задание, много времени потратил и все никак. Работает частично, но что-то я упускаю. Составить программу вычисления числового ряда для известного числа членов ряда N. Y=(3^-1/2)*(4^2/-5)*(5^-3/8)*(6^4/-11)...
C++ Файлы в С++ http://www.cyberforum.ru/cpp-beginners/thread186641.html
Привет всем. написал программу на С++. но почему-то она не работает. не записывает в выходной файл нужные значения. Помогите решить проблему. #include<iostream.h> #include<iomanip.h> #include<conio.h> #include<math.h> #include<stdio.h> #include<string.h> #include<fstream.h>
C++ Переработать строку и изменить все русские буквы Ф на русскую букву Ю Возникла такая необходимость. Переработать строку и изменить все русские буквы Ф на русскую букву Ю. Вышла вот такая вот программа: #include "stdafx.h" #include <conio.h> #include "iostream" #include <cstdio> using namespace std; подробнее

Показать сообщение отдельно
Somebody
2770 / 1583 / 141
Регистрация: 03.12.2007
Сообщений: 4,139
Завершенные тесты: 1
05.11.2010, 16:51     Непонятное поведение std::valarray
Есть такой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <valarray>
 
using namespace std;
 
int main()
{
    valarray<int> a(2);
    a[0] = 2; a[1] = 1;
    a = a[0] * a;
    cout << a[0] << ' ' << a[1] << endl;
    cin.peek();
}
Если компилировать Borland'ом, выводит интуитивно понятное 4 2, а если g++, то 4 4. Если было бы
C++
1
a *= a[0];
то a[0] передаётся по ссылке, undefined behaviour. Но здесь же вроде должен создаваться временный valarray, из которого потом копируется в a. Sequence point'ы есть до и после вызова operator* и operator=. Но это всё равно выполняется как
C++
1
2
a[0] = a[0] * a[0];
a[1] = a[0] * a[1];
Что бы это всё могло значить?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru