В строке 's2:= s2 + s1[i] + s1[i];'
По умолчанию все переменные равны нулю
т.к. вы не задали значение i и вводите эту строку вне цикла for, то получается что вы запрашиваете нулевой элемент массива s1, при том что нумерация начинается с единицы, поэтому и выдаёт ошибку.
"Индекс находится вне границ массива"
Верный код программыprogram raf105;
var s1,s2:string;
i:integer;
begin
writeln('Введите строку');
readln(s1);
s2:='';
for i:=1 to length(s1) do
s2:= s2 + s1[i] + s1[i];
writeln(s2);
end.
program raf105;
var a:array[1..100,1..2] of char;
glas,s:string;
i,j,sumglas:integer;
begin
glas:='аеёиоуыэюя'; // Перечисление гласных
for i:=1 to length(glas) do
a[i,2]:= glas[i]; //Заполнение второй строки для гласных
writeln('Введите строку');
readln(s);
for i:=1 to length(s) do
a[i,1]:= s[i]; //Заполнение первой строки для введённых букв
for i:=1 to length(s) do
for j:=1 to length(glas) do
if a[i,1] = a[j,2] //если символ из строки 1 = символу из строки 2
then sumglas:= sumglas+1; //Прибавление единицы к счётчику
writeln('В строке ',sumglas,' гласных');
end.
#include <iostream>
#include <cstring>
#include <string>
#include <sstream>
#include <ctime>
#include <cstdlib>
char MyAge(char*);
using namespace std;
int main()
{
setlocale(LC_ALL,"rus");
char str_result;
char str1[20];
cout << "Введите дату рождения в формате - число/месяц/год" << endl;
cin >> str1;
MyAge(str1);
return 0;
}
char MyAge(char*str1)
{
char day[3], month[3], year[5];
int age;
int a = 2021;
//char str2[100];
for(int i = 0; i < *str1; i++)
if(str1[i] == '/')
str1[i] = ' ';
istringstream ss(str1);
(ss >> day).get();
(ss >> month).get();
(ss >> year).get();
age = atoi(year);
age = a - age;
ostringstream str2;
str2 << "Лет - " << age << " Месяцев - "<< month << " Дней - " << day;
cout << str2;
}
Объяснение:
from datetime import date
def calculate_age(born):
today = date.today()
try:
birthday = born.replace(year=today.year)
except ValueError: # raised when birth date is February 29 and the current year is not a leap year
birthday = born.replace(year=today.year, month=born.month+1, day=1)
if birthday > today:
return today.year - born.year - 1
else:
return today.year - born.year
Начало это си а конец питон