Дан список, содержащий 10 записей, каждая из которых имеет структуру:
шифр книги - строка 5 символов
фио автора - строка 20 символов
название - строка 15 символов
год издания - целое
список по убыванию года издания. разработать алгоритмы и программы линейного и двоичного поиска книг, изданы до 1950 году с выводом найденных записей на экран.
Я, в основном, программы на С++ пишу, но из школы про Паскаль кое-что помню (в смысле, попытаюсь написать на Паскале).
Program A1;
var a,b,c,i:integer;
begin
write('Enter the a: ');
read(a);
writeln('Enter the b: ');
read(b);
с:=0;
for i:=1 to a Do
c:=c+b;
writeln('a*b=',c:5:0);
end.
Объясняю (начинаю сразу с цикла for): что значит произведение двух натуральных чисел а и b - это означает, сложить b с самим собой по а раз (можно и наоборот). Например, a=5, b=3. Переменную с=0 будем складывать с b.
i=1 c=5+0;
i=2 c=5+5;
i=3 c=10+5; //c=15
Вот и есть ответ: 5*3=15.
/Ребус
#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();