Wypisać wszystkie pary różnych od siebie liczb z zakresu od 1 do n. Wartość n zostaje podana uprzednio przez użytkownika.

0

Cześć, chciałbym zapytać jak mam poprawić program, którzy wpisuje liczby podane przez użytkownika, natomiast nie będzie par, typu 1:1,2:2 itd. Póki co tak wygląda program.

program Project1;
  //częsć deklaracyjna
  var
   i,j,n:integer;
begin
  //częsć wykonawcza
  write('Podaj n:');
  readln(n);

  for i:=1 to n do
    for j:=1 to n do
      writeln('i=',i,' j=',j);
  readln;
end.
0

3;5 i 5;3 to taka sama para czy rozna?
Jesli rozna no to wystarczy pominac duplikaty i tyle (if i == j then continue)

1

@stivens:

program Project1;
  //częsć deklaracyjna
  var
   i,j,n:integer;
begin
  //częsć wykonawcza
  write('Podaj n:');
  readln(n);

  for i:=1 to n do
    for j:=1 to n do
      if j<>i then 
        writeln('i=',i,' j=',j);
  readln;
end.
0

Okej, dzięki, użyłem w sumie 1. if not (i=j) then 2. writeln('i=',i,' j=',j), więc właściwie to samo, dzięki za pomoc.

3
var
  I, J, N: Integer;
begin
  Write('Type N: ');
  ReadLn(N);

  for I := 1 to N do
  begin
    for J := 1 to I - 1 do
      WriteLn(I, ':', J);

    for J := I + 1 to N do
      WriteLn(I, ':', J);
  end;

  ReadLn();
end.

Bez ifa, więc mniejsza złożoność obliczeniowa.

1 użytkowników online, w tym zalogowanych: 0, gości: 1