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

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

Вы просматриваете старую версию (v. 1) этой страницы.
Последняя версия - v. 18 , последнее редактирование Oct 09, 2016 (просмотр отличий | )
просмотр истории страницы | просмотр следующей версии >>

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

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

string Razl(string s)

Unknown macro: { string w; int d,j; d=s.length(); w=s[0]; for (j=1; j<d; j++) if (w.find(s[j])>d) 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

Unknown macro: { 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)

Unknown macro: { 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)

Unknown macro: { 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++)

Unknown macro: { 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++)
Unknown macro: { 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)

Unknown macro: { 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++)

Unknown macro: { 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()

Unknown macro: { int i,k; k=0; for (i=0; i<n; i++) if (a[i]==b[i]) k++; return k; }

void Shift()

Unknown macro: { 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++)

Unknown macro: { 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) - Ошибка/новая особенность - Свяжитесь с Администраторами