В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
galihanowa2015
galihanowa2015
15.03.2022 01:09 •  Информатика

Нормализовать элементы вектора (найти максимум и разделить все элементы на максимум). элементы вектора вводятся с клавиатуры и хранятся в связанном списке. напишите код c++ с связного списка. я умею только с векторов, вот мой код через векторы на всякий случай: #include #include #include using namespace std; void main() {setlocale(0,"rus"); vector myvector(10); for(int i = 0; i < myvector.size(); i++) cin > > myvector[i]; double max=-1; for(int i = 0; i < myvector.size(); i++) if (myvector[i]> max) max=myvector[i]; cout< for(int i = 0; i < myvector.size(); i++) cout< < myvector[i]< < " "; cout< cout< for(int i = 0; i < myvector.size(); i++) { myvector[i]=myvector[i]/max; cout< < myvector[i]< < " "; } cout< system("pause"); } (библиотеки не отобразились почему-то, там иострим, вектор и стд.афикс )

Показать ответ
Ответ:
swaTor
swaTor
05.10.2020 22:33
#include <iostream>
using namespace std;

struct link 

    double data; 
    link* next; 
}; 
 
link* first = NULL; 
 
void additem(int d) // добавление элементов список

    link* newlink = new link; 
    newlink->data = d; 
    newlink->next = first; 
    first = newlink; 

 
void display() // вывод на экран

    link* current = first; 
    while(current) 
    { 
        cout << current->data << " "; 
        current = current->next; 
    }  
}  

int max() // max

    link* current = first; 
    int m=0;
    while(current) 
    { 
        if (current->data > m) m = current->data; 
        current = current->next; 
    }
    return m;


void norm(int m) // нормализация

    link* current = first; 
    while(current) 
    { 
        current->data /= m; 
        current = current->next; 
    }  


int main() 

    int n=10;
    int a;
    for (int i=1; i<n; i++) {
    cin >> a;
    additem(a); 
    }
    display();
    cout << endl << max() << endl;
    norm(max());
    display();
}

Пример:
64 45 19 42 83 38 71 23 52
83
0.771084 0.542169 0.228916 0.506024 1 0.457831 0.855422 0.277108 0.626506
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота