First2
This commit is contained in:
parent
28cb84fe5c
commit
21670097e5
@ -1,20 +1,241 @@
|
|||||||
// ConsoleApplication1.cpp : Этот файл содержит функцию "main". Здесь начинается и заканчивается выполнение программы.
|
#define _CRT_SECURE_NO_WARNINGS
|
||||||
//
|
|
||||||
|
|
||||||
#include <iostream>
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
int main()
|
struct Node {
|
||||||
{
|
int data;
|
||||||
std::cout << "Hello World!\n";
|
struct Node* next;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
struct Node* first = NULL;
|
||||||
|
|
||||||
|
void printList() {
|
||||||
|
struct Node* ptr = first;
|
||||||
|
while (ptr != NULL) {
|
||||||
|
printf("(%d) -> ", ptr->data);
|
||||||
|
ptr = ptr->next;
|
||||||
|
}
|
||||||
|
printf("NULL\n");
|
||||||
|
}
|
||||||
|
void addToHead(int value) {
|
||||||
|
struct Node* newNode = (struct Node*)malloc(sizeof(struct Node));
|
||||||
|
|
||||||
|
newNode->next = first;
|
||||||
|
newNode->data = value;
|
||||||
|
|
||||||
|
first = newNode;
|
||||||
|
}
|
||||||
|
int deleteFromHead() {
|
||||||
|
int value = first->data;
|
||||||
|
struct Node* delNode = first;
|
||||||
|
first = first->next;
|
||||||
|
free(delNode);
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
int contains(int value) {
|
||||||
|
struct Node* ptr = first;
|
||||||
|
while (ptr != NULL) {
|
||||||
|
if (ptr->data == value) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
ptr = ptr->next;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
void clearList() {
|
||||||
|
while (first != NULL)
|
||||||
|
{
|
||||||
|
struct Node* delNode = first;
|
||||||
|
first = first->next;
|
||||||
|
free(delNode);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
int sum() {
|
||||||
|
struct Node* ptr = first;
|
||||||
|
int s = 0;
|
||||||
|
while (ptr != NULL) {
|
||||||
|
s += ptr->data;
|
||||||
|
ptr = ptr->next;
|
||||||
|
}
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
int evenCount() {
|
||||||
|
struct Node* ptr = first;
|
||||||
|
int s = 0;
|
||||||
|
while (ptr != NULL) {
|
||||||
|
if (ptr->data % 2 == 0) {
|
||||||
|
s++;
|
||||||
|
}
|
||||||
|
ptr = ptr->next;
|
||||||
|
}
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
int oddsX10() {
|
||||||
|
struct Node* ptr = first;
|
||||||
|
int s = 0;
|
||||||
|
while (ptr != NULL) {
|
||||||
|
if (ptr->data % 2 != 0) {
|
||||||
|
ptr->data = ptr->data * 10;
|
||||||
|
}
|
||||||
|
ptr = ptr->next;
|
||||||
|
}
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
void elementIx100(int i) {
|
||||||
|
struct Node* ptr = first;
|
||||||
|
int Index = 0;
|
||||||
|
while (ptr != NULL) {
|
||||||
|
if (Index == i) {
|
||||||
|
ptr->data = ptr->data * 100;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
ptr = ptr->next;
|
||||||
|
Index++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
void elementLeftIx10(int i) {
|
||||||
|
struct Node* ptr = first;
|
||||||
|
int Index = 0;
|
||||||
|
while (ptr != NULL and Index < i) {
|
||||||
|
if (Index >= 0) {
|
||||||
|
ptr->data *= 10;
|
||||||
|
}
|
||||||
|
ptr = ptr->next;
|
||||||
|
Index++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
void main() {
|
||||||
|
printf("\nTask 1!\n");
|
||||||
|
first = NULL;
|
||||||
|
printList();
|
||||||
|
|
||||||
|
addToHead(400);
|
||||||
|
addToHead(300);
|
||||||
|
addToHead(200);
|
||||||
|
addToHead(100);
|
||||||
|
printList();
|
||||||
|
|
||||||
|
int x1 = deleteFromHead();
|
||||||
|
printf("x1 = %d\n", x1);
|
||||||
|
printList();
|
||||||
|
|
||||||
|
|
||||||
|
printf("contains(100) = %d\n", contains(100));
|
||||||
|
printf("contains(150) = %d\n", contains(150));
|
||||||
|
printf("contains(200) = %d\n", contains(200));
|
||||||
|
|
||||||
|
clearList();
|
||||||
|
printList();
|
||||||
|
|
||||||
|
printf("contains(100) = %d\n", contains(100));
|
||||||
|
printf("contains(150) = %d\n", contains(150));
|
||||||
|
printf("contains(200) = %d\n", contains(200));
|
||||||
|
|
||||||
|
printf("\nTask 2!\n");
|
||||||
|
printList();
|
||||||
|
|
||||||
|
addToHead(1);
|
||||||
|
addToHead(3);
|
||||||
|
addToHead(6);
|
||||||
|
addToHead(9);
|
||||||
|
printList();
|
||||||
|
|
||||||
|
printf("sum = %d\n", sum());
|
||||||
|
|
||||||
|
clearList();
|
||||||
|
printList();
|
||||||
|
printf("sum = %d\n", sum());
|
||||||
|
{
|
||||||
|
int x;
|
||||||
|
scanf_s("%d", &x);
|
||||||
|
}
|
||||||
|
|
||||||
|
printf("\nTask 3!\n");
|
||||||
|
printList();
|
||||||
|
|
||||||
|
addToHead(1);
|
||||||
|
addToHead(3);
|
||||||
|
addToHead(6);
|
||||||
|
addToHead(8);
|
||||||
|
printList();
|
||||||
|
|
||||||
|
printf("even numbers = %d\n", evenCount());
|
||||||
|
|
||||||
|
clearList();
|
||||||
|
printList();
|
||||||
|
printf("even numbers = %d\n", evenCount());
|
||||||
|
{
|
||||||
|
int x;
|
||||||
|
scanf_s("%d", &x);
|
||||||
|
}
|
||||||
|
|
||||||
|
printf("\nTask 4!\n");
|
||||||
|
printList();
|
||||||
|
|
||||||
|
addToHead(1);
|
||||||
|
addToHead(3);
|
||||||
|
addToHead(6);
|
||||||
|
addToHead(8);
|
||||||
|
printList();
|
||||||
|
|
||||||
|
oddsX10();
|
||||||
|
printList();
|
||||||
|
|
||||||
|
clearList();
|
||||||
|
{
|
||||||
|
int x;
|
||||||
|
scanf("%d", &x);
|
||||||
|
}
|
||||||
|
|
||||||
|
printf("\nTask 5!\n");
|
||||||
|
printList();
|
||||||
|
|
||||||
|
addToHead(1);
|
||||||
|
addToHead(3);
|
||||||
|
addToHead(6);
|
||||||
|
addToHead(8);
|
||||||
|
printList();
|
||||||
|
|
||||||
|
elementIx100(0);
|
||||||
|
printList();
|
||||||
|
|
||||||
|
elementIx100(2);
|
||||||
|
printList();
|
||||||
|
|
||||||
|
elementIx100(0);
|
||||||
|
printList();
|
||||||
|
|
||||||
|
clearList();
|
||||||
|
{
|
||||||
|
int x;
|
||||||
|
scanf("d", &x);
|
||||||
|
}
|
||||||
|
|
||||||
|
printf("\nTask 6!\n");
|
||||||
|
printList();
|
||||||
|
|
||||||
|
addToHead(1);
|
||||||
|
addToHead(3);
|
||||||
|
addToHead(6);
|
||||||
|
addToHead(8);
|
||||||
|
printList();
|
||||||
|
|
||||||
|
elementLeftIx10(1);
|
||||||
|
printList();
|
||||||
|
|
||||||
|
elementLeftIx10(2);
|
||||||
|
printList();
|
||||||
|
|
||||||
|
elementLeftIx10(4);
|
||||||
|
printList();
|
||||||
|
|
||||||
|
clearList();
|
||||||
|
{
|
||||||
|
int x;
|
||||||
|
scanf("%d", &x);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Запуск программы: CTRL+F5 или меню "Отладка" > "Запуск без отладки"
|
|
||||||
// Отладка программы: F5 или меню "Отладка" > "Запустить отладку"
|
|
||||||
|
|
||||||
// Советы по началу работы
|
|
||||||
// 1. В окне обозревателя решений можно добавлять файлы и управлять ими.
|
|
||||||
// 2. В окне Team Explorer можно подключиться к системе управления версиями.
|
|
||||||
// 3. В окне "Выходные данные" можно просматривать выходные данные сборки и другие сообщения.
|
|
||||||
// 4. В окне "Список ошибок" можно просматривать ошибки.
|
|
||||||
// 5. Последовательно выберите пункты меню "Проект" > "Добавить новый элемент", чтобы создать файлы кода, или "Проект" > "Добавить существующий элемент", чтобы добавить в проект существующие файлы кода.
|
|
||||||
// 6. Чтобы снова открыть этот проект позже, выберите пункты меню "Файл" > "Открыть" > "Проект" и выберите SLN-файл.
|
|
||||||
|
Loading…
Reference in New Issue
Block a user