Вопрос по информатике:
Нормализовать элементы вектора (найти максимум и разделить все элементы на максимум). Элементы вектора вводятся с клавиатуры и хранятся в связанном списке.
Напишите пожалуйста код 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");
}
(библиотеки не отобразились почему-то, там иострим, вектор и стд.афикс помоему)
- 10.11.2017 09:02
- Информатика
- remove_red_eye 2081
- thumb_up 38
Ответы и объяснения 1
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 = 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
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
- 11.11.2017 02:59
- thumb_up 9
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.