Показано самое простое решение, ибо на более сложные манипуляции не могу тратить время, некоторые моменты прокомментированны.
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.
/Ребус
#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.