Збирка задачи

Член од
8 март 2009
Мислења
11
Поени од реакции
0
Ако сака некој да стави линк со поголеми програми ако има цели за проект. Благодарам однапред :pusk::vozbud:.
 

SkyDriver

Would like my bananna ?
Член од
31 јули 2008
Мислења
2.140
Поени од реакции
221
Еве ви неколку задачи од задачите за вежбање од CodeFu...

Значи задачиве се наменети за Java програмски јазик.
П.С. Редоследот на рундите го измешав, такада ќе ги пишам само задачите.

Задача 1.

Код:
   [FONT=&quot]Heaviest Word[/FONT]
  [FONT=&quot] [/FONT]
  [FONT=&quot]Find the the heaviest word in an array.[/FONT]
  [FONT=&quot]One word is heavier than the other if it has more vocals than the other.[/FONT]
  [FONT=&quot]Vocal characters are ('a', 'e', 'i', 'o', 'u', 'y')[/FONT]
  [FONT=&quot] [/FONT]
  [FONT=&quot]If two words have the same number of vocals, then heavier is the one which comes first alphabeticaly.[/FONT]
  [FONT=&quot] [/FONT]
  [FONT=&quot]Input parameters:[/FONT]
  [FONT=&quot]  words - array of words[/FONT]
  [FONT=&quot]  [/FONT]
  [FONT=&quot]Constraints:[/FONT]
  [FONT=&quot]  words will have 1 to 10 elements inclusive[/FONT]
  [FONT=&quot] [/FONT]
  [FONT=&quot]Return value:[/FONT]
  [FONT=&quot]  The heaviest word.[/FONT]
  [FONT=&quot]  [/FONT]
  [FONT=&quot]Class Name: [/FONT]
  [FONT=&quot]  HeaviestWord[/FONT]
  [FONT=&quot]  [/FONT]
  [FONT=&quot]Method :[/FONT]
  [FONT=&quot]  public int heaviest(String[] words)[/FONT]
  [FONT=&quot]  [/FONT]
  [FONT=&quot] [/FONT]
  [FONT=&quot]Test case 1:[/FONT]
  [FONT=&quot]  heaviest({"a", "b", "c", "e"}) = "a"[/FONT]
  [FONT=&quot]  [/FONT]
  [FONT=&quot]Test case 2:[/FONT]
  [FONT=&quot]  heaviest({"a", "b", "c", "ea"}) = "ea"[/FONT]
  [FONT=&quot]  [/FONT]
  [FONT=&quot]Test case 3:[/FONT]
  [FONT=&quot]  heaviest({"zaaa", "yaab", "c", "e"}) = "yaab"[/FONT]
  [FONT=&quot] [/FONT]
  [FONT=&quot]Test case 4:[/FONT]
  [FONT=&quot]  heaviest({"akjqwhe", "asdasd", "qwe", "asde", "asdasd", "qweqwe", "qqqqqqq", "alksjd", "aeoi"}) = "aeoi"[/FONT]
  [FONT=&quot] [/FONT]
  [FONT=&quot]Test case 5:[/FONT]
  [FONT=&quot]  heaviest({"dddd", "cccc", "xxxx", "bbbb"}) = "bbbb"[/FONT]
  [FONT=&quot] [/FONT]
  [FONT=&quot]Test case 6:[/FONT]
  [FONT=&quot]  heaviest({"bc", "b"}) = "b"[/FONT]
Задача 2.

Код:
 Prime Numbers Return the count of prime numbers between two numbers inclusive.Number 1 (one) is counted as prime number. Input parameters:  start - the starting number (integer)  end - the ending number  Constraints:  start, end will be between 1 and 10000  start will always be smaller than end Return value:  The count of prime numbers between start and end, inclusive.  Class Name:   PrimeCount  Method :  public int countThem(int start, int end)   Test case 1:  count(1, 10) = 5  Test case 2:  count(1, 11) = 6  Test case 3:  count(1, 1000) = 169 Test case 4:  count(1000, 1000) = 0 Test case 5:  count(1, 1) = 1 Test case 6:  count(100, 900) = 129 Test case 7:  count(324, 345) = 2 Test case 8:  count(12, 444) = 81 Test case 9:  count(6, 10) = 1 Test case 10:  count(8, 10) = 0
Задача 3.

Код:
 Counting  A group of children is preparing to play the game hide and seek. In order to do that they mustsomehow decide which children will be hiding and which one will do the seek.  They decide to use an old method of pseudo-randomization: forming a circle and picking out every Nth child from the circle until only one child remains - the one that will do the seek. For example, lets say that there are 5 children: Tom, Martha, Joe, Fred, Lisa. They will use thesong "kom-pa-ni-ja" to do the counting. The song has 4 syllables thus every 4th child will be dropped out of the circle. 1st round: Fred is the 4th child in the circle so he drops out. 2nd round: The circle is now Tom, Martha, Joe, Lisa. The counting continues with the first childafter the one that dropped out, in this case Lisa. The next child to drop out is Joe. 3rd round: The circle is now Tom, Martha, Lisa. The counting continues again from Lisa. She is the one that drops out too. 4th round: The circle is now Tom, Martha. The counting continues from Tom. The child that drops out is Martha. Tom is the only one left in the circle and thus he will be doing the seek.  Input parameters:  children - an array of integers. Each element represents a single child (unique number). N - the number of syllables in the counting song. Constraints:  children will have from 1 to 100 elements  elements in children are unique (i.e. for each c, k in children, c != k)  N will be between 1 and 1000 Return value:  The number identifying the child that will do the seek  Class Name:   HideAndSeek  Method signature:  public int count(int[] children, int N)   Test case 1:  count({1, 2, 3}, 10) = 2  Test case 2:  count({3, 2, 1, 5, 10}, 10) = 5  Test case 3:  count({3, 2, 1, 5, 10}, 3) = 5 Test case 4:  count({4, 32, 34, 55, 65, 21, 23, 29, 3, 2, 1, 5, 10}, 3) = 10 Test case 5:  count({6, 7, 8, 9, 21, 22, 23, 24, 25, 26, 27, 28, 29}, 3) = 29 Test case 6:  count({1}, 99) = 1 Test case 7:  count({1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50}, 71) = 9 Test case 8:  count({3, 2, 1}, 99) = 2 Test case 9:  count({3, 2, 1, 5, 10}, 1) = 10 Test case 10:  count({3, 2, 1, 5, 10}, 2) = 1
Задача 4.

Код:
 LongestRepeating Find the longest repeating substring in one string. Any two repeating strings may or may not be concatenated, but they may not overlap. To make things more interesting, the comparison method is defined with a tolerance in the followingway: Given a tolerance of N, two substrings S1 and S2 are considered equal if  - they are of same length - they contain at most N character differences. One character difference means that the characters S1[n] and S2[n] are not equal.  Input parameters: string - the string to be processed N - the tolerance of the comparison method  Constraints:  string will have length between 1 and 2500 inclusive.  all elements in string will be small letter characters (from 'a' to 'z')  error can be between 1 and 100. Return value:  The length of the longest repeating string.  Class Name:   LongestRepeating  Method :  public int longest(String string, int N)   Test case 1:  longest("xabcdeabcdx", 0) = 4  Test case 2:  longest("xbcdabcdg", 1) = 4
Задача 5.

Код:
 MovingWallsLabyrinth You are in a maze (labyrinth) and you need to exit from it. However, the maze itself has somemoving walls to make things more complicating.  The maze is represented as a chess field. Each position on the field can be either passable orimpassable. Each position is also given a coordinate. the upper left corner is marked (0, 0) and the lower right corner is (n, n). Because walls move we need to represent the time. The concept of time is represented as following:  - when you start from the starting position (0, 0) the time is marked as 0 - when you make the first move the time is marked as 1 - when you make the next move the time is incremented by one, and so on In other words the time is the number of moves you've made up to the current point. The start position is upper left (0,0) and the end position is the lower right. You can move only horizontally and vertically (not diagonally) and you can't exit the boundaries of the maze. The labyrinth is given in an array of strings, where each string represents one row, starting fromtop towards bottom. Each string is the same length and composed only of the characters ' ' (space)and '#'. Space means a passable position and '#' is a wall (impassable). You are also given coordinates and times in which some of the positions of the maze arenot passable (a wall has been erected). If a position becomes impassable at time T it doesn't meanthat it will stay impassable a the time T+1.  The coordinates (x, y, time) are given in separate arrays. E.g. erecty = {2, 3}erecty = {4, 3}erecttime = {5, 8} This input is interpreted  as following:  - the position (2, 4) will not be passable at time 5. - the position (3, 3) will not be passable at time 8.  Your task is to find the smallest time by which you can go from the start position to the end.If there is no path, return -1. Input parameters:  maze - an array of strings representing the maze. Each element of this array is of the same length and composed only of ' ' (passable) and '#' impassable.   erectx - is an array of the x coordinates of the erected walls  erecty - is an array of the y coordinates of the erected walls  erecttime - is an array of the time at which the walls have been erected  Constraints:  maze will have between 1 and 50 elements inclusive.  each element of maze will have same number of characters, between 1 and 50 inclusive.  erectx, erecty, erecttime will have same number of elements, each between 1 and 50 inclusive. Class Name:   MovingWallsLabyrinth  Method :  public int smallest(String[] maze, int[] erectx, int[] erecty, int[] erecttime)   Test case 1:  smallest(new String[] {"  #", "# #", "#  ", new int[] {}, new int[] {}, new int[] {}) = 4 Test case 2:  smallest(new String[] {"  #", "# #", "#  ", new int[] {1, 1, 1}, new int[] {1, 1, 1}, new int[] {1, 2, 3}) = 6
Задача 6.

Код:
 Shortest Palindrom Palindrom is a string which gives the same value when read from left to right and when read from right to left.e.g. "aba", "abba" and "xxxxxx" are palindromes. You are given an array of strings, and you need to return the smallest alphabetical palindrom. Input Parameters:  words - an array of words Constraints:    words will have up to 20 elements  each element will have at least 1 character  each element will be up to 50 characters long  Return value:  Smallest alphabetical palindrom. If there is no palindrom, return an empty string Class Name:  ShortestPalindrom Method signature:  public String shortest(String[] words)  Test Case 1:  shortest({"aba", "abba", "xxxx"}) = "aba" Test Case 2:  shortest({"ab", "aba"}) = "aba" Test Case 3:  shortest({"xyzzyx", "abc", "cde"}) = "xyzzyx" Test Case 4:  shortest({"abc", "cde"}) = ""
Задача 7.

Код:
 Fibonacci Fibonacci numbers are numbers generated with the function  fib(x) = fib(x-1) + fib(x-2)   // for x >= 2and fib(1) = 1, fib(0) = 0 You are to return the x-th element of the fibonacci numbers Input Parameters:  x - the argument of the fib(x) function Constraints:    x will be between 1 and 50 inclusive Return value:  Fibonacci number Class Name:  Fibonacci Method signature:  public int fibonacci(int x)  Test Case 1:  fibonacci(0) = 0 Test Case 2:  fibonacci(1) = 1 Test Case 3:  fibonacci(2) = 1 Test Case 4:  fibonacci(3) = 2 Test Case 5:  fibonacci(4) = 3 Test Case 6:  fibonacci(5) = 5 Test Case 7:  fibonacci(10) = 55 Test Case 8:  fibonacci(23) = 28657 Test Case 9:  fibonacci(43) = 433494437 Test Case 10:  fibonacci(44) = 701408733 Test Case 11:  fibonacci(45) = 1134903170
 

SkyDriver

Would like my bananna ?
Член од
31 јули 2008
Мислења
2.140
Поени од реакции
221
Задача 8.

Код:
 Gambler One notorious gambler fighting to stay afloat started to keep a daily record of his gains and losses. After some while he wanted to find out which period if his gambling was the luckiest one. By-hand calculations took him too much time so he turns to you.  You must write a program that will find the luckiest period of the gambler. The luckiest period ofthe gambler is defined as a period in his daily life in which the total sum of gains and loses is larger than the corresponding sum in any other period. Input Parameters:  gambling - an integer array containing the daily gain or loss (positive or negative number) Constraints:    The gambling array will have at most 50 elements  each element in the gambling array will be between -100 and 100 inclusice  Return value:  The length in days of the luckiest period of the gambling array  Class Name:  Gambler Method signature:  public int luckiestPeriod(int[] gambling)  Test Case 1:  luckiestPeriod({-10, 20, -10}) = 1  his lucky period is only 1 dayTest Case 2:  luckiestPeriod({20, 40, -100, 60, -20, 40, -30, 50, -60}) = 5  the luckiest period is from day 3 to day 7 (where he gains 100 points), so the length is 5 days
Задача 9.

Код:
 Reverse Polish Notation Reverse Polish Notation is best known for its use in certain calculators, it is also commonly usedin virtual machines such as the JVM. The distinguishing feature of Reverse Polish Notation is that arithmetic operators are written after their arguments. For example, the infix expression "3 - 4" would be written as "3 4 -". Similarly, the infix expression "(3 - 4) * 5" would be written as "3 4 - 5 *".  No parentheses are necessary in the Reverse Polish Notation expressions. No confusion is possible, because the infix expression "3 - (4 * 5)" would be written as "3 4 5 * -". Operations '+', '-' and '*' has their standard meaning of addition, subtraction and multiplication. Unary negation operator is '~', "-5" would be written "5 ~", "-(3 + 4)" would be writen "3 4 + ~". Input parameters:  expression as a String Constraints:   Input will contain only digits ('0'-'9'), arithmetic operators ('+', '-', '*', '~'),  and spaces (' ').   Only single-digit numbers will be allowed, and all numbers and operators will be  separated by single spaces, with no leading or trailing spaces.  Expression will be a valid Reverse Polish Notation expression maximum 100 characters in length.  The result will be an integer and there will be no integer overflow during the calculations. Return value:  The result of expression evaluation. Class Name:  ReversePolishNotation Method signature:  public int evaluate(String expr) Test Case 1:  evaluate("5 4 +") = 9 Test Case 2:  evaluate("7 3 -") = 4 Test Case 3:  evaluate("3 5 *") = 15 Test Case 4:  evaluate("5 ~ ~ ~") = -5 Test Case 5:  evaluate("2 3 + 6 ~ 7 * -") = 47 Test Case 6:  evaluate("9 8 7 * * 4 5 - -") = 505 Test Case 7:  evaluate("3 ~ 2 6 - * 5 4 + - 7 ~ -") = 10
Задача 10.

Код:
 Soldiers lineup Soldiers are ordered to stand in line each morning. They always choose their positions randomly tothe displeasure of their general. One evening, the soldiers learn that their strict general hassecretly recorded their standing positions from that morning, and that he will be checking theirpositions the next morning to make sure they are exactly the same. Each soldier only remembers one thing from that morning: the number of people to his left that weretaller than him. Using this information, you must reconstruct the lineup from that morning.  Input parameters:   Array of integers, the i-th element of which represents the number of taller  soldiers to the left of the soldier with height i (where i is a 1-based index). Constraints:  There are n soldiers, each with a different height between 1 and n, inclusive. The input will   contain between 1 and 10 elements, inclusive. The input array is zero-based. Return value:  Array of integers containing the heights of the soldiers from left to right in the lineup. The input   is guaranteed to produce a valid and unique output. Class Name:  SoldiersLineup Method signature:  public int[] reconstruct(int[] left) Test Case 1:  reconstruct({2, 1, 1, 0}) = {4, 2, 1, 3}  The soldier of height 1 remembered there were 2 soldiers taller than him to his left.  The soldier of height 2 remembered there was 1 soldier taller than him to his left.  The soldier of height 3 remembered there was 1 soldier taller than him to his left.  The soldier of height 4 remembered there was no solder taller than him to his left.  The original order from left to right must have been 4, 2, 1, 3.Test Case 2:  reconstruct({0, 0, 0, 0, 0}) = {1, 2, 3, 4, 5} Test Case 3:  reconstruct({5, 4, 3, 2, 1, 0}) = {6, 5, 4, 3, 2, 1} Test Case 4:  reconstruct({6, 1, 1, 1, 2, 0, 0}) = {6, 2, 3, 4, 7, 5, 1}
Задача 11.

Код:
 Number of Characters Return the number of different characters used in a string Input parameters:  string - string for checking  Constraints:  string will be between 1 and 1000 characters long  string will consist of small letter characters 'a' to 'z' inclusive Return value:  The number of chracters.   Class Name:  NumberOfCharacters Method signature:  public int countDistinct(String string) Test Case 1:  countDistinct("a") = 1 Test Case 2:  countDistinct("abcaea") = 4  string constists of 4 different characters 'a', 'b', 'c' and 'e'Test Case 3:  countDistinct("zaaayaabce") = 6 Test Case 4:  countDistinct("akjqwheasdasdqweasdeasdasdqweqweqqqqqqqalksjdaeoi") = 12 Test Case 5:  countDistinct("ddddccccxxxxbbbb") = 4 Test Case 6:  countDistinct("cb") = 2 Test Case 7:  countDistinct("akjqqwerjkhhjjklqwerkjhkljqwherkjwheasdasdqweasdeasdasdqweqweqqqqqqqalksjdaeoi") = 13 Test Case 8:  countDistinct("akopiuqweorkljhqwekrjhoiuyqwherkjwheasdasdqweasdeasdasdqweqweqqqqqqqalksjdaeoi") = 16 Test Case 9:  countDistinct("aaaaaaaaaaxxxxxxxxxxxxxxxxxaaaaaaaaaaaaaaxxxxxxxxxxxxxxaaaaaaaaaaaaaaaaaaaaxxx") = 2 Test Case 10:  countDistinct("uuuuuuuuiiiuiuiuiuiuiiuiuiiiiiiiiiiuuiuiuiuiuiuuuuuuuuuuiuiuiiiiiiiiiiiuiuiuiu") = 2
Задача 12.

Код:
 CodeFu numbers CodeFu numbers are numbers that have same final multiplication and same final sum of their digits. Final multiplication is when all the digits are mutiplied until we have a number from 0 to 9E.g.  389 -> 3 * 8 * 9 = 216 -> 2 * 1 * 6 = 12 -> 1 * 2 = 2  387 -> 3 * 8 * 7 = 168 -> 1 * 6 * 8 = 48 -> 4 * 8 = 32 -> 3 * 2 = 6 Final sum is when all the digits are added until we have a number from 0 to 9E.g.  389 -> 3 + 8 + 9 = 20 -> 2 + 0 = 2  387 -> 3 + 8 + 7 = 18 -> 1 + 8 = 9  389 is a CodeFu number and 387 is not Input parameters:  start and end          Constraints:  start, end are numbers between 1 and 1000 inclusive  end is equal or bigger than start Return value:  Count of CodeFu numbers. Class Name:  CodeFuNumbers Method signature:  public int count(int start, int end) Test Case 1:  count(1, 1) = 1 Test Case 2:  count(1, 100) = 10 Test Case 3:  count(5, 5) = 1 Test Case 4:  count(10, 20) = 0 Test Case 5:  count(11, 97) = 1 Test Case 6:  count(300, 400) = 12 Test Case 7:  count(400, 500) = 2 Test Case 8:  count(500, 600) = 0 Test Case 9:  count(700, 800) = 6 Test Case 10:  count(1, 1000) = 70
Задача 13.

Код:
 Longest Palindrom Subsequence Palindrom is a string which gives the same value when read from left to right and when read from right to left.e.g. "aba", "abba" and "xxxxxx" are palindromes.     "abab" is not a palindrom, since when read from right to left it is "baba" You are given a string and you need to find the length of the longest subsequence which is a palindrom.Subsequence is a subset of characters from the string in the same order as they appear in the stringbut are not necesarilly adjascent in the string itself. Subcequence of string can be created by removing certaing characters. E.g. String "abcdef" has possible subsequences: "acdf", "cef", "af"          "dc" is not a subsequence, since "c" is before "d" in the string.     E.g. String "abcdbea" has a palindrom subsequence "abcba".  Input parameters:  string - string to search in  Constraints:  string will be between 1 and 1000 characters long Return value:  The length of the longest palindrom subsequence.   Class Name:  PalindromSubsequence Method signature:  public int longest(String string) Test Case 1:  longest("a") = 1 Test Case 2:  longest("abcaea") = 3 Test Case 3:  longest("zaaayaabce") = 5 Test Case 4:  longest("akjqwheasdasdqweasdeasdasdqweqweqqqqqqqalksjdaeoi") = 19 Test Case 5:  longest("ddddccccxxxxbbbb") = 4 Test Case 6:  longest("cb") = 1 Test Case 7:  longest("akjqqwerjkhhjjklqwerkjhkljqwherkjwheasdasdqweasdeasdasdqweqweqqqqqqqalksjdaeoi") = 27 Test Case 8:  longest("akopiuqweorkljhqwekrjhoiuyqwherkjwheasdasdqweasdeasdasdqweqweqqqqqqqalksjdaeoi") = 27 Test Case 9:  longest("aaaaaaaaaaxxxxxxxxxxxxxxxxxaaaaaaaaaaaaaaxxxxxxxxxxxxxxaaaaaaaaaaaaaaaaaaaaxxx") = 62 Test Case 10:  longest("uuuuuuuuiiiuiuiuiuiuiiuiuiiiiiiiiiiuuiuiuiuiuiuuuuuuuuuuiuiuiiiiiiiiiiiuiuiuiu") = 57
Задача 14.

Код:
 Different Digits For all numbers between start and end, return the numbers that have all digits different.e.g.   123 has all digits different  122 has not all digits different (2 appears twice)  Between 120 and 130 inclusive, there are 9 different digit numbers120, 123, 124, 125, 126, 127, 128, 129, 130 121, 122 have not all digits different. Input parameters:  start, end - start and end numbers inclusive  Constraints:  start and end are between 1 and 100000  end is equal or bigger than start Return value:  The count of numbers with different difits.   Class Name:  DifferentDigits Method signature:  public int different(int start, int end) Test Case 1:  different(1, 1) = 1 Test Case 2:  different(1, 10) = 10 Test Case 3:  different(120, 130) = 9 Test Case 4:  different(3000, 4000) = 504 Test Case 5:  different(5000, 6000) = 504 Test Case 6:  different(23323, 45545) = 6804 Test Case 7:  different(4434, 12332) = 3184Test Case 8:  different(3434, 55555) = 17115Test Case 9:  different(22323, 99999) = 23520Test Case 10:  different(1, 100000) = 32490
 

SkyDriver

Would like my bananna ?
Член од
31 јули 2008
Мислења
2.140
Поени од реакции
221
Еве неколку полесни задачи...

Значи програмски јазик: Намменети за C++

1. Направи приказ на основна и изведена класа, каде основната се наследува како јавна класа.

2. Направи приказ на основна и изведена класа, каде основната се наследува како приватна класа.

3. Направи приказ на класа со protected членки.

4. Направи приказ на основна и изведена класа, каде основната класа содржи protected членки.

5. Направи програма која содржи основна класа „Krug“ и изведена класа „Обоен круг“. Програмата треба да илустрира како објект од изведената класа содржи членки од основната класа.

6. Направи програм кој содржи класа „Krug“ и „OboenKrug“. Програмата треба да илустрира употреба на параметризирани конструктори за наследување.

7. Да се напише програма за класа со име „moja_klasa“ која има приватна податочна членка „а“ која има реална вредност, методи за пристап до неа, конструктор и деконструктор.
- Во функцијата „main()“ креирај низа од „n(max 20)“ објекти.Бројот на елементи и вредностите за секој објект од низата да се внесат од тастатура. Потоа да се прикаже низата, сумата и средната вредност на внесените вредности.

8. (Малце дебилна е задачава али нема везе)
Креирај објект со динамичка алокација на меморија со користење на операторите „new“ и „delete“.

9. Дадена е следнава класа

Код:
class X{
public:
int x, y, z;
X();
X(int);
X(int, int);
X(int, int, int);
void show(){
cout<<"x="<<x<<" y="<<y<<" z="<<z<<endl;
}
};
и функцијата „main()“

Код:
void main()
{
X obj1, obj2(5), obj3(3, 4), obj4(100,
200, 300);
obj1.show();
obj2.show();
obj3.show();
obj4.show();
}
Имплементирај ги нејзините функциски членки такашто програмата ќе го даде следниов излез:

x=0 y=0 z=0
x=5 y=0 z=0
x=3 y=4 z=0
x=100 y=200 z=300
- - - - - - - - -

10. Класата
Код:
class primer {
double a;
public:
primer(double x);
~ primer();
int get_a();
};
main
Код:
void main()
{
primer A(100);
cout<<"Kvadratniot koren na "
<<A.get_a()<<" e"
<<kvadraten_koren(A)<<endl;
}
Имплементирај ги нејзините функциски членки и функцијата kvadraten_koren(), такашто програмата ќе го даде следниот излез:

konstruiram 100
unistuvam 100
Kvadratniot koren na 100 e 10
unistuvam 100

-- - - - - - - - - - - - - - - - - - - - -

Решавајте ги овие, утре-задутре ќе пишам други лесни задачи слични на овие.
 

аллександар

Вечно ненаспан
Член од
5 мај 2006
Мислења
7.381
Поени од реакции
2.522
Значи јас учам на Американ Колеџ и имаме една домашна по програмирање и сите кукаме од таа домашна. викаат дека е многу заебана ( искрено кажано бев и на професор за домашната и џабе.. не успеа ни професорот да ја среди задачава ) па би ве замолил вас ако некој знае и ако некој може да проба да ја среди задачава. Исто така се надевам и дека ви е добар предизвик ( на оние кои сакаат да научат повеќе )



 

SkyDriver

Would like my bananna ?
Член од
31 јули 2008
Мислења
2.140
Поени од реакции
221
Тупење мозок е ваква задача, не ми се веерува дека некој ќе се нафати да ја решава. Иначе за учење на вакви задачи се учи дел по дел (од сите работи кои се бараат во задачата) и после како тест се даваат вакви задачи демек во задачата да искористиш од се по нешто од материјалот кој сте го учеле...

Разгледај ја задачава многу е слична на тоа што вас ви го бараат може ќе ти заврши работа:

Да се направи програма која ќе ја користи користи класата Штедач и ќе овозможи со помош на мени:

Внесување на нов штедач во системот.
Приказ на податоците.
Уплата на средства.
Исплата на средства(со контрола дали е можна таква исплата).
Приказ на салдо на даден штедач.

Код:
class Stedac
{
 public:
        void vnesi_podatoci(int);
        void prikazi_podatoci();
        void uplata(unsigned long i);
        void isplata(unsigned long i);
        long sostojba();
 
  private:
        int broj;
        char imeprezime[30], adresa[50];
        long saldo;
};
Решение:

Код:
#include <iostream>
using namespace std;
class Stedac
{
 public:
        void vnesi_podatoci(int);
        void prikazi_podatoci();
        void uplata(unsigned long i);
        void isplata(unsigned long i);
        long sostojba();
private:
        int broj;
        char imeprezime[30], adresa[50];
        long saldo; 
};
void Stedac::vnesi_podatoci(int a)
{
                cout << "Vnesi ime i prezime: ";
                cin.getline(imeprezime,80);
                cout << "Vnesi adresa: ";
                cin.getline(adresa,80);
                saldo=0;
                broj=a;
}
void Stedac::prikazi_podatoci()
{
                cout << "Broj: ";
                cout << broj;
                cout << "\n "<<imeprezime;
                cout << "\n "<<adresa<<endl;
}
void Stedac::uplata(unsigned long iznos)
{
        saldo=saldo+iznos;
}
void Stedac::isplata(unsigned long iznos)
{
        if (iznos>saldo)
                cout << "Nema tolku pari na smetkata \n";
        else
                saldo=saldo-iznos;
}
long Stedac::sostojba()
{
        return saldo;
}
void main()
{
        int br, i,n,m;
        unsigned long upl, ispl;
        cout<<"Broj na stedaci:";
        cin>>br;
        Stedac *stedac = new Stedac[br];
            while(i!=6)
            { 
              cout<<"vnesi opcija"<<endl;
              cout<<"1.vnesuvanje na nov stedac"<<endl;
              cout<<"2.pecatenje na stedac"<<endl;
              cout<<"3.uplata"<<endl;
          cout<<"4.isplata"<<endl;
              cout<<"5.salado za stedac"<<endl;
              cin>>i;
              switch(i)
              {
              case 1:
                    {
                          stedac[n].vnesi_podatoci(n);
                    n++;
                    break;
              }  
              case 2:
                    {  
                         int h;
                         cout<<"broj na stedac";
                         cin>>h;
                          stedac[h].prikazi_podatoci();
                    n++;
                    break;       
            }
            case 3:
                  {
                        int h;  int m;
                        cin>>h; cin>>m;
                        stedac[h].uplata(m);
                               break;
                  }
            case 4:
                  { int h;
                  int m;
                  cin>>h;
                  cin>>m;
                        stedac[h].isplata(m);
                              break;
                  }
            case 5:
                  {int n;
                  cin>>n;
                  cout<<"stedacot na smetka ima"<<stedac[n].sostojba();
                  break;}
            case 6:
                  {cout<<"prijatno";break;}
            default:{cout<<"pogresen izbor"<<endl;}
              }
          }
}
 

аллександар

Вечно ненаспан
Член од
5 мај 2006
Мислења
7.381
Поени од реакции
2.522
ма јок... не е ни малце слична... од мојава задача main() има бајаги код... ти имаш една класа тука има 4 класи + една помошна треба.. бај д веј задачава е дадена за преклопување на оператори... еве ти го мојот код до каде стигнав јас и на маин заглавувам... немам теоретски шанси да ја решам задачава ( барем јас )

Код:
#include <iostream>
#include <string.h>
using namespace std;
class vraboten
{

private:
    char ime[20], prezime[20];
    int godina_na_vrabotuvanje;

public:
    vraboten ()
    {
        
    }
   void postavi (char ime1[], char prezime1[], int godina_na_vrabotuvanje1)
    {
        strcpy ( ime,ime1 );
        strcpy ( prezime,prezime1 );
        godina_na_vrabotuvanje=godina_na_vrabotuvanje1;
    }


    virtual void prikazi_podatoci ()
    {
        cout<<" Ime" <<ime<<endl;
        cout<<" Prezime" <<prezime<<endl;
        cout<<" godina na vrabotuvanje " <<godina_na_vrabotuvanje<<endl;
    }

};

class profesor:public vraboten
{

private:

        char zvanje[20];
        char oblast[20];
        int br_predmeti;//br_predmeti

public:

    profesor ():vraboten()
        {
            
        }

    void postavi (char zvanje1[], char oblast1[], int br_predmeti1)
    {
        strcpy ( zvanje,zvanje1 );
        strcpy ( oblast,oblast1 );
        br_predmeti=br_predmeti1;
    }

    virtual void prikazi_podatoci ()
    {
        cout<<" zvanje " <<zvanje<<endl;
        cout<<" oblast " <<oblast<<endl;
        cout<<" br na predmeti " <<br_predmeti<<endl;
    }
};

class asistent:public vraboten
{

private:

        char zvanje[20];
        char mentor[20];
        int br_predmeti;

public:

    asistent ():vraboten()

        {

        }


    void postavi (char zvanje1[], char mentor1[], int br_predmeti1)
    {
        strcpy ( zvanje,zvanje1 );
        strcpy ( mentor,mentor1 );
        br_predmeti=br_predmeti1;
    }

    virtual void prikazi_podatoci ()
    {
        cout<<" zvanje " <<zvanje<<endl;
        cout<<" mentor " <<mentor<<endl;
        cout<<" br na predmeti " <<br_predmeti<<endl;
    }
};

class demonstrator:public vraboten
{

private:

      
        
        int rabotno_vreme;//rabotno_vreme

public:

        demonstrator ():vraboten()
        {

        }


   void postavi (int rabotno_vreme1)
    {
        rabotno_vreme=rabotno_vreme1;
    }

    virtual void prikazi_podatoci ()
    {
        cout<<" rabotno vreme " <<rabotno_vreme<<endl;
    }
};

void main ()
{ 
        vraboten*  rang;
         vraboten* p[100];
          vraboten*  a[100];
          demonstrator*  d[100];
    int izbor, izbor1, n,h, i,j,k, godina_na_vrabotuvanje1, br_predmeti,m,l;
        char ime1[20], prezime1[20], zvanje1[20], oblast1[20], mentor1[20], rabotno_vreme[20];
    i=j=k=0;
    do
    {
    cout<<" 1. dodavanje na nov vraboten vo nekoja od listite \n";
    cout<<" 2. menuvanje na podatocide za nov vraboten \n";
    cout<<" 3. prikazuvanje na nekoja od listite \n";
    cout<<" 4. prikazuvanje na vkupen minat trud ( zbir od godinite na staz za site vraboteni \n ";
    cout<<" 5. kraj\n\n";

        cin>>izbor;
    switch (izbor)
    {

    case 1: cout<<"1. profesor\n 2. asistent \n 3. demonstrator\n ";
            cin>>izbor1;
                     switch (izbor1)
                     {
                      case 1:

                     cout<<"Vnesi ime \n";
                     cin>>ime1;

                     cout<<"Vnesi prezime \n";
                      cin>>prezime1;

                     cout<<" godina na vrabotuvanje ";
                     cin>>godina_na_vrabotuvanje1;

                     cout<<" zvanje \n";
                     cin>>zvanje1;

                     cout<<" Oblast \n";
                   cin>>oblast1;

                     cout<<" broj na predmeti";
                     cin>>br_predmeti;
                     rang =new profesor;
                     
                
                     rang->postavi(zvanje1, oblast1,br_predmeti);
                     p[i]=rang;
                      n=i;
                      i++;
                         break;
                     case 2:
                         
                         cout<<"Vnesi ime \n";
                         cin>>ime1;

                         cout<<"Vnesi prezime \n";
                          cin>>prezime1;

                         cout<<" godina na vrabotuvanje ";
                         cin>>godina_na_vrabotuvanje1;

                         cout<<" zvanje \n";
                         cin>>zvanje1;

                         cout<<" Mentor \n";
                         cin>>mentor1;

                         cout<<" broj na predmeti";
                         cin>>br_predmeti;
                         rang =new asistent;
                         
                         rang->postavi(zvanje1, mentor1,br_predmeti);
                         
                         a[j]=rang;
                    
                         m=j;
                         j++;
                         break;
                     case 3:
                          
                         cout<<"Vnesi ime \n";
                         cin>>ime1;

                         cout<<"Vnesi prezime \n";
                          cin>>prezime1;

                         cout<<" godina na vrabotuvanje ";
                         cin>>godina_na_vrabotuvanje1;

                         cout<<" zvanje \n";
                         cin>>zvanje1;

                         cout<<" rabotno vreme";
                         cin>>rabotno_vreme;
                         rang =new demonstrator;
                         rang->postavi(
                         d[k]=rang;
                         d[k].postavi(rabotno_vreme);
                         l=k;k++;
                         break;

                     }
             break;
    case 3: cout<<"Za sto da lista 1/profesor 2. asistent 3.demonstrator";
             cin>>izbor1;
             switch(izbor1)
             {
             case 1: for(h=0;h<n;h++)
                     {
                    
                         p[h]->prikazi_podatoci();
                        
                     }
                     break;
             }

    }
}while (izbor<5);
}[
 
Член од
14 јануари 2008
Мислења
1.341
Поени од реакции
162
До кога ти треба решена? Сега немам време ама за викенд можам да ти ја решам.
 

аллександар

Вечно ненаспан
Член од
5 мај 2006
Мислења
7.381
Поени од реакции
2.522
pa pomina toa so mi trebase ama seuste nikoj nemoze da mi ja resi.. ako mozes resi ja i prati ja na PP ili pa postni ja be i na forumot.. ne e problem so...
 

SkyDriver

Would like my bananna ?
Член од
31 јули 2008
Мислења
2.140
Поени од реакции
221
Програмски јазик: Наменети за C++ (иначе можат да се решаваат во било кој ООП јазик).

Задача број 1.

Да се изгради класа Conv која ќе служи за претворање на валути. Класата треба да содржи информација за среден курс, конструктор со еден параметар и две методи: float Pretvori(float) и float PretvoriObratno(float) кои ќе служат за претворање на валутата според дадениот курс и обратнo. Функцијата Pretvori го множи пренесениот број со средниот курс и го враќа резултатот, а PretvoriObratno го дели пренесениот број со курсот и го враќа резултатот.
Да се изградат две класи кои ќе служат за претворање на валути од евра во денари и обратно (со курс 61.5) и долари во денари и обратно (со курс 46.1). Истите да бидат наследени од класата Conv и во целост да ги користат нејзините функционалности.
Да се направи класа InterConv која ќе се состои од два објекти од класата Conv. Истата треба да содржи конструктор со два аргументи, функција pretvori која ќе претвара вредност од странската валута од првиот објект кон странската валута од вториот објект (пример евра во долари) и функција pretvoriObratno која ќе ја врши обратната работа.

Main функција за тестирање:
Код:
int main()
{
ConvEvro evr;
ConvDolar dlr;
Int br;
cout <<"Vnesi broj ";
cin >>br;
cout << br <<" evra= "<<evr.pretvori(br)<<" denari"<<endl;
cout << br <<" denari = "<<evr.pretvoriObratno(br) << " evra"<<endl;
cout << br <<" dolari = "<<dlr.pretvori(br) << " denari" <<endl;
cout << br <<" denari = "<<dlr.pretvoriObratno(br) << " dolari"<<endl;
Conv cv1(61.5), cv2(46.1);
InterConv inCv(cv1, cv2);
cout << br <<" evra = " << inCv.pretvori(br) << " dolari"<<endl
cout << br <<" dolari = " << inCv.pretvoriObratno(br) << "evra"<<endl;
}
Задача број 2.

Да се напише класа NumberGenerator која што ќе има задача да создава броеви во одредено поле според одредено правило. Во рамките на класата треба да се чува информација за степен (int). Да се дефинира конструктор со еден аргумент и функција Popolni која прима четири аргументи: покажувач кон полето од целобројни вредности кое треба да се пополни, почетна вредност, стартна позиција за пополнување и крајна позиција за пополнување. Пополнувањето се врши на следниов начин:
Нека е дадено поле од 30 елементи. Степенот е 2 а функцијата е повикана со аргументите (pole, 3, 22, 26). Со овој повик полето треба да се промени на следниов начин:

Pole[22]=3^2=9;
Pole[23]=4^2=16;
Pole[24]=5^2=25;
Pole[25]=6^2=36;
Pole[26]=7^2=49;

Од оваа класа да се наследат три класи: LinearGenerator, KvadratGenerator, KubGenerator коишто ќе имаат степени 1,2 и 3 соодветно. Дополнително за класата KubGenerator да се преоптовари операторот << со што на излез ќе се прикажува историјата на работата на објектот т.е. кои се броеви се генерирани од истиот без разлика дали станува збор за едно или повеќе полиња и дали броевите се повторуваат. Пример:

KubGenerator kGen;
kGen.Popolni(pole, 2, 22, 23); //pole[22]=8, pole[23]=27
kGen.Popolni(pole, 3, 24, 25); //pole[24]=27, pole[25]=64
kGen.Popolni(pole, 2, 26, 27); //pole[26]=8, pole[27]=27
cout <<kGen;
//излез: 8 27 27 64 8 27

Совет: за да се овозможи ова, во рамките на класата KubGenerator ќе се чува поле кое ќе се пополнува динамички. Елементите во него ќе се полната во рамките на функцијата popolni.

Main функција за тестирање:
Код:
int main()
{
int pole[5]{0};
for (int i=0; i<5; i++) pole[i]=0;
for (int i=0; i<5; ++) cout<<"pole["<<i<<"]="<<pole[i]<<endl;
NumberGenerator gn(2);
gn.popolni(pole, 3, 1, 3);
for (int i=0; i<5; ++) cout<<"pole["<<i<<"]="<<pole[i]<<endl;
LinearGenerator lnGen;
lnGen.popolni(pole, 5, 0, 2);
for (int i=0; i<5; ++) cout<<"pole["<<i<<"]="<<pole[i]<<endl;
KvadratGenerator kvGen;
kvGen.popolni(pole, 10, 3, 4);
for (int i=0; i<5; ++) cout<<"pole["<<i<<"]=”<<pole[i]<<endl;
KubGenerator kbGen;
kbGen.popolni(pole, 3, 0, 3);
kbGen.popolni(pole, 2, 1, 2);
kbGen.popolni(pole, 6, 3, 4);
for (int i=0; i<5; ++) cout<<"pole["<<i<<"]="<<pole[i]<<endl;
cout <<kbGen<<endl;
}
Задача број 3.

Да се напише класа Figura во која ќе ги има следниве чисти виртуелни функции: perimetar(), plostina(), како и виртуелната функција prikaziInfo(), која ги печати периметарот и плоштината. Потоа да се изведат две класи Elipsa и Pravoagolnik, во кои ќе се чуваат податоци за радиусите на елипсата, односно страните на правоаголникот. Да се напишат конструктори со соодветните параметри. Од класата Elipsa да се наследи класа Krug и од класата Pravoagolnik да се наследи класа Kvadrat. Класата Кrug во конструкторот прима аргумент за радиусот, а конструкторот на класата Kvadrat прима аргумент за должината на страната. Да се преоптоварат операторите за споредба ==, !=, >, <, со тоа што се смета дека еден Krug и еден Kvadrat се еднакви доколку имаат еднаква плоштина и периметар, односно поголема или помала плоштина соодветно. Истата споредба важи и за останатите комбинации на фигури. Потоа да се искористи следнава главна функција:

Код:
int main() { Figura *f[] = { new Krug(2), new Elipsa(2,2), new Krug(5), new Elipsa(5,2), new Pravoagolnik(2,3) , new Kvadrat(5), 0 };
for(int i = 0; f[i]; i++)
{
f[i]->prikaziInfo();
}
cout << endl << endl;
if(*f[0] == *f[1])
{
cout << "Ednakvi figuri" << endl;
}
else
{
cout << "Neednakvi figuri" << endl;
}
if(*f[2] > *f[1])
{
cout << "Prvata figura e pogolema" << endl;
}
else
{
cout << "Vtorata figura e pogolema" << endl;
}
for(int i = 0; f[i]; i++)
{
delete f[i];
}
system("pause");
return 0;
}
Излезот од програмата треба да биде:

KRUG
Radius: 2
Perimetar: 12.56
Plostina: 12.56
-
ELIPSA
Radius1: 2
Radius2: 2
Perimetar: 12.56
Plostina: 12.56
-
KRUG
Radius: 5
Perimetar: 31.4
Plostina: 78.5
-
ELIPSA
Radius1: 5
Radius2: 2
Perimetar: 21.98
Plostina: 31.4
-
PRAVOAGOLNIK
Strana a: 2
Strana b: 3
Perimetar: 10
Plostina: 6
-
KVADRAT
Strana: 5
Perimetar: 20
Plostina: 25
-
Ednakvi figuri
Prvata figura e pogolema.
 
Член од
11 септември 2008
Мислења
106
Поени од реакции
89
Moze nekoj da postira nekoi poslozeni zadaci vo C matrici po moznost.Ako se reseni uste poubavo:kesa:fala odnapred
 

SkyDriver

Would like my bananna ?
Член од
31 јули 2008
Мислења
2.140
Поени од реакции
221
Хмм... вака... напиши програма која ќе содржи матрица 8x8 и истата ќе се полни со едноцифрени цели броеви. Одкако матрицата ќе се наполни треба да се пресметаат збировите на сите колони и редови и истите да се испечатат заедно со нивниот збир.

Пример како треба да биде излезот:
Збировите на колоните се: 10, 15, 20, 5, 5, 15, 10, 5.
Збировите на редовите се: 5, 15, 10, 5, 15, 10, 20, 5.
Вкупниот збир на збировите на колоните и збировите на редовите изнесува: 170
_____________________

Друга задача... напиши програма која ќе содржи матрица 6x6 и истата ќе се полни со едноцифрени цели броеци. Одкако матрицата ќе се наполни програмот треба на екран да ја испечати матрицата такашто сите парни броеви ќе бидат заменети со * (ѕвездичка), а сите 0 (нули) ќе бидат заменети со # (тараба). Примитивните податочни типови не се битни.

Пример за излезот:
1 3 * 5 * *
* 5 1 5 * 7
7 * # 7 5 *
# * * # 1 1
9 3 3 7 # 1
* # 5 3 * 9
______________________

Трета задача... напиши програм кој ќе содржи матрица 5x5 и истата ќе се полни само со зборови (без знаци). Програмата треба како излез да ја испечати матрицата по обратен редослед и зборовите во испечатената матрица да бидат без замогласките (a, e, i, o, u).

Пример за матрица 3x3:
Ако влезот е:
jajce, kapak, monitor
maus, tetris, cigara
tefter, masa, krevet

Излез ќе биде:
krvt, ms, tftr
cgr, ttrs, ms
mntr, kpk, jjc
_____________________

Други неможам да смислам зашо сеа станав од спиење и не ми работи баш мозокот :/
П.С. Матриците неможат да бидат сложени, може само алгоритмите да бидат сложени... ако мислеше за такви задачи :toe:
 
Член од
11 септември 2008
Мислења
106
Поени од реакции
89
Fala skydriver ke probam da gi resam.Inace za koga mislev za poslozeni matrici mislev bas na toa na algoritmot dobro me ispravi:uvo:
 

Kajgana Shop

На врв Bottom