Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<stdlib.h>
- int main()
- {
- int i, j, n, temp;
- printf("Avtor: \n");
- printf("FN: , grupa: , kurs: \n");
- printf("Uslovie: Da se sustavi programa za obrabotka na dvumeren masiv A[N,N]\n");
- printf("kudeto dannite sa celi chisla v intervala [-500][1000]\n");
- printf("A) Da se obrazuva ednomeren masiv C[N]\n");
- printf("elementite na kojto sa maksimalnite elementi ot vseki red na masiva A\n");
- printf("B) polucheniq masiv da se sortira po golemina\n");
- printf("Otpechatvane na poluchenite rezultati sled obrabotka A) i B)\n");
- printf("Broi redove i stulbove n=");
- scanf("%d",&n);
- int A[n][n],C[n];
- /*
- Въвеждане на данни в масива А[N][N] като N е въведено предварително (на 18 ред)
- For циклите съответно се завъртат N брой пъти за да се попълни масива
- В блока на Do се приемат стойности за да се запълни масива
- В While се проверява, ако стойностите са в диапазона [-500;1000] и ако не са, цикъла се повтаря, докато не се получат желаните стойности
- */
- for(i=0;i<n;i++){
- for(j=0;j<n;j++){
- do{
- printf("A[%d][%d]=",i,j);
- scanf("%d", &A[i][j]);
- }while (A[i][j]<-500 || A[i][j]>1000);
- }
- }
- printf("Izvejdane na masiva A: \n");
- for(i=0;i<n;i++){
- for (j=0;j<n;j++){
- printf("| %d |",A[i][j]);
- }
- printf("\n");
- }
- /*
- Тук се обхожда масива отново, но на първото завъртане се създава променлива Max, която приема за стойност
- първият елемент от масива А[N][N]. Във второто завъртане се прави проверка, дали текущият елемент е по-голям от променливата Max
- и ако е по-голям, той става стойността на Max. По този начин се минава целият ред и в края на For цикъла се намира най-голямата стойност.
- Преди завършване на завъртането на първия For циъкъл стойността на Max се присвоява от C[N] масива за текущият ред и на следващото завъртане
- max отново е 0.
- */
- for (i=0;i<n;i++){
- int max = A[i][0];
- for (j=0;j<n;j++){
- if (A[i][j]>max){
- max = A[i][j];
- }
- }
- C[i]= max;
- }
- printf("Izvejdane na masiva C:\n");
- for(i=0;i<n;i++){
- printf("| %d |",C[i]);
- }
- /*
- Подреждане на масива С по големина, използвайки Bubble Sort(Метода на мехурчето)
- В този метод, във вторият For число се проверява, дали е по-голямо от това след него
- и ако е по-голямо, те си разменят стойностите. Това число минава през целият масив и
- като стигне до края, то "изплува". Това се прави N брой пъти за да може целият масив да
- бъде сортиран.
- */
- for (i=0;i<n-1;i++){
- for (j=0;j<n-i-1;j++){
- if (C[j]>C[j+1])
- {
- temp= C[j];
- C[j]=C[j+1];
- C[j+1]=temp;
- }
- }
- }
- printf("\n");
- printf("Masiva C podreden po golemina:\n");
- for (i=0;i<n;i++){
- printf("| %d |",C[i]);
- }
- printf("\n");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement