Vorotko814
?>

Уменя в выдает ответ с 0 (0008 : перевод из десятичной системы в восьмеричную в паскале, используя while. найдите ошибку. program zad3; var n, k: integer; begin read(n); while n > 0 do begin k : = 64; write (n div k); write (n mod 8); n: =n div 8; n: = n mod k; k: =k div 8; end; end.

Информатика

Ответы

alena
Исправил некоторые строки, добавил массив. Вот что вышло.
program zad3;
var
n,i,k: integer;
mas :array [1..20] of integer;
begin
read(n);
i:=1;
while n > 0 do
begin
mas[i]:=n mod 8;
n:=n div 8;
i:=i+1;
k:=k+1;
end;
  for i:=k downto 1 do write(mas[i])
end.
vis-lyubov8832
Можно вот так:
program zad3;
var
n, k, m: integer;
begin
write('n = ');
readln(n);
k:=1;
while k<=n do k:=k*8;
k:=k div 8;
m:=n;
while m > 7 do
begin
write (m div k);
m:=m mod k;
k:=k div 8;
end;
writeln(n mod 8);
end.

Пример:
n = 125
175
Чубкова1290
1)var a:array[1..4,1..4] of integer;
      i,j,s:integer;
begin
      for i:=1 to 4 do
         for j:=1 to 4 do 
               readln(a[i,j]);
         
           for i:=1 to 4 do begin 
                     writeln();
                   for j:=1 to 4 do begin 
                     write(a[i,j],' '); 
                    if (i+j>5) then s:=s+a[i,j];
                        end;
                 end;
writeln();
write(s);
end.

2)var a:array[1..4,1..4] of integer;
      i,j,s:integer;
begin
      for i:=1 to 4 do
         for j:=1 to 4 do 
               readln(a[i,j]);
         
           for i:=1 to 4 do begin 
                     writeln();
                   for j:=1 to 4 do begin 
                     write(a[i,j],' '); 
                    if (i>J) then s:=s+a[i,j];
                        end;
                 end;
writeln();
write(s);
end.
Мелконян1137
var  mas1, mas2: array[0..9] of integer;  t, k, i, j: integer; 
begin  
readln(t);  
readln(k);  
for j := 0 to 1 do  begin   
      if (j = 1) then writeln();        
                 for i := 0 to 9 do    begin      
                          if(j = 0) then begin       
                                  mas1[i] := random(100);        
                                    write(mas1[i], ' ');       
                                    if mas1[i] > t Then mas1[i] := mas1[i] + 4;      
                              end      
                            else 
                               begin       
                                      mas2[i] := random(100);        
                                      write(mas2[i], ' ');       
                                       if mas2[i] > 10 * K Then         
                                            mas2[i] := mas2[i] + K;      
                                end;    
                       end;       
                  for i := 0 to 9 do     
                         if (j = 0) then 
                               write(mas1[i]) 
                        else 
                                write(mas2[i]);    
               writeln();  
           end;  
readln();
end.

))

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

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

Уменя в выдает ответ с 0 (0008 : перевод из десятичной системы в восьмеричную в паскале, используя while. найдите ошибку. program zad3; var n, k: integer; begin read(n); while n > 0 do begin k : = 64; write (n div k); write (n mod 8); n: =n div 8; n: = n mod k; k: =k div 8; end; end.
Ваше имя (никнейм)*
Email*
Комментарий*

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

sbelova
sensenagon50
alena
vedaikin
magazin7452834
Poroskun
websorokin
denis302007
ainetdinovsnab
Khlustikova_Borisovna
Вадимовна
AOS2015
valera850515
ПогальниковАлёна589
hellomaxim