Опорний конспект по с++
№
|
Завдання
|
Програмний код
|
|
$11.
|
Структура програми
#include "iostream" #include <math.h> using namespace std; int main() { double a,b,c; cin>>a>>b; c=a/b; cout.precision(2); cout<<fixed<<c<<endl; }
|
Заокруглення
double r; cout.precision(2); cout<<fixed<<r<<endl;
Робота з файлами
#include "fstream"
using namespace std;
ifstream cin("input.txt");
ofstream cout("output.txt");
|
|
$12.
|
Заокруглення кількості знаків після коми
|
double a; a=3.14
cout.precisio(2);
cout<<fixed<<a<<endl;
|
|
$13.
|
Обчислити площу трикутника за координатами
|
#Include “iostream”;
#Include “math.h”;
using namespace std;
int mail()
{double x1,y,x2,y2,x3,y3,a,b,c,p,s;
cin>>x1>>y1>>x2>>y2>>x3>>y3;
a=sqrt(pow(x2-x1,2)+pow(y2-y1,2));
b=sqrt(pow(x3-x2,2)+pow(y3-y2,2));
c=sqrt(pow(x3-x1,2)+pow(y3-y1,2));
p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
cout.precisio(2);
cout<<fixed<<s<<endl;
}
|
|
$14.
|
Зчитати n чисел
|
int n,a[1000];
cin>>n;
for(i=0;i<n;i++) cin>>a[i];
|
|
$15.
|
Зчитати рядок з n чисел
|
int n,a[1000];
n=0;
while (! cin.eof())
{cin>>a[n]; n++;
}
|
|
$16.
|
Зчитати рядок цифр і вивести його в зворотному порядку
|
char a[1000];
cin>>a;
for(int i=strlen(a)-1; i>=0;i--)cout<<a[i];
|
|
$17.
|
Вивести масив з n чисел через пропуск
|
for(int i=0;i<n-1;i++)cout<<a[i]<<” “;
cout<<a[n-1[<<endl;
|
|
$18. 1
|
Підрахувати суму цифр в числі
|
long long n,s;
cin>>n;
s=0;
while (n>0) {
s=s+n%10;
n=n/10;
}
|
char a[1000];
cin>>a;
int s=0;
for(int i=0;i<strlen(a);i++)
s=s+a[i]-48;
cout<<s<<endl;
|
|
$19.
|
Підрахувати кількість кожної цифри в числі
|
long long n;
cin>>n;
int a[10]
while (n>0)
{a[n%10]++;
n=n/10;
}
for(int i=0;i<=9;i++)
cout<<i<<” “<<a[i]<<endl;
|
char a[1000];
cin>>a;
int b[10];
for(int i=0;i<=9;i++) b[i]=0;
for(int i=0;i<strlen(a);i++)
b[a[i]-48]++;’
for(int i=0;i<=9;i++)
cout<<i<<” “<<b[i]<<endl;
|
|
$110.
|
Відсортувати масив в порядку зростання
#include <iostream>
#include <algorithm>
int a[100],n;
using namespace std;
int main()
{cin>>n;
for(int i=0;i<n;i++)cin>>a[i];
sort(a,a+n);
for(int i=0;i<n;i++)cout<<a[i]<<" ";
cout <<endl;
return 0;
}
|
int a[100000], j, i;
cin>>n;
for (i=0; i<n; i++)cin>>a[i];
for (i=0;i<n-1;i++)
for (j=0;j<n-1;j++)
if (a[j]>a[j+1])
swap(a[j],a[j+1];
for (i=0; i<n-1; i++) cout<<a[i]<<" ";
cout<<a[n-1]"\n";
|
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int i,j,n;
int main()
{cin>>n;
vector<int> a(n);
for (i=0; i<n; i++)cin>>a[i];
// сортування масиву.
sort(a.begin(),a.end());
for (i=0; i<n-1; i++) cout<<a[i]<<" ";
cout<<a[n-1]<<"\n";
return 0;
}
|
|
$111.
|
Обчислити суму додатних елементів в парних рядках прямокутної таблиці
|
int main()
{int n,m,i,j,a[100][100];
cin>>n>>m;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
cin>>a[i][j];
int s=0;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
if(a[i][j]>0 && i%2==0)s=s+a[i][j];
cout<<s<<endl;
}
|
|
$112.
|
Перетворення числа в рядок (char)
|
#include <iostream>
#include <string>
#include <stdlib.h>
using namespace std;
int main()
{
char s[100];
cin >> s;
int i = atoi(s);
cout << i << endl;
itoa(i,s,10);
cout<<s<<endl;
return 0;
}
|
|
$113.
|
Перетворення чисов в рядок (string)
|
#include <iostream>
#include <string.h>
#include <string>
#include <cstring>
#include <stdlib.h>
using namespace std;
int main()
{string s;
cin>>s;
cout<<atoi(s.c_str())<<endl;
/*
int atoi(const char* str)
long atol(const char* str)
double atof(const char* str)
*/
return 0;
}
|
|
$114.
|
Зчитування до кінця рядка
|
while (cin.peek()!='\n')
{ n++;
cin>>a[n];
}
|
$115.
|
Зчитування до кінця файлу
|
while (!cin.eof())
{ m++;
cin>>b[m];
}
|
$116.
|
Зчитування рядка з пропусками
|
string str;
getline(cin,str,'\n');
|
$117.
|
Зчитування рядка з пропусками (тип string)
|
#include "fstream"
#include "string.h"
#include "string"
using namespace std;
ifstream cin("input.txt");
ofstream cout("output.txt");
int main()
{string s;
getline(cin,s);
cout<<s;
}
|
$118.
|
Зчитування рядка з пропусками (тип char)
|
#include "fstream"
#include "string.h"
using namespace std;
ifstream cin("input.txt");
ofstream cout("output.txt");
int main()
{char str[100];
cin.getline(str,sizeof(str));
cout<<str;
}
|
$119.
|
Кількість цифр в числі
|
#include "string"
int main()
{string s;
cin>>s;
cout<<s.length();}
#include "iostream"
#include "math.h"
using namespace std;
int main()
{
unsigned long long number;
cin>>number;
cout.precision(0);
cout<<fixed<<log10(double (number))+1;
}
|
|
|
|
|
|
|
|
|
$11. Функції для роботи з рядками
Більшість функцій для роботи з рядками містяться в бібліотеці cstring .(#include <cstring>)
Функція
|
Дія
|
memset(str, c, n)
|
перші n символів рядка str заповнює значеннями c
|
strnset(str, c, n)
|
перші n символів рядка str заповнює значеннями c
|
strlen(str)
|
визначення довжини рядка
|
strcpy(str1, str2)
|
в рядок str1 копіює рядок str2
|
strncpy(str1, str2, n)
|
в рядок str1 копіює не більше, ніж n символів рядка str2
|
strcat(str1, str2);
|
до рядка str1 дописує рядок str2
|
strncat(str1, str2, n)
|
до рядка str1 дописує не більше, ніж n символів рядка str2
|
strchr(str, c)
|
визначає перше входження літери c в рядок str; повертає вказівник на знайдену літеру (або NULL, якщо її нема)
|
strrchr(str, c)
|
визначає останнє входження літери c в рядок str; повертає вказівник на знайдену літеру (або NULL, якщо її нема)
|
strstr(str1, str2)
|
визначає перше входження підрядка str2 в рядок str1; повертає вказівник на першу літеру знайденого підрядка (або NULL, якщо він не зустрічається)
|
strrev(str)
|
записує рядок str у зворотному порядку
|
strupr(str)
|
перетворює всі літери рядка у великі літери
|
strlwr(str)
|
перетворює всі літери рядка у малі літери
|
strcmp(str1, str2)
|
порівнює рядки str1 та str2; якщо рядки рівні, то повертає 0;
якщо відмінні – то повертає різницю між першими відмінними літерами: с1 – с2
|
stricmp(str1, str2)
|
аналогічна до strcmp(...), тільки ігнорує величину літер
|
strcspn(str1,str2)
|
повертає число – позицію першого входження в рядок str1 символу із набору str2
|
strdup(str1)
|
розподіляє пам’ять і копіює рядок str1 за виділеною адресою; повертає адресу початку виділеної пам’яті
|
Приклади:
strcmp("abcdefgh","abcabc") = 3;
stricmp("Abcd","abcD") = 0;
strlen("alpha") = 5;
cout<<strchr("University", 'v') –> "versity";
cout<<strstr("MicroLab Studio", "Lab") –> "Lab Studio";
cout<<strupr("My first Program") –> "MY FIRST PROGRAM".
|