//Задача 3
#include <iostream>
#include <stdio.h>
using namespace std;
string SubString(string str, int startIndex, int endIndex)
{
string output = "";
for (int i = startIndex; i < endIndex; i++)
output += str[i];
return output;
}
string ToString(int num)
{
string output = "";
char symbol = 0;
int tmp = num;
while(num != 0)
{
tmp = num % 10;
num /= 10;
symbol = (char)(tmp + 48);
output = symbol + output;
}
return output;
}
int IndexOf(string str, char symbol)
{
int index = -1;
for (int i = 0; i < str.length(); i++)
{
if (str[i] == symbol)
{
index = i;
break;
}
}
return index;
}
bool Contains(string text, char symbol)
{
for (int i = 0; i < text.length(); i++)
{
if (text[i] == symbol)
return true;
}
return false;
}
bool IsRepeat(string values, string num)
{
string tmp = "";
while (IndexOf(values, ' ') != -1)
{
values = SubString(values, IndexOf(values, ' ') + 1, values.length() + 1);
tmp = SubString(values, 0, IndexOf(values, ' '));
if (tmp == num)
return true;
}
return false;
}
int main()
{
const int arrSize = 10;
int arr[arrSize] = { 10, 22, 10, 76, 44, 22, 22, 12, 9, 76};
string values = "";
bool couples = false;
for (int i = 0; i < arrSize; i++)
{
string str = ToString(arr[i]);
for (int j = i + 1; j < arrSize; j++)
{
if (arr[i] == arr[j] && !IsRepeat(values, ToString(arr[j])))
{
str += " " + ToString(arr[j]);
values += " " + ToString(arr[j]);
}
}
if (Contains(str, ' '))
{
couples = true;
cout << "Couple: " << str << endl;
}
}
if (!couples)
cout << "Couple not detected!" << endl;
return 0;
}
--------------------------------------------------------------------------
//Задача 5
#include <iostream>
using namespace std;
string ToLower(string text)
{
string output = "";
for (int i = 0; i < text.length(); i++)
output += tolower(text[i]);
return output;
}
int main()
{
string str1 = "";
string str2 = "";
cout << "Enter first string: ";
getline(cin, str1);
cout << "Enter second string: ";
getline(cin, str2);
if (ToLower(str1) == ToLower(str2))
cout << endl << "Strings are equal" << endl;
else
cout << endl << "Strings are not equal" << endl;
return 0;
}
Поделитесь своими знаниями, ответьте на вопрос:
Будьласка це контрольна 50 ів але хто пише неправильно блокую і ! знайдіть суму, кількість та середнє арифметичне всіх натуральних трьохзначних чисел що починаються та закінчуються однаковими цифрами в лазарусі початок маю a: array[0..1000] of integer; i, n, sum, kil: integer; ser: real; n: =memo1.lines.count; sum: =0; for i: =0 to n do a[i]: =strtoint(memo1.lines[i-1]); for i: =1 to n do if (a[i]< 10) and (a[i]< 1000) then begin if (a[i]div 100) =(a[i] mod 10) then sum: =sum+a[i]; kil: =kil+1; ser: =sum/kil;
begin
s:=0; k:=0;
for i:=1 to 9 do
for j:=0 to 9 do
begin
s:=s+i*100+j*10+i;
k:=k+1;
end;
writeln('s = ',s,' k = ',k,' sred = ',s/k:6:2);
end.
Результат:
s = 49500 k = 90 sred = 550.00
Если нужно приложение с формой, то:
помещаете на форме командную кнопку (Button) и статичный текст (StaticText).
В обработчик кнопки добавляете код:
procedure TForm1.Button1Click(Sender: TObject);
var i,j,s,k:integer; s:string;
begin
s:=0; k:=0;
for i:=1 to 9 do
for j:=0 to 9 do
begin
s:=s+i*100+j*10+i;
k:=k+1;
end;
s:='s = '+IntToStr(s)+' k = '+IntToStr(k)+' sred = '+FloatToStr(s/k);
StaticText1.Caption := s;
end;