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

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

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

Разработать программу «переворота» строки. Способ: последовательная перестановка элементов - первый с последним, второй с предпоследним и т.д. C++
C++ Разработать программу, реализующую алгоритм очереди (20 элементов)
Напишите программу, присваивающую значения элементов списка указателей на символьные строки в стиле С (тип char* ) элементам вектора строк C++
C++ Разработать программу, реализующую алгоритм стека (20 элементов). Задача решается в двух вариантах: статическом и динамическом
Заданы три вектора a(n), b(m), c(k). Вывести наименование вектора, в котором максимальна сумма четных элементов, стоящих на нечетных местах C++
Заданный вектор А, состоящий из n элементов. Переставить компоненты вектора, размещенные после самого элемента вектора А C++
Определить количество положительных элементов вектора С(10) и заменить этим значением минимальный элемент вектора А(5) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
.::.DIMA.::.
142 / 142 / 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.::.
142 / 142 / 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.::.
142 / 142 / 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     Разработать программу нормализации элементов вектора
Еще ссылки по теме:

Дан целочисленный массив M*N.Разработать программу нахождения суммы особых элементов массива C++
Составить главную программу и функцию. Для данного вектора А(М) найти количество неповторяющихся элементов вектора C++
C++ Разработать программу «Система учета работников предприятия»; разработать собственный тип «Работник»

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

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

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

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

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

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

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