Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.04.2010, 08:37   #1
daniil2010
Пользователь
 
Регистрация: 29.03.2010
Сообщений: 12
Вопрос преобразовать в код С++

Написал прогу на Паскале

Вот условие:
Дан массив из N целых чисел. Его значения- только нули и единицы. Найти номер элемента, с которого начинается самая длинная последовательность одинаковых чисел.

А как это реализовать на С++?


текст программы:

Код:
uses
CRT;

const
n = 10; 

var
x: array [1..n] of integer; 
i, max, max1, k, s, kk, ss, j: integer; 

begin
ClrScr; 
for i := 1 to n do 
begin
{ввод и проверка данных} 
repeat 
write(i, ' '); readln(x[i]); 
until (x[i] = 0) or (x[i] = 1); 
end; 
{вывод исходной последовательности} 

//(1) данная часть практически идентична (2)//
// часть (1)

for i := 1 to n do
write(x[i]); 
writeln; 
s := 0; max := 0; 
for i := 1 to n do 
if x[i] = 0 then inc(s) 
else if s > max then 
begin
max := s; k := i - 1; s := 0
end; 

{Если самая длинная подпоследовательность 
в конце последовательности} 
if s > max then 
begin
max := s; k := n
end; 
{вывод результата} 

writeln(max, ' ', k - max + 1, ' ', k);
readln;

//часть (2)

for j := 1 to n do
write(x[j]); 
writeln; 
ss := 0; max1 := 0; 
for j := 1 to n do 
if x[j] = 1 then inc(ss) 
else if ss > max1 then 
begin
max1 := ss; kk := j - 1; ss := 0
end; 

{Если самая длинная подпоследовательность 
в конце последовательности} 
if ss > max1 then 
begin
max1 := ss; kk := n
end; 
{вывод результата} 
writeln(max1, ' ', kk - max1 + 1, ' ', kk); 
readln;

if max > max1 then writeln('sam dlin posled=', max, ' ', 'nachin c posic ', k - max + 1, ' do pos ', ' ', k)
else writeln('sam dlin posled=', max1, ' ', 'nachin c posic ', kk - max1 + 1, ' ', ' do pos ', kk);
readln;


end.

Последний раз редактировалось Stilet; 22.04.2010 в 08:59.
daniil2010 вне форума Ответить с цитированием
Старый 22.04.2010, 10:02   #2
[CODER]
Форумчанин
 
Аватар для [CODER]
 
Регистрация: 02.02.2010
Сообщений: 305
По умолчанию

Чем тебя ЭТОТ вариант не устроил?
Skype: CODERua
[CODER] вне форума Ответить с цитированием
Старый 22.04.2010, 15:33   #3
daniil2010
Пользователь
 
Регистрация: 29.03.2010
Сообщений: 12
По умолчанию

Я сначало не мог разобраться с кодом.
Но посмотрел еще раз и теперь все понял, как он работает.
daniil2010 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
преобразовать исходный код *Оля* Паскаль, Turbo Pascal, PascalABC.NET 0 18.04.2010 20:47
Преобразовать код... CodeExpert Помощь студентам 3 09.11.2009 16:00
Как преобразовать код SeRhy HTML и CSS 1 17.08.2008 15:50
преобразовать Delphi код в assembler rip Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 12.05.2008 15:46
преобразовать код С++ в С++.Net Alek86 Общие вопросы .NET 4 01.10.2007 12:00