fork download
  1. program ideone;
  2.  
  3. var
  4. arr1: array[0..1] of string = ('nome-outros', 'me-outros');
  5. arr2: array[0..1] of string = ('me-outros', 'nome-outros');
  6.  
  7. procedure func(var arr: array of string; pl: string; c: char);
  8. var
  9. i: integer;
  10. p: integer = -1;
  11. begin
  12. for i := 0 to 1 do
  13. begin
  14. if copy(arr[i], 1, pos(c, arr[i]) - 1) = pl then
  15. begin
  16. p := i;
  17. break;
  18. end;
  19. end;
  20. writeln('Posição de ''', pl, ''': ', p);
  21. end;
  22.  
  23. procedure correcto(var a: array of string; s: string);
  24. begin
  25. func(a, s, '-');
  26. end;
  27.  
  28. procedure incorrecto(var a: array of string; s: string);
  29. begin
  30. func(a, s, ':');
  31. end;
  32.  
  33. begin
  34. writeln('arr1 = (''', arr1[0], ''', ''', arr1[1], ''')');
  35. writeln('arr2 = (''', arr2[0], ''', ''', arr2[1], ''')');
  36. writeln;
  37. writeln('*** Testes correctos (com ''-'') ***');
  38. writeln('--arr1------------------------------');
  39. correcto(arr1, 'nome');
  40. correcto(arr1, 'me');
  41. writeln('--arr2------------------------------');
  42. correcto(arr2, 'nome');
  43. correcto(arr2, 'me');
  44.  
  45. writeln;
  46. writeln('*** Testes incorrectos ('':'') ***');
  47. writeln('--arr1----------------------------');
  48. incorrecto(arr1, 'nome');
  49. incorrecto(arr1, 'me');
  50. writeln('--arr2----------------------------');
  51. incorrecto(arr2, 'nome');
  52. incorrecto(arr2, 'me');
  53. end.
Success #stdin #stdout 0s 232KB
stdin
Standard input is empty
stdout
arr1 = ('nome-outros', 'me-outros')
arr2 = ('me-outros', 'nome-outros')

*** Testes correctos (com '-') ***
--arr1------------------------------
Posição de 'nome': 0
Posição de 'me': 1
--arr2------------------------------
Posição de 'nome': 1
Posição de 'me': 0

*** Testes incorrectos (':') ***
--arr1----------------------------
Posição de 'nome': -1
Posição de 'me': -1
--arr2----------------------------
Posição de 'nome': -1
Posição de 'me': -1