Предмет:
Тип роботи:
Звіт з практики
К-сть сторінок:
55
Мова:
Українська
9
Програми для роботи з власними функціями
Завдання 9.1
Написати програму з використання функції, яка визначає яке з двох введених чисел має максимальну суму чисел.
#pragma hdrstop
#pragma argsused
#ifdef _WIN32
#include <tchar.h>
#else
typedef char _TCHAR;
#define _tmain main
#endif
#include <stdio.h>
#include "iostream.h"
int f1(int num1)
{
int sum1=0,sum2=0;
do
{
sum1+=num1%10;
num1=num1/10;
// cout<<"sum1="<<sum1<<"\n";
}
while((num1)>=1);
return sum1;
}
int _tmain(int argc, _TCHAR* argv[])
{
int first_num=0,second_num=0,s1=0,s2=0;
cout<<"first_num=";
cin>>first_num;
cout<<"second_num=";
cin>>second_num;
s1=f1(first_num);
s2=f1(second_num);
//bolean=f1(first_num,second_nim);
if(s1<s2)
{ cout<<"first sum is less then second\n";}
else
{cout<<"first sum is more then second\n";}
system("pause");
return 0;
}
Завдання 9.2
Є три стержня з номерами 1, 2,3. На першому стержні є n дисків різного діаметра, які утворюють піраміду. Написати програму переміщень дисків зі стержня 1 на стержень 2, використовуючи допоміжний стержень 3. Диск більшого діаметру не повинен переміщатися на диск меньшого.
#pragma hdrstop
#pragma argsused
#ifdef _WIN32
#include <tchar.h>
#else
typedef char _TCHAR;
#define _tmain main
#endif
#include <stdio.h>
#include "iostream.h"
#include "conio.h"
// int n=0;
//cin>>n;
int _tmain(int argc, _TCHAR* argv[])
{
int n=0,i=0,j,l=0,per=0;
cin>>n;
int mas1[100];
int mas2[100];
int mas3[100];
for(i=0,j=0;i<n;j+=2,i++)
//for(int j=0;j<n*2;j+=2)
{
//randomize;
mas1[i]=j;
cout<<mas1[i]<<" ";
}
cout<<endl;i-=2;
for(l=0;l<n-1;l++)
{
mas3[l]=mas1[(n-1)-l];
cout<<mas3[l]<<" "; per++;
} cout<<endl;
mas2[0]=mas1[0];per++;
cout<<mas2[0]<<" ";
for(i=1,j=n-2;i<n;j--,i++)
{ mas2[i]=mas3[j];
cout<<mas2[i]<<" ";
per++;
} cout<<"per="<<per<<endl;
system("pause");
return 0;
}
ПРАКТИЧНА РОБОТА 10
Програми для роботи зі структурами даних
Завдання10.1
Використовуючи масив типу структура (з 6-10 елементів) скласти програму, за допомогою якої можна ввести у пам’ять комп’ютера дані з предметної області «Продовольчий магазин» і відібрати товари, вартість яких меньша 10 грн. В кожній предметній області мають бути присутні обчислювальні поля.
#pragma hdrstop
#pragma argsused
#ifdef _WIN32
#include <tchar.h>
#else
typedef char _TCHAR;
#define _tmain main
#endif
#include <stdio.h>
#include "iostream.h"
#include "string.h"
#include "stdlib.h"
struct str
{ double data;
char product_name[10];
double price;
int id_num;
char seller[10];
double tax;
}strc[10];
int _tmain(int argc, _TCHAR* argv[])
{
str strc[10];
int mas[100],j=0;
int n=0;
cout<<"n=";
cin>>n;
for(int i = 0; i<n;i++)
{
randomize;
strc[i].data=rand()%30;
cout<<"strc.product_name["<<i<<"]=";
cin>>strc[i].product_name;
cout<<"strc.price["<<i<<"]=";
cin>>strc[i].price;
if( strc[i].price<10)
{
mas[j]=i;j++;
}
strc[i].id_num = rand()%100;
strcpy(strc[i].seller,"seller");
strc[i].tax=20*(strc[i].price/100);
} cout<<endl;
for(int l = 0;l<j;l++ )
{ cout<<"data"<<strc[l].data<<" ";
cout<<"product_name["<<l<<"]="<<strc[l].product_name<<" ";
cout<<"price="<<strc[l].price<<" ";
cout<<"id="<<strc[l].id_num<<" ";
cout<<"seller="<<strc[l].seller<<" ";
cout<<"tax="<<strc[l].tax<<" ";
cout<<endl;
}
system("pause");
return 0;
}
ПРАКТИЧНА РОБОТА 11
Програми для роботи з файлами
Завдання 11.1
Модифікувати програму завдання 1 практичної роботи 6 таким чином, щоб значення зчитувалися з текстового файлу, а результат обчислень записувався у файл. (Реалізувати два варіанти роботи з файлами, за допомогою компонентів вкладки Dialogs (візуальний режим роботи програми) та а допомогою директив ifstream.h, ofstream.h (консольний режим роботи програми)).
Візуальний режим роботи програми:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{ Memo1->Clear();
if(OpenDialog1 -> Execute())Memo1->Lines->LoadFromFile(OpenDialog1->FileName) ;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
int n,i=0,j=0;
n = Memo1->Lines->Count;
Memo2->Clear();
for (i = 0; i<n; i++)
{
if(Memo1->Lines->Strings[i]=="0")
{j++;}
else
{ Memo2->Lines->Add(Memo1->Lines->Strings[i]);}
}
for(i=0;i<j;i++)
{ Memo2->Lines->Add(0);}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
if(SaveDialog1 -> Execute())Memo2->Lines->SaveToFile(SaveDialog1->FileName);
}
//---------------------------------------------------------------------------
Консольнй режим:
#pragma hdrstop
#pragma argsused
#ifdef _WIN32
#include <tchar.h>
#else
typedef char _TCHAR;
#define _tmain main
#endif
#include <stdio.h>
#include "iostream.h"