Advertisement
adnan360

C++ Problem FPC Solution: SUBEEN-3

Jan 31st, 2014
188
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 2.50 KB | None | 0 0
  1. সংখ্যা গণনা Programming Challenge
  2.  
  3. এক লাইনে অনেকগুলো সংখ্যা দেওয়া থাকবে। সংখ্যাগুলোর মধ্যে এক বা একাধিক স্পেস ক্যারেক্টার থাকবে। লাইনে মোট কয়টি সংখ্যা আছে সেটি বের করতে হবে।
  4.  
  5. ইনপুট
  6.  
  7. প্রথম লাইনে একটি সংখ্যা থাকবে। তারপর সেই সংখ্যাটির মান যত, ততটি লাইন থাকবে। প্রতি লাইনে এক বা একাধিক সংখ্যা থাকবে যাদের পরমমান 10000000-এর বেশি হবে না। একটি লাইনের সংখ্যাগুলোর মাঝে এক বা একাধিক স্পেস ক্যারেক্টার থাকবে।
  8.  
  9. আউটপুট
  10.  
  11. প্রতি লাইনে কয়টি সংখ্যা আছে সেটি প্রিন্ট করতে হবে।
  12.  
  13. উদাহরণ
  14.  
  15. ইনপুট:
  16.  
  17. 4
  18. 1  -2 10000 -50 20 7 445
  19. 9
  20. -98 876 65
  21. 223   9876452  212
  22.  
  23.  
  24.  
  25. আউটপুট:
  26.  
  27. 7
  28. 1
  29. 3
  30. 3
  31.  
  32. source: http://cpbook.subeen.com/2012/11/count-numbers.html
  33. ==================================================================
  34.  
  35. program proj_prob3;
  36.  
  37. {$mode objfpc}{$H+}
  38.  
  39. uses
  40.   {$IFDEF UNIX}{$IFDEF UseCThreads}
  41.   cthreads,
  42.   {$ENDIF}{$ENDIF}
  43.   Classes, sysutils
  44.   { you can add units after this };
  45.  
  46. var
  47.   i: Integer;
  48.  
  49.   inputcount: Integer;
  50.   inputs: array of String;
  51.   the_input: String;
  52.  
  53.   list: TStringList;
  54.   j:Integer;
  55.   gotnumber: Integer;
  56.  
  57. begin
  58.   WriteLn('How many number strings?');
  59.   ReadLn(inputcount);
  60.  
  61.   WriteLn('Enter ', inputcount, ' strings with numbers seperated by space:');
  62.   for i := 0 to inputcount-1 do begin
  63.     SetLength(inputs, i + 1);
  64.     ReadLn(the_input);
  65.     inputs[i] := the_input;
  66.   end;
  67.  
  68.   WriteLn('The numbers entered in each line:');
  69.   list:=TStringList.Create;
  70.   for i := 0 to Length(inputs)-1 do begin
  71.     list.Clear;
  72.     ExtractStrings([' '], [' '], pchar(inputs[i]), list);
  73.     //WriteLn(list.Count);
  74.  
  75.     gotnumber:=0;
  76.     for j := 0 to list.Count-1 do begin
  77.         if abs(strtoint(list.Strings[j])) <= 10000000 then begin
  78.           Inc(gotnumber);
  79.         end;
  80.     end;
  81.     WriteLn(gotnumber);
  82.  
  83.   end;
  84.   list.Free;
  85.  
  86.   ReadLn;
  87. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement