Отчет по практике: Програмний продукт Pacific З Compiler
Вхідні дані: матриця В (тип int)
Вихідні дані: змінена матриця В (тип int)
#include<iostream.h> //Підключаємо бібліотеку iostream.h
void main() //Оголошуємо головну функцію main()
{
int W,k,j,min=9999; //Оголошуємо змінні W,k,j,min цілого типу
int B[100]; //та масив В зі 100 елементів цілого типу
cout<<"Скільки елементів буде в вашій матриці? ";//Даємо запит
cin>>k; //Вводимо кількість елементів матриці
cout<<"Введіть елементи вашої матриці:"<<"\n"; //Даємо запит
for(j=0;j<=k-1;j++) //За допомогою цикла for вводимо елементи
cin>>B[j]; //нашої матриці
cout<<"Змінена матриця:"<<"\n"; //Даємо запит
for(j=0;j<=k-1;j++) //Задаємо цикл
{
if (B[j]<0) B[j]*=(-1); //Умова: якщо j-тий елемент матриці
} //В – від’ємний, помножуємо його на -1
for (j=0;j<=k-1;j++) //Задаємо цикл
{
if (B[j]<min)//Умова: Якщо значення j-го елемента матриці В
min=B[j]; //< значення min, змінній min присвоюємо B[j]
}
for(j=0;j<=k-1;j++) //Задаємо цикл
{
if(j%2!=0) B[j]=min; //При непарному j елементу матриці
} //присвоюємо значення змінної min
for(j=0;j<=k-1;j++) //Задаємо цикл в якому
cout<<B[j]<<"\n"; //виводимо елементи матриці В
cout<<"\n"<<"Для виходу введіть EXIT:"<<"\n"; //Даємо запит
cin>>W; //Вводимо зайву перемінну W для затримки екрану
} //Кінець функції main()
2.24 Знаходження суми j-того рядка
Програма Proga24.срр призначена для знаходження в прямокутній матриці суми елементів j-того рядка
Вхідні дані: матриця В (тип int)
Вихідні дані: сума j-того рядка sum (тип int)
#include<iostream.h> //Підключаємо бібліотеку iostream.h
int func(int A[100][100],int m, int n)//Оголошуємо функцію func,яка по
{ //заданій матриці А, та певного
int sum=0,j,i; //рядка знаходить суму елементів
for(j=0;j<n;j++) //цього рядка
sum+=A[m-1][j];
return(sum);
}
void main() //Оголошуємо головну функцію main()
{
int x,W,y,k,nomer,i;//Оголошуємо змінні x,W,y,k,nomer,i цілого типу
int B[100][100]; //та матрицю В цілого типу
cout<<"Скільки рядків буде у вашій матриці? "; //Даємо запит
cin>>x; //Вводимо кількість рядків нашої матриці
cout<<"Скільки стовпців буде у вашій матриці? "; //Даємо запит
cin>>y; //Вводимо кількість стовбців нашої матриці
cout<<"Введіть елементи вашої матриці: "<<"\n"; //Даємо запит
for(i=0;i<x;i++) //Задаємо цикл
{
for(k=0;k<y;k++) //Задаємо цикл
cin>>B[i][k]; //Вводимо елементи нашої матриці
}
cout<<"Суму якого рядка ви бажаєте знайти? "; //Даємо запит
cin>>nomer; //Вводимо номер рядка суму якого ми бажаємо знайти
cout<<"Відповідь="<<func(B,nomer,y)<<"\n"; //Виводимо відповідь
cout<<"\n"<<"Для виходу введіть EXIT:"<<"\n"; //Даємо запит
cin>>W; //Вводимо зайву перемінну W для затримки екрану
} //Кінець функції main()
2.25 Знаходження кількості цифр в числі та їх суми
Програма Proga25.срр призначена для знаходження кількості цифр в заданому числі та їх суми
Вхідні дані: число а (тип int)
Вихідні дані: кількість цифр К (тип int)
сума цифр S (тип double)
#include<iostream.h> //Підключаємо бібліотеки iostream.h
#include<stdlib.h> //та stdlib.h
void main() //Оголошуємо головну функцію main()
{
int *Z,G,i=0,K=0,j,b,a,c,*W; //Оголошуємо змінні G,i=0,K=0,j,b,a,c
double S=0;//цілого типу, покажчики *z, *W та змінну S типу double
cout<<"Введіть число (не > 9 цифр) \n"<<"\n"; //Даємо запит
cin>>a; //Вводимо число а
cout<<"\n"; //Переводимо курсор на новий рядок
c=a; //Змінній с присвоюємо значення змінної а
for(;a>0;) //Задаємо цикл
{
a=(a-a%10)/10; //Знаходимо цифри числа а
i++; //До значення змінної і додаємо 1
Z=(int*)calloc(i,sizeof(int)); //Виділяємо пам’ять для Z
}
for(b=0;b<i;b++) //Задаємо цикл
{
Z[b]=c%10;//Знаходимо залишок від числа “с” поділеного на 10
c=(c-c%10)/10; //Знаходимо цифри числа с
}
W=(int*)calloc(i,sizeof(int)); //Виділяємо пам’ять для W
for(j=0;j<i;j++) //Задаємо цикл
W[j]=Z[i-j-1]; //j-тий елемент матриці W=i-j-1
for(j=0;j<i;j++) //Задаємо цикл
cout<<W[j]<<" ";//Виводимо елементи матриці W
cout<<"\n"; //Переводимо курсор на новий рядок
for(j=0;j<i;j++) //Задаємо цикл
{
S+=W[j]; //Знаходимо в циклі суму елементів матриці W
K++; //Збільшуємо лічильник К на 1
}
cout<<"\n";//Переводимо курсор на новий рядок
cout<<"Кількість цифр в числі="<<K<<"\n\n";//Виводимо відповідь
cout<<"Сума="<<S<<"\n\n"; //Виводимо суму цифр числа “а”
cout<<"\n"<<"Для виходу введіть EXIT:"<<"\n"; //Даємо запит
cin>>G; //Вводимо зайву перемінну G для затримки екрану
} //Кінець функції main()
2.26 Знаходження номера селища
Програма Proga26.срр призначена для знаходження номера селища і, в якому зручніше розташувати лікарню, якщо мається k селищ і якщо в селищі і розташована лікарня, то подорож до селища j займе час a[i][j].
Вхідні дані: кількість селищ k (тип int)
Вихідні дані: номер селища і (тип int)
#include<iostream.h> //Підключаємо бібліотеки iostream.h,
#include<math.h> //math.h
#include<stdlib.h> //та stdlib.h
void main() //Оголошуємо головну функцію main()
{
int A[100][100]={{0},{0}};//Оголошуємо матрицю А,
int B[100]={0}; //матрицю В цілого типу та
int N,W,k,i,j,z,S,min=999;//перемінні N,W,k,i,j,z,S,min типу int
cout<<"Введіть кількість селищ: "; //Даємо запит
cin>>k; //Вводимо кількість селищ
for(i=0;i<k;i++) //Задаємо цикл
for(j=0;j<k;j++) //Задаємо цикл
A[i][j]=rand()%10+1;//Заповнюємо матрицю А випадковими числами
for(i=0;i<k;i++) //Задаємо цикл
for(j=0;j<k;j++) //Задаємо цикл
A[i][j]=A[j][i];//Переставляємо елементи матриці певним чином
for(z=0,j=0;z<k,j<k;z++,j++) //Задаємо цикл
{
for(i=0;i<k;i++) //Задаємо цикл
S=A[z][i];//Змінній S присвоюємо значення елемента матриці А
B[j]=S;//j-тому елементу матриці В присвоюємо значення змінної S
}
for(j=0;j<k;j++) //Задаємо цикл
if(B[j]<=min) //Умова: якщо елемент матриці В < або = змінній min,
{
min=B[j]; //Змінній min присвоюємо значення j-того елемента
N=j; //Змінній N присвоюємо значення параметра j
} //Виводимо відповідь
cout<<"В селищі номер "<<N+1<<" найкраще розташувати лікарню"<<"\n";
cout<<"\n"<<"Для виходу введіть EXIT:"<<"\n"; //Даємо запит
cin>>W; //Вводимо зайву перемінну W для затримки екрану
} //Кінець функції main()
2.27 Перевід числа до різних систем счислення
Програма Proga27.срр призначена для переводу числа з десяткової системи счислення до війкової, вісімкової та шістнадцькової систем счислення
Вхідні дані: число N в десятковій системі счислення (тип int)
Вихідні дані: число N в двійковій системі счислення
число N у вісімковій системі счислення
число N в шістнадцьковій системі счислення
Блок-схема до програми Proga27.срр представлена на рисунку 2.7
Заголовний модуль stdafx.cpp
// stdafx.cpp : source file that includes just the standard includes
//Proga27_01.pch will be the pre-compiled header
//stdafx.obj will contain the pre-compiled type information
#include "stdafx.h" //Підключаємо заголовний модуль stdafx.h
#include<iostream.h> //Підключаємо бібліотеки iostream.h,
#include<stdlib.h> //та stdlib.h
void main() //Оголошуємо головну функцію main()
{
int N,i; //Оголошуємо змінні N,і цілого типу,
char str_2[100],str_8[100],str_16[100];//масиви str_2 str_8 str_16
char F; //та змінну F символьного типу
cout<<"Введіть число N: "; //Даємо запит
cin>>N; //Вводимо число в десятковій системі счислення
cout<<"Ваше число в двійковій системі счислення: "; //Повідомлення
itoa(N,str_2,2); //За допомогою функції itoa переводимо число N до
for(i=0;str_2[i]+='\0';i++) //двійкової системі счислення
{
F=str_2[i];
cout<<str_2[i]; //Виводимо число в двійковій системі счислення
}
cout<<"\n"; //Переводимо курсор на новий рядок
cout<<" Ваше число в вісімковій системі счислення: "; //Повідомлення
itoa(N,str_8,8); //За допомогою функції itoa переводимо число N до
for(i=0;str_8[i]+='\0';i++) //вісімкової системі счислення
cout<<str_8[i]; //Виводимо число в вісімковій системі счислення
cout<<"\n"; //Переводимо курсор на новий рядок
cout<<" Ваше число в шістнадцьковій системі счислення: ";
itoa(N,str_16,16); //За допомогою функції itoa переводимо число N до
for(i=0;str_16[i]+='\0';i++)//шістнадцькової системі счислення
cout<<str_16[i]; //Виводимо число в шістнадцьковій системі
cout<<"\n"; //Переводимо курсор на новий рядок
} //Кінець функції main()
Заголовний модуль stdafx.р
// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently, but
// are changed infrequently
#if !defined(AFX_STDAFX_H_489A9441_BB1B_422E_BEEB_DC3DF70A8845__INCLUDED_)
#define AFX_STDAFX_H__489A9441_BB1B_422E_BEEB_DC3DF70A8845__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers
#include <afxwin.h> // MFC core and standard components
#include <afxext.h> // MFC extensions
#include <afxdisp.h> // MFC Automation classes
#include <afxdtctl.h>// MFC support for Internet Explorer 4
// Common Controls
#ifndef _AFX_NO_AFXCMN_SUPPORT
#include <afxcmn.h>// MFC support for Windows Common Controls
#endif // _AFX_NO_AFXCMN_SUPPORT
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations //immediately before the previous line.
#endif // !defined(AFX_STDAFX_H_489A9441_BB1B_422E_BEEB_DC3DF70A8845__INCLUDED_)
Заголовний модуль resource.h
//{{NO_DEPENDENCIES}}
// Microsoft Developer Studio generated include file.
// Used by Proga27_01.rc
//
#define IDM_ABOUTBOX 0x0010
#define IDD_ABOUTBOX 100
#define IDS_ABOUTBOX 101
#define IDD_PROGA27_01_DIALOG 102
#define IDR_MAINFRAME 128
#define IDD_VVOD_10 1001
#define IDD_VVOD_2 1002
#define IDD_VVOD_8 1003
#define IDD_VVOD_16 1004
#define IDC_BUTTON1 1006
#define IDC_BUTTON2 1007
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 129
#define _APS_NEXT_COMMAND_VALUE 32771
#define _APS_NEXT_CONTROL_VALUE 1009
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif
Заголовний модуль Proga27_01Dlg.h
// Proga27_01Dlg.h : header file
#if !defined(AFX_PROGA27_01DLG_H__5D1551EB_3502_4EC1_A6BF_C06DBBB32D98__INCLUDED_)
#define AFX_PROGA27_01DLG_H__5D1551EB_3502_4EC1_A6BF_C06DBBB32D98__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
//////////////////////////////////////////////////////////////////////
// CProga27_01Dlg dialog
class CProga27_01Dlg : public CDialog
{
// Construction
public:
CProga27_01Dlg(CWnd* pParent = NULL);// standard constructor
// Dialog Data
//{{AFX_DATA(CProga27_01Dlg)
enum { IDD = IDD_PROGA27_01_DIALOG };
CStringm_Vvod_16;
CStringm_Vvod_2;
CStringm_Vvod_8;
intm_Vvod_10;
//}}AFX_DATA
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CProga27_01Dlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX);// DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
HICON m_hIcon;
// Generated message map functions
//{{AFX_MSG(CProga27_01Dlg)
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
afx_msg void OnButton1();
afx_msg void OnButton2();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_PROGA27_01DLG_H__5D1551EB_3502_4EC1_A6BF_C06DBBB32D98__INCLUDED_)
Заголовний модуль Proga27_01Dlg.cpp
// Proga27_01Dlg.cpp : implementation file
//
програма число рядок матриця
#include "stdafx.h"
#include "Proga27_01.h"
#include "Proga27_01Dlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
//////////////////////////////////////////////////////////////////////
// CAboutDlg dialog used for App About
class CAboutDlg : public CDialog
{
public:
CAboutDlg();
// Dialog Data
//{{AFX_DATA(CAboutDlg)
enum { IDD = IDD_ABOUTBOX };
//}}AFX_DATA
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CAboutDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX);// DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
//{{AFX_MSG(CAboutDlg)
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
//{{AFX_DATA_INIT(CAboutDlg)
//}}AFX_DATA_INIT
}
void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CAboutDlg)
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
//{{AFX_MSG_MAP(CAboutDlg)
// No message handlers
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
//////////////////////////////////////////////////////////////////////
// CProga27_01Dlg dialog
CProga27_01Dlg::CProga27_01Dlg(CWnd* pParent /*=NULL*/)
: CDialog(CProga27_01Dlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CProga27_01Dlg)
m_Vvod_16 = _T("");
m_Vvod_2 = _T("");
m_Vvod_8 = _T("");
m_Vvod_10 = 0;
//}}AFX_DATA_INIT
// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
void CProga27_01Dlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CProga27_01Dlg)
DDX_Text(pDX, IDD_VVOD_16, m_Vvod_16);
DDX_Text(pDX, IDD_VVOD_2, m_Vvod_2);
DDX_Text(pDX, IDD_VVOD_8, m_Vvod_8);
DDX_Text(pDX, IDD_VVOD_10, m_Vvod_10);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CProga27_01Dlg, CDialog)
//{{AFX_MSG_MAP(CProga27_01Dlg)
ON_WM_SYSCOMMAND()