Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 14.12.2013, 01:06   #1 (permalink)
Chelios_rus
Member
 
Регистрация: 14.12.2013
Сообщений: 21
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Необходимо написать программу

Вот задание:
Найти, есть ли в последовательности чисел, вводимых с клавиатуры, три одинаковых числа, следующих подряд. Признак завершения ввода: первое число встретилось три раза.
Chelios_rus вне форума   Ответить с цитированием

Старый 14.12.2013, 01:06
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Данные топики могут вам очень хорошо помочь

Написать программу. С++
Написать программу

Старый 14.12.2013, 01:10   #2 (permalink)
Gruvi
VIP user
 
Аватар для Gruvi
 
Регистрация: 10.03.2011
Сообщений: 765
Записей в дневнике: 1
Сказал(а) спасибо: 10
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 3453
По умолчанию

какой язык программирования ?

Если паскаль, то
Цитата:
program _numbs;

var

N, count :integer;
N_prev, exit_count :integer;

BEGIN

{input & process. }
while exit_count < 3 do
begin
Write('N: ');Readln(N);
if not (odd(N)) then inc(count);
if N=N_prev then inc(exit_count)
else exit_count:=1;
N_prev:=N;
end;

{ output }
write('количество четных: ',count);

END.
Gruvi вне форума   Ответить с цитированием
Старый 14.12.2013, 01:13   #3 (permalink)
Chelios_rus
Member
 
Регистрация: 14.12.2013
Сообщений: 21
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

да паскаль, спасибо большое))
Chelios_rus вне форума   Ответить с цитированием
Старый 14.12.2013, 01:14   #4 (permalink)
Gruvi
VIP user
 
Аватар для Gruvi
 
Регистрация: 10.03.2011
Сообщений: 765
Записей в дневнике: 1
Сказал(а) спасибо: 10
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 3453
По умолчанию

не за что, разбирайтесь.
Gruvi вне форума   Ответить с цитированием
Старый 14.12.2013, 01:38   #5 (permalink)
Chelios_rus
Member
 
Регистрация: 14.12.2013
Сообщений: 21
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

извините, а разве в задании просят что бы программа искала количество четных чисел?
там другое задание, или я чего то не понял
Chelios_rus вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 14.12.2013, 02:15   #6 (permalink)
Gruvi
VIP user
 
Аватар для Gruvi
 
Регистрация: 10.03.2011
Сообщений: 765
Записей в дневнике: 1
Сказал(а) спасибо: 10
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 3453
По умолчанию

Да, прошу прощения, ошибся немного, ну если можете, сами доделаете. Прям вашего задания у меня не оказалось.

Есть вот такая программа: Дан одномерный массив из 10 целых чисел подсчитать наибольшее число одинаковых идущих подряд в нем чисел.
Цитата:
uses crt;
const n=10;
var a:array[1..n] of integer;
i,j,k,mx,imx:byte;
begin
clrscr;
randomize;
writeln('Введите ',n,' целых чисел, в том числе одинаковые подряд:');
for i:=1 to n do
begin
write('a[',i,']=');
readln(a[i]);
end;
clrscr;
writeln('Массив:');
for i:=1 to n do
write(a[i],' ');
writeln;
i:=2;mx:=0;imx:=0;
while i<=n do
if a[i]=a[i-1] then
begin
j:=i;k:=1;
while (a[j]=a[j-1])and(j<n) do
begin
j:=j+1;
k:=k+1;
end;
if k>mx then
begin
mx:=k;
imx:=i-1;
end;
i:=i+k;
end
else i:=i+1;
if mx=0 then write('Нет одинаковых рядом!')
else
begin
writeln('Максимальная последовательность одинаковых чисел=',mx);
for i:=imx to imx+mx-1 do
write(a[i],' ');
end;
readln
end.
Gruvi вне форума   Ответить с цитированием
Старый 14.12.2013, 02:29   #7 (permalink)
Chelios_rus
Member
 
Регистрация: 14.12.2013
Сообщений: 21
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

хорошо сам исправлю, а вот на подобие этой программы, у меня есть тоже задание:
Даны внешние и внутренние радиусы двух колец, центры которых находятся в начале координат. Даны координаты десяти точек. В какое из колец попадет больше точек?
по заданию конечно отличается, но принцип написания программы примерно такой же, можете ли вы с этой помочь?
Chelios_rus вне форума   Ответить с цитированием
Старый 14.12.2013, 03:42   #8 (permalink)
Gruvi
VIP user
 
Аватар для Gruvi
 
Регистрация: 10.03.2011
Сообщений: 765
Записей в дневнике: 1
Сказал(а) спасибо: 10
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 3453
По умолчанию

Могу и с этой помочь=) совсем вы люди обленились, а ведь у меня тоже сессия =)
на держи программу:
Цитата:
uses crt;
const n=10;
type point=record
x,y:real;
end;
mas=array[1..n] of point;
function Rasst(toint):real;
begin
Rasst:=sqrt(sqr(t.x)+sqr(t.y));
end;
function Count(r1,r2:real;t:mas):integer;
var k,i:integer;
begin
k:=0;
for i:=1 to n do
if (Rasst(t[i])>=r1*r1)and(Rasst(t[i])<=r2*r2) then inc(k);
Count:=k;
end;
procedure Vvod(var r1,r2:real;k:integer);
begin
repeat
writeln('Введите внутренний и внешний радиусы кольца ',k);
readln(r1,r2);
until(r1>0)and(r2>r1);
end;
var vn1,vs1,vn2,vs2:real;
a:mas;
i,k1,k2:integer;
begin
clrscr;
writeln('Введите координаты ',n,' точек');
for i:=1 to n do
begin
writeln('Точка ',i);
write('x=');readln(a[i].x);
write('y=');readln(a[i].y);
end;
clrscr;
writeln('Координаты точек:');
write(' ');
for i:=1 to n do
write(i:6);
writeln;
write('X:');
for i:=1 to n do
write(a[i].x:6:2);
writeln;
write('Y:');
for i:=1 to n do
write(a[i].y:6:2);
writeln;
writeln;
Vvod(vn1,vs1,1);
Vvod(vn2,vs2,2);
k1:=Count(vn1,vs1,a);
k2:=Count(vn2,vs2,a);
writeln('Количество точек в кольце 1=',k1);
writeln('Количество точек в кольце 2=',k2);
if k1>k2 then write('В кольце 1 больше')
else if k1<k2 then write('В кольце 2 больше')
else write('Количество точек в кольцах равное');
readln
end.
Gruvi вне форума   Ответить с цитированием
Старый 15.12.2013, 02:35   #9 (permalink)
Chelios_rus
Member
 
Регистрация: 14.12.2013
Сообщений: 21
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

огромное просто тебе человеческое спасибо, удачи сдать сессию)
Chelios_rus вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 15:02.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.