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

Векторизация множественно выполняющейся операции - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Переделать программу http://www.cyberforum.ru/cpp-beginners/thread707934.html
помогите изменить программу, программа ищет наименьший элемент последовательности, а мне надо индекс этого элемента т.е порядковой номер (начиная с нуля). вот код: #include <vcl.h> #pragma hdrstop #include "Unit1.h"
C++ Изучение C++ Изучаю язык С++ два месяца с небольшим, пока решил это делать самостоятельно, нашел на Ютубе серию уроков, каждый урок в точности стараюсь повторить без подглядываний, в принципе не так тяжело один файл, день два макс три и ты его пишеш, но вот попалась мне серия игр - тетрис, змейка, и brackout и на изучение тетриса у меня ушло полторы недели - 5 Сишных 4 Хэдерных файла. На освоение двух... http://www.cyberforum.ru/cpp-beginners/thread707932.html
Удалить буквы из строки C++
Нужно удалить все буквы с str которые есть в s #include <string.h> #include <iostream> #include <conio.h> using namespace std; int main() { char str;
найти ошибку в коде: C++
Помогите найти ошибку в коде: #include <iostream> #include <cmath> #include <conio.h> using namespace std; float y,y2,y3,y4; double a,b,c; int main () {
C++ Вершины графа выводить буквами http://www.cyberforum.ru/cpp-beginners/thread707914.html
Добрый день Помогите пожалуйста с задачей обхода графа в ширину Есть граф с 6 вершинами от 1 до 6 После обхода результат - met = {1, 2, 5, 6, 3, 4}. Также есть символьный массив - char mass2 = {'M', 'O', 'S, 'K', 'B', 'A'}; Суть задачи вывести не массив вершин, а символьный массив но буквы соответствуют номерам вешин.
C++ Передача двумерного массива в качестве аргумента функции Подскажите пожалуйста что не так? (Подчёркивает вот тут вот index(A); аргумент функции). Объясните пожалуйста в чём моя ошибка. #include <stdio.h> #include <math.h> int index(int A); int main() { int A; подробнее

Показать сообщение отдельно
Damaks
18 / 10 / 1
Регистрация: 02.09.2010
Сообщений: 235
24.11.2012, 22:11     Векторизация множественно выполняющейся операции
Задача - произвести какую либо операцию над каждым элементом массива. К примеру возьмем 2 числовых массива размерностью n каждый, заполним их и элементы второго прибавим к элементам первого, с идентичным индексом. Сделать этом можно тремя путями:
1. Последовательное сложение:
C++
1
2
3
    a[0]+=b[0];
    a[1]+=b[1];
    ...
2. Через цикл while
C++
1
2
3
4
    int i=0;
    do {
        a[i]+=b[i];
    while(++i!=n);
3. Через цикл for
C++
1
2
3
4
    int i=0;
    for (int i=0;i!=n;i++) {
        ....
    }
Лично я пользуюсь первым если элементов немного и вторым, если много. Последним не пользуюсь, ибо синтаксис противоречив и немного сбивает с толку. В циклах сразу виден недостаток - лишняя операция инкремента. При том в for еще и постфиксная. Если код не будет векторизован, они проиграют первому варианту. Но если компилятор векторизует только циклы - проиграет первый.
Вопросы:
1) Все ли варианты будут векторизованы компилятором g++?
2) Почему я должен полагаться на компилятор, есть ли какие то векторные функции для подобного?
В сети давно встречал такую запись: a[0:n]+=b[0:n], но по всей видимости это было только для описания какого-то алгоритма...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru