info2
?>

Ввести натуральное число и определить, верно ли, что в его записи есть две одинаковые цифры, стоящие рядом. на паскале через repeat - until

Информатика

Ответы

cmenick29
Program pr1; uses crt; var stroka: string; i,k,x: integer; mas: array[byte] of integer; beginclrscr; readln(stroka); i: =1; repeat val(stroka[i],k,x); mas[i]: =k; i: =i+1; until i=length(stroka); x: =0; for i: =1 to length(stroka) do x: =x+mas[i]; if x=10 then writeln('true')else writeln('else'); end.
АндреевичАндрей
Var i,x,k,s: integer; function sum(x: integer): integer; var     t: string;     i: integer; begin s: =0; t: =inttostr(x); for i: =1 to length(t) do  s: =s+strtoint(t[i]); result: =s end; function kol(x: integer): integer; var t: string; begin t: =inttostr(x); result: =length(t) end; begin for i: =1 to 5 do     begin     write('введите число ',i,': ');       readln(x);       k: =kol(x);       s: =sum(x);       writeln('количество цифр ',k,'; сумма цифр ',s)     end end.
boykovandrew6663
Для этого нужно в цикле пробежаться по элементам mass[i] и элементам mass[30 - i], тоесть чтобы не запоминать суму элементов достаточно её сравнить с сумой каких либо других пар  (в нашом случае начало масива мы сравниваем с концом). далее создадим переменную, по каторой мы будем определять индекс элемента сума которого из соседним элементом являлась самой большой. просто для проверки запускается 2 цикла в которых будет индекс инкрементироваться, не важно в конце или в начале этот элемент. в цикле где есть этот элемент делаем проверку, найшли ли мы нужный элемент, если да, то записуем значение индекса в переменную, далее записуем проверку, на равенство индекса и переменной, что не даст нам изменить значение нужного индекса до тех пор, пока мы не найдем нужный,  а индекс декрементируем, он все равно будет не изменен, по скольку в начале цыкла мы его увеличиваем на 1. примерно все!   c++ . . int main {  int mass[30]; int i,counter, j; for(i = 0,i< 30; i++) {cout< < "your mass:   "< < mass[i] = rand%100< < endl;   // делаем заполнение масива случайными числами  от 0 до 100    } //делаем собственно проверку for(i=0; i< 30; i++) {           for(j=0; j< 30; j++)           {           if  (mass[i]+mass[i+1]< mass[30-j]+mass[30-j-1]){             counter=j;               j--;             }               else {counter = i;                 i--;           } } cout< < "your max element :   "< < mass[counter]; } getch(); return 0;

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Ввести натуральное число и определить, верно ли, что в его записи есть две одинаковые цифры, стоящие рядом. на паскале через repeat - until
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Coffee3862
Лифанов_Ольга
ohussyev
tigo1
Равилевич_Олеговна1496
Aleksandrovna1153
Беспалова
Butsan-Bagramyan
mahalama7359
НиколаевнаФ
lechic3
shuramuji
Кристина Валентиновна
krisrespect
Бочкова_Елена203