Восстановить элементы вектора (отыскать максимум и поделить все элементы на максимум).
Восстановить элементы вектора (отыскать максимум и разделить все элементы на максимум). Элементы вектора вводятся с клавиатуры и хранятся в связанном списке.
Напишите пожалуйста код C++ с помощью связного перечня. Я умею только с поддержкою векторов, вот мой код через векторы на всякий случай:
include
include
include
using namespace std;
void main()
setlocale(0,"Rus");
vector myVector(10);
for(int i = 0; i lt; myVector.size(); i++)
cin gt;gt; myVector[i];
double max=-1;
for(int i = 0; i lt; myVector.size(); i++)
if (myVector[i]gt;max)
max=myVector[i];
coutlt; for(int i = 0; i lt; myVector.size(); i++)
coutlt;lt; myVector[i]lt;lt; " ";
coutlt; coutlt; for(int i = 0; i lt; myVector.size(); i++)
myVector[i]=myVector[i]/max;
coutlt;lt; myVector[i]lt;lt; " ";
coutlt; system("pause");
(библиотеки не отобразились почему-то, там иострим, вектор и стд.афикс помоему)
using namespace std;
struct link
double data;
link* next;
;
link* first = NULL;
void additem(int d) // добавление частей список
link* newlink = new link;
newlink-gt;data = d;
newlink-gt;next = first;
first = newlink;
void display() // вывод на экран
link* current = first;
while(current)
cout lt;lt; current-gt;data lt;lt; " ";
current = current-gt;next;
int max() // max
link* current = first;
int m=0;
while(current)
if (current-gt;data gt; m) m = current-gt;data;
current = current-gt;next;
return m;
void norm(int m) // нормализация
link* current = first;
while(current)
current-gt;data /= m;
current = current-gt;next;
int main()
int n=10;
int a;
for (int i=1; ilt;n; i++)
cin gt;gt; a;
additem(a);
display();
cout lt;lt; endl lt;lt; max() lt;lt; 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
-
Вопросы ответы
Статьи
Информатика
Статьи
Разные вопросы.
Математика.
Физика.
Геометрия.
Разные вопросы.
Обществознание.
Математика.
Химия.
Русский язык.
Разные вопросы.