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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Actimel
0 / 0 / 0
Регистрация: 23.12.2011
Сообщений: 43
#1

Разработать программу нормализации элементов вектора - C++

23.12.2011, 22:28. Просмотров 921. Ответов 7
Метки нет (Все метки)

Привет всем. Очень нужна ваша помощь с лабораторной. Задание на динамические структуры данных. Вот собственно само задание: Разработать программу нормализации элементов вектора (все элементы вектора делятся на максимальное значение в нём). Элементы вектора вводятся с клавиатуры и хранятся в связанном списке. Кто может помогите пожалуйста. Или натолкните хотя на мысль как делать.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.12.2011, 22:28     Разработать программу нормализации элементов вектора
Посмотрите здесь:

Разработать программу, реализующую алгоритм очереди (20 элементов) - C++
Здравствуйте! Есть такое задание: Разработать программу, реализующую алгоритм очереди (20 элементов). Задача решается в двух вариантах:...

Разработать программу, позволяющую находить сумму элементов матрицы - C++
Дана целочисленная квадратная матрица размера n х m (n, m вводятся). Значения элементов матрицы задаются случайным образом в диапазоне ....

Дан целочисленный массив M*N.Разработать программу нахождения суммы особых элементов массива - C++
Задача: Дан целочисленный массив M*N.Разработать программу нахождения суммы особых элементов массива. Особым считается элемент массива в...

Напишите программу, присваивающую значения элементов списка указателей на символьные строки в стиле С (тип char* ) элементам вектора строк - C++
Напишите программу, присваивающую значения элементов списка указателей на символьные строки в стиле С (тип char* ) элементам вектора строк...

Разработать программу «переворота» строки. Способ: последовательная перестановка элементов - первый с последним, второй с предпоследним и т.д. - C++
Разработать программу «переворота» строки. Способ: последовательная перестановка элементов - первый с последним, второй с предпоследним...

Разработать программу, реализующую алгоритм стека (20 элементов). Задача решается в двух вариантах: статическом и динамическом - C++
Разработать программу, реализующую алгоритм стека (20 элементов). Задача решается в двух вариантах: статическом (на основе массива...

Разработать шаблон класса для вывода вектора данных в поток - C++
Разработать шаблон соответствующего класса, где поля могут иметь различные типы данных. Предусмотреть наличие в классе указанных методов и...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
.::.DIMA.::.
143 / 143 / 4
Регистрация: 26.10.2008
Сообщений: 782
23.12.2011, 23:18     Разработать программу нормализации элементов вектора #2
В связный список (если я правильно понял, std::list) поместить элементы. Вычислить норму вектора и покомпонентно каждый элемент разделить на норму.
Actimel
0 / 0 / 0
Регистрация: 23.12.2011
Сообщений: 43
24.12.2011, 12:20  [ТС]     Разработать программу нормализации элементов вектора #3
что требуется сделать я понял а вот с реализацией этого проблема
.::.DIMA.::.
143 / 143 / 4
Регистрация: 26.10.2008
Сообщений: 782
24.12.2011, 16:51     Разработать программу нормализации элементов вектора #4
Раз вы поняли это, то и с реализацией проблем не должно возникнуть!
Actimel
0 / 0 / 0
Регистрация: 23.12.2011
Сообщений: 43
24.12.2011, 19:36  [ТС]     Разработать программу нормализации элементов вектора #5
Я не понял как именно в списке найти максимум и разделить на него. Просто не понимаю как работать в списке. Читал уже достаточно много учебников по этой теме но не разобрадся. Если можете посоветуйте хотя бы литературу где это описанно
.::.DIMA.::.
143 / 143 / 4
Регистрация: 26.10.2008
Сообщений: 782
24.12.2011, 20:16     Разработать программу нормализации элементов вектора #6
Если я правильно понял условие задания, то так:
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
std::list<double> vector;
    int count;
    double tmp;
 
    cin >> count;
    
    for(int i = 0; i < count; i++)
    {
        cin >> tmp;
        vector.push_back(tmp);
    }
 
    double norm = 0.0;
 
    for(std::list<double>::const_iterator i = vector.begin(); i != vector.end(); i++)
        norm += pow(*i, 2.0);
 
    norm = sqrt(norm);
 
    for(std::list<double>::iterator i = vector.begin(); i != vector.end(); i++)
        *i /= norm;
 
    for(std::list<double>::const_iterator i = vector.begin(); i != vector.end(); i++)
        cout << *i << endl;
Actimel
0 / 0 / 0
Регистрация: 23.12.2011
Сообщений: 43
24.12.2011, 22:41  [ТС]     Разработать программу нормализации элементов вектора #7
спасибо. Но список (как я понял из того, что я прочитал) это что то вроде динамической структуры данных. Это так или я ошибаюсь?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.12.2011, 23:06     Разработать программу нормализации элементов вектора
Еще ссылки по теме:

Unicode. Алгоритмы нормализации - C++
Пишу свой велосипед по работе с юникод строками, так как функционал сторонних библиотек для моего случая неполноценен/неприемлем. А из-за...

Получить вектор age, в котором порядок элементов соответствовал бы порядку элементов вектора name - C++
Запишите пять имён в вектор vectro&lt;string&gt; name, затем предложите пользователю указать возраст названных людей и запишите их в вектор...

Разработать функцию, которая определяет сумму элементов в тех строках, которые не содержат положительных элементов. - C++
Работа с двумерным динамическим массивом. Для целочисленного двумерного массива (размерность массива задается пользователем),...

Составить программу формирования вектора - C++
Дана матрица В размера 5*7. Составить программу формирования вектора, элементы которого равны сумме элементов столбцов матрицы В.

Удаление элементов из вектора - C++
Что я делаю не так string f=&quot;/.+(STL).$1/&quot;; vector&lt;string&gt; words; words.push_back(f); vector&lt; string &gt;::iterator first =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
.::.DIMA.::.
143 / 143 / 4
Регистрация: 26.10.2008
Сообщений: 782
24.12.2011, 23:06     Разработать программу нормализации элементов вектора #8
Вы уж сами разберитесь, что вам нужно, а точнее, какая структура данных.

В условии написано связанный список (которые, в свою очередь, тоже бывают разными).

Если нужен массив, то исправить код проблем нет вообще.

Если реализовать свой список (как std::list), то это уже совсем другая задача.

Добавлено через 6 минут
У вас в условии ещё нормализация интересная, которую я сразу не заметил. Поэтому в коде вместо поиска нормы, нужно найти максимальный элемент.
Yandex
Объявления
24.12.2011, 23:06     Разработать программу нормализации элементов вектора
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru