//Если надумаешь менять расположение файла, то не забудь поменять его также в коде
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
const int ValueOfString = 10;
ofstream Writer;
Writer.open("C:\\Test\\First.txt", ios::out);
Writer « "Stroka1" « "\n";
Writer « "Stroka12" « "\n";
Writer « "Stroka133" « "\n";
Writer « "Stroka1444" « "\n";
Writer « "Stroka155" « "\n";
Writer « "Stroka16" « "\n";
Writer « "Stroka1" « "\n";
Writer « "Stroka17" « "\n";
Writer « "Stroka188" « "\n";
Writer « "Stroka1999" « "\n";
Writer.close();
ifstream Reader;
Reader.open("C:\\Test\\First.txt");
string Str[ValueOfString];
int NumInStr[ValueOfString] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
int counter = 0;
while (!Reader.eof())
{
Reader » Str[counter];
counter++;
}
Reader.close();
string Tmp;
int counter2 = 0;
for (int i = 0; i < ValueOfString; i++)
{
Tmp = Str[i];
for (int j = 0; j < Tmp.length(); j++)
{
if (Tmp[j] == '1' || Tmp[j] == '2' || Tmp[j] == '3' || Tmp[j] == '4' || Tmp[j] == '5' || Tmp[j] == '6' || Tmp[j] == '7' || Tmp[j] == '8' || Tmp[j] == '9')
counter2++;
}
NumInStr[i] = counter2;
counter2 = 0;
}
ofstream Writer2;
Writer2.open("C:\\Test\\Second.txt", ios::app);
Writer « "\n";
for (int k = 0; k < ValueOfString; k++)
Writer2 « "\nВ " « k + 1 « " строке: " « NumInStr[k] « " цифр";
Writer2.close();
cout « "Operation successfully completed!" « endl « endl;
return 0;
}
#!/usr/bin/python3
'''
пологаю, условие как есть: без пробелов, без OCR, без какого-либо форматирования
т.е. вводные строки текста выглядят так:
aaaaaayyyymmddbbbbbbbccccсрочныйeeee
я добавил поддержку некоторых разделителей в выражение, на случай если они
всётаки имеются
тестовые данные:
123456199601011234567987срочный000
123456199603291234567987срочный000
123456 1996-03-29 1234567 987 срочный 000
123456200109111234567987срочный000
тогда, решаем это с помощью регулярных выражений
как видно, в условии не сказано, что считать за код города. предположим,
что код города - это первая цифра от num2
'''
import re
import datetime
R = re.compile(
r'\s*(?P<num1>\d{6})\s*(?P<y>\d{4})\-?(?P<m>\d{2})\-?(?P<d>\d{2})\s*'
r'(?P<num2>\d{7})\s*'
r'(?P<time>\d+)\s*(?P<urgency>(срочный|обычный))\s*(?P<price>\d+)\s*'
)
d1 = datetime.datetime(1996, 3, 15)
d2 = datetime.datetime(1996, 4, 12)
while True:
a = ""
try:
a = input("введи> ")
except EOFError:
print("\n")
exit(0)
res = R.match(a)
if res == None:
print("ошибка парсинга")
continue
dd = datetime.datetime.now()
try:
dd = datetime.datetime(
int(res.group("y")),
int(res.group("m")),
int(res.group("d"))
)
except ValueError:
print("неправильная дата")
if res.group("urgency") == "срочный" and (dd > d1 and dd < d2):
n = res.group("num2")
print("номер1 {}, код {}, номер2 {}".format(
res.group("num1"), n[0], n[1:]))
Данная область показана на скриншоте:
Может быть это? <span>pascal: </span>
<span>var a: array [1..20] of integer; </span>
<span>i, k: integer; </span>
<span>s: real; </span>
<span>begin </span>
<span>// заполняем массив c клавиатуры </span>
<span>for i:=1 to 20 do </span>
<span>readln(ar); </span>
<span>//считаем среднеариф-е </span>
<span>s := 0; </span>
<span>k := 0; </span>
<span>for i:=1 to 20 do </span>
<span>if a >=0 then begin </span>
<span>s := s + a; </span>
<span>k := k + 1; </span>
<span>end; </span>
<span>writeln('среднее: ', s/k); </span>
<span>end.</span>