Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Приклад виконання контрольної роботи

Читайте также:
  1. II. Вимоги безпеки перед початком роботи
  2. II. Вимоги безпеки праці перед початком роботи
  3. III. Вимоги безпеки для учнів під час роботи в куточку живої природи
  4. III. Вимоги безпеки під час роботи
  5. IV ПОСЛІДОВНІСТЬ ВИКОНАННЯ КУРСОВОЇ РОБОТИ
  6. IV. Вимоги безпеки під час роботи на навчально-дослідній ділянці
  7. IV. Вимоги безпеки після закінчення роботи

1. Робота зі списками.

Тип даних, що зберігаються в списку double. Реалізувати наступні дії:

а) Заповнення списку та вивід списку на екран;

б) пошук найбільшого елементу списку;

в) перевірка, чи є в списку введений елемент, якщо є їх кількість;

г) заміна заданого елементу на інший.

#include "stdafx.h"

#include "iostream.h"

#include <windows.h>

#include <string.h>

#include <stdio.h>

 

typedef double TE;

struct spisok

{

TE E;

spisok* next;

};

 

TE d,s,k,max,el1,el2,m;

spisok*vvod();

void print(spisok*);

void del(spisok*);

void found(spisok*,TE);

void kolfound(spisok*,TE);

void maximus(spisok*,TE);

void zamena(spisok*,TE,TE);

main()

{

SetConsoleCP(1251); //инициализация русского шрифта

SetConsoleOutputCP(1251); //инициализация русского шрифта

s=0;max=-1000;

cout<<"введите список элементов"<<endl;

spisok*head=vvod();

cout<< "введите элемент наличие которого хотите узнать"<<endl;

cin>>d;

found(head,d);

cout<<"//////////////////////////"<<endl;

cout<< "введите элемент количество которых в списке хотите узнать"<<endl;

cin>>k;

kolfound(head,k);

cout<<"количество элементов=" <<s<<endl;

cout<<"//////////////////////////"<<endl;

maximus(head,max);

cout<<"максимальный элемент "<<m<<endl;

cout<<"//////////////////////////"<<endl;

cout<<"введите элемент который хотите заменить ";

cin>>el1;

cout<<"введите элемент на который хотите заменить ";

cin>>el2;

zamena(head,el1,el2);

print(head);

cout<<"//////////////////////////"<<endl;

del(head);

}

 

spisok*vvod() //заповнення списку

{

TE el;

spisok*head=new spisok,*tek,*tm;

cin>>el;

tek=head;

tek->E=el;

while(el!=0)

{

tm= new spisok;

cin >> el;

tm->E=el;

tek->next=tm;

tek=tm;

}

tek->next=NULL;

return head;

}

 

void print(spisok*head) //вивід на екран

{

spisok*tek;

tek=head;

while(tek)

{

cout<<tek->E<<endl;

tek=tek->next;

}

}

 

void del(spisok*head) //видалення списку

{

spisok*tm,*tek;

tek=head;

while(tek!=NULL)

{

tm=tek->next;

delete tek;

tek=tm;

}

}

 

void found(spisok*tek,TE d) //пошук елементу

{

if(tek->E==d) cout<<"этот элемент есть"<<endl;

else

if(tek->next!=NULL) found(tek->next,d);

else cout<<"этого элемента нет"<<endl;

}

 

void kolfound(spisok*tek,TE k) //підрахунок кількості заданого елементу

{

if(tek->E==k) s++;

if(tek->next!=NULL) kolfound(tek->next,k);

}

 

void maximus(spisok*tek,TE max) //пошук максімального елементу

{

if(tek->E>max) max=tek->E;

if(tek->next!=NULL) maximus(tek->next,max);

else m=max;

}

 

void zamena (spisok*tek, TE el1, TE el2) // заміна елементів

{

if(tek->E==el1) tek->E=el2;

if(tek->next!=NULL) zamena(tek->next,el1,el2);

}

 


Дата добавления: 2015-09-01; просмотров: 30 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Варіанти завдання| Програма на розрахунок відпускних.

mybiblioteka.su - 2015-2024 год. (0.009 сек.)