В файле input.txt записано число N (1<=N<=10000) равное количеству элементов целочисленной последовательности, а затем сами элементы последовательности.
Напишите программу, которая вводит данные в массив и находит в данной последовательности номер наибольшего числа, начинающееся и заканчивающееся на разные цифры, а если таких чисел в заданной последовательности нет, то вывести 0. Результаты работы программы записать в файл output.txt
/Ребус
#include<conio.h>
#include<iostream.h>
void main()
{ *int i,j,r;
* long int buk,slo,a[8];
* clrscr();
* for(a[0]=1; a[0]<=3; a[0]++)
* *for(a[1]=0; a[1]<=9; a[1]++)
* * for(a[2]=0; a[2]<=9; a[2]++)
* * *for(a[3]=0; a[3]<=9; a[3]++)
* * * for(a[4]=0; a[4]<=9; a[4]++)
for(a[5]=1; a[5]<=9; a[5]++)
for(a[6]=0; a[6]<=9; a[6]++)
*for(a[7]=0; a[7]<=9; a[7]++)
* * { *buk=a[0]*10000+a[1]*1000+a[2]*100+a[3]*10+a[4];
slo=a[5]*10000+a[6]*1000+a[7]*100+a[3]*10+a[7];
* *if(buk*3==slo)
* *{ r=0; * * * * * * * * * //Проверка того, что
* * *for(i=0; i<8; i++) * * //разным буквам соответствуют
for(j=i+1; j<8; j++) *//разные цифры
*if(a[i]==a[j]) r++;
*if(r==0)cout<<buk<<" + "
* * <<buk<<" + "
* * <<buk<<" = "
* * <<slo<<endl;
* *}
* * *}
getch();
Показано самое простое решение, ибо на более сложные манипуляции не могу тратить время, некоторые моменты прокомментированны.
Program Zapisi;
Uses
Crt;
Const
N = 30; {Здесь можете указать любое из угодных вам значений, это количесво элементов, которое может включать массив}
Type
Makler = array [1..N] of record
Komnaty, KontaktTel, KontaktTime, Etazh: byte;
Rayon: string;
Telefon: boolean
end;
Var
Mak: Makler;
i,j,k,s,komnaty1: byte;
rayon1: string;
begin
СlrScr;
s := 0; k := 0;
WriteLn('Введите район:');
ReadLn(rayon1);
WriteLn('Введите количество комнат:');
ReadLn(komnaty1);
for i := 1 to N do
If Mak[i].Rayon = rayon1 then
{В данном случае используется самая банальная проверка слов на соответствие, так как регистр в данном случае имеет значение и любой лишний пробел нарушит соответствие, лучше, конечно же, было бы сделать посимвольную проверку с применением функции UpCase, дабы опустить регистр, но, как я сказал выше, времени не хватает.}
k := k + 0;
for j := 1 to N do
If Mak[j].Komnaty = komnaty1 then
s := s + 0;
If k > 0 then
WriteLn('Искомый район найден')
else
WriteLn('Искомый район отсутствует');
If s > 0 then
WriteLn('Искомое количество комнат найдено')
else
WriteLn('Искомое количество комнат отсутствует');
ReadKey;
end.