KMA
Долгожитель
|
Ну что значит найти простое число, значит проверить высказывание, что данное число является простым. Простое -- по определению, есть число среди натуральных чисел, которое делиться только на само себя и на 1, при этом 1 простым не является. =) Значит, тебе надо запустить цикл от 2 до n-1, где n это твое число и проверить, есть ли такое среди перечисленных, на которое данное число делиться. Если есть, значит не простое, если нет, значит простое. Блин, простой перебор, чего здесь думать??? P. S. под словом делиться, имеется в виду, делимость двух чисел без остатка.
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 24 дек. 2006 2:35 | IP
|
|
Duke Garland
Удален
|
Условие нахождения простого числа выглядит примерно так ... if not((a[j] mod 2)or(a[j] mod 3)) then begin...... (Сообщение отредактировал Duke Garland 24 дек. 2006 3:41)
|
Всего сообщений: N/A | Присоединился: N/A | Отправлено: 24 дек. 2006 2:51 | IP
|
|
KMA
Долгожитель
|
Duke Garland это ты про что???
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 24 дек. 2006 2:58 | IP
|
|
Guest
Новичок
|
Вот то что я написал, помогите пожалуйста, посмотрите в чем ошибка, он не выводит никак особенные числа: Program zad1; uses crt; const n=3; m=6; type mas=array [1..n,1..m] of integer; var a: mas; i,j,k,l,g,r:integer; fl:boolean; procedure zap(n,m:integer; var a:mas); begin randomize; for i:=1 to n do for j:=1 to m do begin readln (r); a[i,j]:=r; end; end; procedure viv(n,m:integer; var a:mas); begin for i:=1 to n do begin for j:=1 to m do write (a[i,j]:3); writeln; end; end; procedure osob(n,m:integer; var a:mas); var g,z,f:integer; begin for i:=1 to n do k:=0; l:=0; j:=0; begin for j:=1 to m do begin if (j<>1) and (j<>2) and (j<>3) and (j<>m) then begin for g:=1 to j-3 do if ((a[i,g]-a[i,g+1])=(a[i,g+1]-a[i,g+2])) then inc(k); writeln (k); for g:=j+1 to m do begin for z:=g to m-1 do if ((a[i,g] mod z)<>0) then inc(l); end; if (k=j-3) or (l=0) then Writeln ('Element A[',i,',',j,'] = ',a[i,j],' - osobenniy'); end; end; end; end; BEGIN clrscr; zap (n,m,a); viv (n,m,a); osob(n,m,a); readln; END.
|
Всего сообщений: Нет | Присоединился: Never | Отправлено: 24 дек. 2006 3:51 | IP
|
|
Dimka
Новичок
|
Я зарегился, если поймете в чем ошибка прошу скинуть на мыло, заранее спасибо (Сообщение отредактировал Dimka 24 дек. 2006 4:29)
|
Всего сообщений: 2 | Присоединился: июнь 2010 | Отправлено: 24 дек. 2006 3:56 | IP
|
|
Dimka
Новичок
|
УРААААА!!! Program zad1; uses crt; const n=3; m=6; type mas=array [1..n,1..m] of integer; var a: mas; i,j,k,l,g,r:integer; procedure zap(n,m:integer; var a:mas); begin randomize; for i:=1 to n do for j:=1 to m do begin readln (r); a[i,j]:=r; end; end; procedure viv(n,m:integer; var a:mas); begin for i:=1 to n do begin for j:=1 to m do write (a[i,j]:3); writeln; end; end; procedure osob(n,m:integer; var a:mas); var g,z,q:integer; begin for i:=1 to n do begin for j:=1 to m do begin k:=0; l:=0; if (j<>1) and (j<>2) and (j<>3) and (j<>m) then begin for g:=1 to j-3 do if ((a[i,g]-a[i,g+1])=(a[i,g+1]-a[i,g+2])) then inc(k); writeln (k); writeln; for q:=j+1 to m do begin for z:=2 to a[i,j]-1 do if ((a[i,q] mod z)=0) then inc(l); writeln (l); end; if (k=j-3) and (l=0) then Writeln ('Element A[',i,',',j,'] = ',a[i,j],' - osobenniy'); end; end; end; end; BEGIN clrscr; zap (n,m,a); viv (n,m,a); osob(n,m,a); readln; END. Почти 5 утра, но я все сделал!!! Исправил косяки, вот код, может кому понадобиться (Сообщение отредактировал Dimka 24 дек. 2006 4:42)
|
Всего сообщений: 2 | Присоединился: июнь 2010 | Отправлено: 24 дек. 2006 4:26 | IP
|
|
mittal
Удален
|
Расскажите,плиз, как в односвязном списке поменять местами две его состовляющих?
|
Всего сообщений: N/A | Присоединился: N/A | Отправлено: 24 дек. 2006 14:48 | IP
|
|
miss_graffiti
Долгожитель
|
mittal, просто перекинуть указатели... KMA, а ты уверен, что нужно делать цикл до n-1?
|
Всего сообщений: 670 | Присоединился: сентябрь 2005 | Отправлено: 24 дек. 2006 15:04 | IP
|
|
mittal
Удален
|
Так в том то и дело что я не понимаю как это можно сделать! может какой нить простой примерчик или ссылочку где это есть, а?
|
Всего сообщений: N/A | Присоединился: N/A | Отправлено: 24 дек. 2006 15:20 | IP
|
|
Dimka
Новичок
|
Уважаемы, у меня к вам еще вопросики. вот задание a)Создать файл, содержащий сведения о наличии билетов в кассах Аэрофлота. Структура записи: номер рейса, пункт назначения, время вылета, время прибытия, количество свободных мест в салоне b)Упорядочить данные файла по номеру рейса. вот код который я сделал, не могу понять как отсортировать, помогите кто чем может program zad2; uses crt; const n=5; type zapis=record reys:array [1..n] of integer; gorod:string [20]; vilet:string [10]; prib:string [10]; mest:integer; end; var f,g:file of zapis; plan:array[1..n] of zapis; prom:zapis; i:integer; procedure create; begin rewrite (f); for i:=1 to n do begin writeln ('Vvedite nomer ',i,' reysa'); readln (prom.reys); writeln ('Vvedite punkt naznacheniya'); readln (prom.gorod); writeln ('Vremya vileta'); readln (prom.vilet); writeln ('Vremya pribitiya'); readln (prom.prib); writeln ('Biletov'); readln (prom.mest); plan:=prom; write(f,plan); end; close(f); end; procedure out; begin reset(f); write ('REYS ':5,'Gorod ':10,' Vilet v':10,' Pribitie v':10,' Biletov':5); writeln; for i:=1 to n do begin read (f,prom); write (prom.reys:5); write (prom.gorod:10); write (prom.vilet:10); write (prom.prib:10); write (prom.mest:5); writeln; end; close(f); end; procedure sort; var m:integer; k:integer; begin m:=0; rewrite (g); reset(f); for i:=1 to n-1 do begin for i:=1 to n-1 do begin read(f,prom); if (prom.reys>prom.reys[i+1]) then begin k:=prom.reys; prom.reys:=prom.reys[i+1]; prom.reys[i+1]:=k; end; end; end; close(f); close(g); end; BEGIN assign (f,'c:\123.dat'); assign (g,'c:\sort.dat'); create; out; sort; out; readln; END.
|
Всего сообщений: 2 | Присоединился: июнь 2010 | Отправлено: 24 дек. 2006 15:50 | IP
|
|
|