Рабочий стол > DL Руководство пользователя > Функции и процедуры > Просмотр
Функции и процедуры Войти | Зарегистрироваться   Просмотр версии для печати текущей страницы.

Добавлен Egor, отредактирован Egor Sep 11, 2016
Метки: 
(нет)

Вы просматриваете старую версию (v. 15) этой страницы.

1. Решение задачи с функцией - Слова массива, состоящие из различных букв

#include <bits/stdc++.h>
using namespace std;

string Razl(string s)
{

string w;

int d,j;

d=s.length();

w=s[0];

for (j=1; jd)  w+=s[j];

return w; 

}

int main()
{
string s[100];
int n,i;
cin >> n;
for (i=0; i<n; i++) cin >> s[i];
for (i=0; i<n; i++)
if (Razl(s[i])==s[i]) cout << s[i] << endl;
}

2. Решение задачи с процедурой
Предложение => массив слов

#include <bits/stdc++.h>
using namespace std;

string s,m[100];
int n;

void Razbit()
{ string p;    int i,d;    s+='  ';    d=s.length();    n=0;    p="";   for (i=0; i<d; i+)if (s[i]!=' ') p=s[i];else {m[n]=p;n++;p="";}}

int main() 

 { getline(cin,s);
Razbit();
for (int i=0; i<n; i++) cout << m[i]  << endl;
}

3. Булевая функция, получает в качестве параметра целое x

Количество простых, кубы которых меньше n

#include <bits/stdc++.h>
using namespace std;bool Prime(int x)

bool Prime(int x) { for (int i=2; i<x; i++)     if ((x%i)==0)     return false;   return true; }
int main()
{
string is,s;
int n,x,ans;
cin >> n;
ans=0;
for (x=2; x*x*x<n; x++)
if (Prime) ans++;
cout << ans;
}
/*
1001 - 4
126 - 3
125 - 2
10 - 1
7 - 0
*/ 

4. Возвращение значений параметров из процедуры Split

&x1 - передаём в процедуру адрес переменной x1

#include <bits/stdc++.h>
using namespace std;

void Split(int x, int &x1, int &x2, int &x3)
{
x1=x%10;
x3=x/100;
x2=(x/10) % 10;
}

int main()
{
int i,i1,i2,i3,
j,j1,j2,j3,
n,a2,a3;
cin >> n;
a2=0;
for (i=10; i<100; i++)
for (j=10; j<100; j++)
{
i1=i/10; i2=i%10;
j1=j/10; j2=j%10;
if ((i1+i2==j1+j2) && (abs(i-j)>a2))
a2=abs(i-j);

};
if (n==2) cout << a2;
a3=0;
for (i=100; i<1000; i++)
for (j=100; j<1000; j++)
{
Split(i,i1,i2,i3);
Split(j,j1,j2,j3);
if (((i1+i2+i3)==(j1+j2+j3)) && (abs(i-j)>a3))
a3=abs(i-j);
};
if (n==3) cout << a3;
}

5. Три лучших рейтинга (10_BY. Спартакиада)

#include <bits/stdc++.h>
using namespace std;

int r[100000],n;

int nMaxR()
{
int max,i,num;
max=0;
for (i=0; i<n; i++)
if (r[i]>max)
{ max=r[i]; num=i; };
return num;
}

int main()
{
int x,y,z,a,b,c,i,n1,n2,n3;
freopen("input.txt","r",stdin);
freopen("output.txt","w",stdout);
cin >> x >> y >> z;
cin >> n;
for (i=0; i<n; i++)
{
cin >> a >> b >> c;
r[i]=a*x+b*y+c*z;
}
n1=nMaxR(); r[n1]=0;
n2=nMaxR(); r]n2]=0;
n3=nMaxR();
cout << n1+1 << ' ' << n2+1 << ' ' << n3+1;
}

6. Функция и процедура (2010_BY. Бактериалное родство) #include <bits/stdc++.h>
using namespace std;

string a,b;
int n;

int Degree()
{
int i,k;
k=0;
for (i=0; i<n; i++)
if (a[i]==b[i]) k++;
return k;
}
void Shift()
{
a=a[n-1]+a.substr(0,n-1);
}

int main()
{
int i,max,k;
freopen("input.txt","r",stdin);
freopen("output.txt","w",stdout);
cin >> n;
cin >> a;
cin >> b;
max=0;
for (i=0; i<n; i++)
{
k=Degree();
if (k>max) max=k;
Shift();
}
cout << max;
}

Powered by Atlassian Confluence, the Enterprise Wiki. (Version: http://www.atlassian.com/software/confluence Build:#2.6.1 916) - Ошибка/новая особенность - Свяжитесь с Администраторами