Просмотр источника
*1. Решение задачи с функцией - Слова массива, состоящие из различных букв*\\ {code:title=razl_bukvi.cpp\|borderStyle=solid} #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; 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; } {code} *2. Решение задачи с процедурой* Предложение => массив слов \\ \\ {code:title=predloch-massiv.cpp\|borderStyle=solid} #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; } {code} *3. Булевая функция, получает в качестве параметра целое x* \\ *Количество простых, кубы которых меньше n*\\ {code:title=kubi<n.cpp\|borderStyle=solid} #include <bits/stdc++.h>using namespace std; 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(x)) ans++; cout << ans; } /* 1001 - 4 126 - 3 125 - 2 10 - 1 7 - 0 */ {code} *4. Возвращение значений параметров из процедуры Split* \\ &x1 - передаём в процедуру адрес переменной x1\\ {code:title=split.cpp\|borderStyle=solid} #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; } {code} *5. Три лучших рейтинга (10_BY. Спартакиада)* \\ \\ {code:title=spartakiada.cpp\|borderStyle=solid} #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; } {code} *6. Функция и процедура (2010_BY. Бактериалное родство)* \\ {code:title=bakterrodstvo.cpp\|borderStyle=solid} #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; } {code} |