Лови решение на с++ с do while
Объяснение:
1 задача, ну тут все элементарно, думаю пояснения не нужны:
#include <iostream>
using namespace std;
int main() {
int a = 1, num;
cin >> num;
do {
cout << a << " ";
a += 2;
} while (a < num * 2);
}
2 задача (num++ делаю только для удобства, но можно везде использовать num + 1, при этом в условии надо написать a <= num):
#include <iostream>
using namespace std;
int main() {
int a = 1, num;
cin >> num;
num++;
do {
cout << a << " + " << num - a << " = " << num << endl;
a++;
} while (a < num);
}
графы в информатике являются способом определения отношений в совокупности элементов. это основные объекты изучения теории графов.
базовые определения
из чего состоит граф в информатике? он включает множество объектов, называемых вершинами или узлами, некоторые пары которых связаны т. н. ребрами. например, граф на рисунке (а) состоит из четырех узлов, обозначенных а, в, с, и d, из которых b соединен с каждой из трех других вершин ребрами, а c и d также соединены. два узла являются соседними, если они соединены ребром. на рисунке показан типичный способ того, как строить графы по информатике. круги представляют вершины, а линии, соединяющие каждую их пару, являются ребрами.
какой граф называется неориентированным в информатике? у него отношения между двумя концами ребра являются симметричными. ребро просто соединяет их друг с другом. во многих случаях, однако, необходимо выразить асимметричные отношения – например, то, что a указывает на b, но не наоборот. этой цели служит определение графа в информатике, по-прежнему состоящего из набора узлов вместе с набором ориентированных ребер. каждое ориентированное ребро представляет собой связь между вершинами, направление которой имеет значение. направленные графы изображают так, как показано на рисунке (b), ребра их представлены стрелками. когда требуется подчеркнуть, что граф ненаправленный, его называют неориентированным.
Поделитесь своими знаниями, ответьте на вопрос:
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