Lab Vezhba 7

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 1

COURSES   Златко Миленков

Структурно програмирање-2022/2023/Z
Home / Courses / ФИНКИ / 2022-23 Зимски / Сп-2022/2023/Z / Лабораториски вежби / Лабораториска вежба 7 (од дома за група Б)

Quiz navigation Started on Sunday, 18 December 2022, 2:25 PM


1 2 3 State Finished
Completed on Sunday, 18 December 2022, 2:49 PM
Time taken 23 mins 51 secs
Show one page at a time
Marks 5.00/5.00
Finish review
Grade 10.00 out of 10.00 (100%)

Question 1 Од стандарден влез да се прочита квадратна матриција со број на редици и колони N. Прво се вчитува бројот N а потоа и N*N елементите на матрицата.
Correct
Да се промени знакот на елементите од главната дијагонала на матрицата (позитивните да станат негативни и обратно).
Mark 1.00 out of
1.00 Да се испечати трансформираната матрица на екран (Секој елемент од матрицата се печати со 3 места - %3d).
Flag question For example:

Input Result

5 -1 2 3 4 5
1 2 3 4 5 6 -7 8 9 10
6 7 8 9 10 11 12 -13 14 15
11 12 13 14 15 -1 -2 -3 4 -5
-1 -2 -3 -4 -5 -5 -6 -7 -8 9
-5 -6 -7 -8 -9

Answer: (penalty regime: 0 %)


1 #include<stdio.h>
2
3 ▼ int main(){
4 int n,matrica[100][100];
5 int i,j;
6
7 scanf("%d",&n);
8
9 //vchituvanje matrica
10 for(i=0;i<n;i++)
11 ▼ {
12 for(j=0;j<n;j++)
13 ▼ {
14 scanf("%d",&matrica[i][j]);
15 }
16 }
17 //proveruvanje dokolku e na glavna dijagonala, da si gi zamenat vrednostite (poz/neg)
18 for(i=0;i<n;i++)
19 ▼ {
20 for(j=0;j<n;j++)
21 ▼ {
22 ▼ if(i==j){

Input Expected Got

 5 -1 2 3 4 5 -1 2 3
1 2 3 4 5 6 -7 8 9 10 6 -7 8
6 7 8 9 10 11 12 -13 14 15 11 12 -13 1
11 12 13 14 15 -1 -2 -3 4 -5 -1 -2 -3
-1 -2 -3 -4 -5 -5 -6 -7 -8 9 -5 -6 -7 -
-5 -6 -7 -8 -9

 20 29 -2 -38 -23 26 -7 -42 30 39 -50 27 33 -20 11 24 -40 19 -47 -41 -12 29 -2 -38 -2
-29 -2 -38 -23 26 -7 -42 30 39 -50 27 33 -20 11 24 -40 19 -47 -41 -12 -39 -16 18 6 -14 2 -7 -39 30 47 43 2 22 -45 36 -20 36 -43 -48 31 -39 -16 18
-39 16 18 6 -14 2 -7 -39 30 47 43 2 22 -45 36 -20 36 -43 -48 31 20 25 -28 16 20 -32 -2 30 -45 -25 -45 48 -5 26 14 -21 36 -24 -11 -49 20 25 -28 1
20 25 28 16 20 -32 -2 30 -45 -25 -45 48 -5 26 14 -21 36 -24 -11 -49 18 1 19 -7 7 -5 26 42 -25 -34 -26 49 0 -29 -17 35 -47 -28 -23 -25 18 1 19 -
18 1 19 7 7 -5 26 42 -25 -34 -26 49 0 -29 -17 35 -47 -28 -23 -25 7 -10 24 49 13 35 12 -44 16 -40 -1 12 33 12 27 -24 47 -5 -32 4 7 -10 24 4
7 -10 24 49 -13 35 12 -44 16 -40 -1 12 33 12 27 -24 47 -5 -32 4 -36 29 -11 34 1 19 7 42 -6 -34 -14 -1 19 -13 44 -24 16 37 5 21 -36 29 -11 3
-36 29 -11 34 1 -19 7 42 -6 -34 -14 -1 19 -13 44 -24 16 37 5 21 -38 30 -3 11 -7 -37 2 11 -7 -23 -50 -12 17 -46 -23 -48 33 -32 11 14 -38 30 -3 1
-38 30 -3 11 -7 -37 -2 11 -7 -23 -50 -12 17 -46 -23 -48 33 -32 11 14 27 -12 24 9 -35 -31 -35 -4 26 -42 -15 -39 49 -6 -6 -15 -16 47 17 -37 27 -12 24
27 -12 24 9 -35 -31 -35 4 26 -42 -15 -39 49 -6 -6 -15 -16 47 17 -37 -45 7 -28 33 -43 -28 -11 20 -44 -6 -39 10 -3 43 -8 27 -1 23 17 -31 -45 7 -28 3
-45 7 -28 33 -43 -28 -11 20 44 -6 -39 10 -3 43 -8 27 -1 23 17 -31 17 10 43 14 7 32 13 37 -35 48 -41 44 -37 28 26 -44 -43 4 26 42 17 10 43 1
17 10 43 14 7 32 13 37 -35 -48 -41 44 -37 28 26 -44 -43 4 26 42 24 -23 -48 47 27 -22 -38 -36 43 27 -39 8 -3 15 -17 -26 -18 0 -40 11 24 -23 -48 4
24 -23 -48 47 27 -22 -38 -36 43 27 39 8 -3 15 -17 -26 -18 0 -40 11 -39 -11 -23 -27 26 -44 16 19 -21 -30 -37 34 19 20 -20 0 49 -37 -19 11 -39 -11 -23 -2
-39 -11 -23 -27 26 -44 16 19 -21 -30 -37 -34 19 20 -20 0 49 -37 -19 11 -50 -43 6 -23 -29 11 -38 -29 14 -21 34 -40 25 -41 2 -24 -8 -13 -26 -22 -50 -43 6 -2
-50 -43 6 -23 -29 11 -38 -29 14 -21 34 -40 -25 -41 2 -24 -8 -13 -26 -22 45 41 -19 28 19 35 -4 -23 -1 -49 13 2 47 -15 4 14 -26 -2 19 -33 45 41 -19 2
45 41 -19 28 19 35 -4 -23 -1 -49 13 2 47 15 4 14 -26 -2 19 -33 -15 -40 -25 -1 -17 -46 7 -17 -19 -14 -44 -20 30 -18 45 -37 -14 -41 -14 19 -15 -40 -25 -
-15 -40 -25 -1 -17 -46 7 -17 -19 -14 -44 -20 30 -18 -45 -37 -14 -41 -14 19 30 -34 -41 11 -19 22 -24 -47 15 6 -33 -17 -7 -21 -13 16 9 -11 15 -13 30 -34 -41 1
30 -34 -41 11 -19 22 -24 -47 15 6 -33 -17 -7 -21 -13 -16 9 -11 15 -13 0 47 -1 -3 -37 44 38 -11 -20 22 45 -39 41 11 -25 -45 9 -21 -30 6 0 47 -1 -
0 47 -1 -3 -37 44 38 -11 -20 22 45 -39 41 11 -25 -45 -9 -21 -30 6 4 -11 6 -29 15 12 18 40 -18 37 -41 41 -14 48 13 6 -17 47 -35 12 4 -11 6 -2
4 -11 6 -29 15 12 18 40 -18 37 -41 41 -14 48 13 6 -17 -47 -35 12 -37 -10 9 28 20 -50 -36 -30 10 33 -27 -20 35 -25 -9 39 -21 47 32 15 -37 -10 9 2
-37 -10 9 28 20 -50 -36 -30 10 33 -27 -20 35 -25 -9 39 -21 47 -32 15 0 34 -14 -33 3 12 -37 6 -38 -33 1 -26 -15 -42 14 -49 -48 -23 14 -32 0 34 -14 -3
0 34 -14 -33 3 12 -37 6 -38 -33 1 -26 -15 -42 14 -49 -48 -23 14 32

Passed all tests! 

Question author's solution (C):


1 #include <stdio.h>
2
3 ▼ int main() {
4 int n;
5 scanf("%d", &n);
6
7 int matrix[100][100];
8
9 ▼ for (int i=0;i<n;i++){
10 ▼ for (int j=0;j<n;j++){
11 scanf("%d", &matrix[i][j]);
12 ▼ if (i==j) {
13 matrix[i][j]*=-1;
14 }
15 }
16 }
17
18 ▼ for (int i=0;i<n;i++){
19 ▼ for (int j=0;j<n;j++){
20 printf("%3d ", matrix[i][j]);
21 }
22 printf("\n");

Correct
Marks for this submission: 1.00/1.00.

Question 2 Од стандарден влез се вчитува матрица сo m редици и n колони. Прво се вчитуваат броевите m и n а потоа и елементите на матрицата.
Correct x−min
Да се изврши min-max нормализација на секоја колона од матрицата, односно секој елемент во секоја колона да се замени со вредноста max−min каде што x е елемент во некоја
Mark 2.00 out of
колона, а max и min се соодветно најголемиот и најмалиот елемент во соодветната колона.
2.00

Flag question Трансформираната матрица да се испечати на екран.

Објаснување на примерот:
Елементите на 0-тата колона се: 1,6,11,16,21. Минимален елемент е 1, а максимален елемент е 21
Секој од 5те елементи ќе се трансформира на следниот начин:
(1-1)/(21-1) = 0/20 = 0.00
(6-1)/(21-1) = 5/20 = 0.25
(11-1)/(21-1) = 10/20 = 0.50
(16-1)/(21-1) = 15/20 = 0.75
(21-1)/(21-1) = 20/20 = 1.00

For example:

Input Result

5 5 0.00 0.00 0.00 0.00 0.00


1 2 3 4 5 0.25 0.25 0.25 0.25 0.25
6 7 8 9 10 0.50 0.50 0.50 0.50 0.50
11 12 13 14 15 0.75 0.75 0.75 0.75 0.75
16 17 18 19 20 1.00 1.00 1.00 1.00 1.00
21 22 23 24 25

Answer: (penalty regime: 0 %)


1 #include <stdio.h>
2
3 ▼ int main() {
4 int m, n,i,j;
5 scanf("%d%d", &m, &n);
6
7 double matrica[100][100];
8
9 ▼ for (i=0;i<m;i++){
10 ▼ for (int j=0;j<n;j++){
11 scanf("%lf", &matrica[i][j]);
12 }
13 }
14
15 ▼ for (j=0;j<n;j++){
16 double min,max;
17 min = max = matrica[0][j];
18
19
20 ▼ for (i=0;i<m;i++){
21 ▼ if (matrica[i][j]<min){
22 min = matrica[i][j];

Input Expected Got

 5 5 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
1 2 3 4 5 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25
6 7 8 9 10 0.50 0.50 0.50 0.50 0.50 0.50 0.50 0.50 0.50 0.50
11 12 13 14 15 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75
16 17 18 19 20 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00
21 22 23 24 25

 11 10 0.38 0.45 0.95 0.62 0.60 0.00 0.72 0.49 0.46 0.79 0.38 0.45 0.95 0.62 0.60 0.00 0.72 0.49 0
18 23 45 29 30 0 38 24 24 39 0.19 0.93 0.00 0.20 0.65 0.83 0.95 0.18 0.78 0.29 0.19 0.93 0.00 0.20 0.65 0.83 0.95 0.18 0
9 42 8 12 32 40 47 9 39 15 0.00 1.00 0.85 0.05 0.68 0.69 0.00 0.39 0.48 0.96 0.00 1.00 0.85 0.05 0.68 0.69 0.00 0.39 0
0 45 41 6 33 33 10 19 25 47 0.60 0.28 0.77 0.40 0.45 0.52 0.08 0.06 0.59 0.42 0.60 0.28 0.77 0.40 0.45 0.52 0.08 0.06 0
29 16 38 20 24 25 13 3 30 21 0.21 0.42 0.87 0.00 1.00 0.73 0.51 1.00 1.00 0.54 0.21 0.42 0.87 0.00 1.00 0.73 0.51 1.00 1
10 22 42 4 46 35 30 49 49 27 0.56 0.35 0.56 0.75 0.90 0.52 0.85 0.55 0.63 1.00 0.56 0.35 0.56 0.75 0.90 0.52 0.85 0.55 0
27 19 30 34 42 25 43 27 32 49 0.06 0.00 0.95 1.00 0.12 1.00 0.72 0.84 0.87 0.44 0.06 0.00 0.95 1.00 0.12 1.00 0.72 0.84 0
3 5 45 44 11 48 38 41 43 22 1.00 0.85 0.87 0.78 0.00 0.33 0.54 0.27 0.00 0.56 1.00 0.85 0.87 0.78 0.00 0.33 0.54 0.27 0
48 39 42 35 6 16 31 13 3 28 0.83 0.10 0.49 0.25 0.03 0.06 1.00 0.00 0.46 0.00 0.83 0.10 0.49 0.25 0.03 0.06 1.00 0.00 0
40 9 27 14 7 3 49 0 24 1 0.25 0.12 1.00 0.68 0.80 0.15 0.69 0.29 0.78 0.92 0.25 0.12 1.00 0.68 0.80 0.15 0.69 0.29 0
12 10 47 31 38 7 37 14 39 45 1.00 0.03 0.59 0.42 0.88 0.56 0.59 0.14 0.80 0.90 1.00 0.03 0.59 0.42 0.88 0.56 0.59 0.14 0
48 6 31 21 41 27 33 7 40 44

 10 15 0.67 0.71 1.00 0.93 0.53 0.59 0.72 0.13 0.97 0.43 0.37 0.51 0.10 0.45 0.85 0.67 0.71 1.00 0.93 0.53 0.59 0.72 0.13 0
5 12 48 4 8 8 32 -26 44 3 -5 14 -29 12 35 0.18 0.06 0.70 0.44 0.23 0.48 1.00 1.00 0.03 0.88 0.43 0.87 0.39 0.78 0.17 0.18 0.06 0.70 0.44 0.23 0.48 1.00 1.00 0
-33 -42 19 -22 -18 -2 47 34 -40 36 0 40 -4 34 -27 0.71 0.49 0.18 0.81 0.00 0.45 0.39 0.39 0.60 0.00 0.36 0.32 0.00 0.00 1.00 0.71 0.49 0.18 0.81 0.00 0.45 0.39 0.39 0
8 -6 -31 -2 -38 -5 14 -8 11 -29 -6 1 -37 -18 49 0.19 0.17 0.65 0.39 0.15 0.38 0.07 0.00 0.00 0.22 1.00 0.99 0.51 0.22 0.47 0.19 0.17 0.65 0.39 0.15 0.38 0.07 0.00 0
-32 -33 14 -25 -25 -11 -3 -35 -43 -13 43 48 6 -3 0 0.72 1.00 0.20 0.22 0.64 0.15 0.70 0.91 0.64 0.18 0.18 0.00 0.30 0.10 0.98 0.72 1.00 0.20 0.22 0.64 0.15 0.70 0.91 0
9 36 -29 -34 17 -32 31 28 15 -16 -19 -22 -12 -11 47 0.00 0.36 0.00 0.11 1.00 0.70 0.07 0.97 0.19 0.53 0.68 0.00 0.05 0.60 0.00 0.00 0.36 0.00 0.11 1.00 0.70 0.07 0.97 0
-47 -17 -48 -40 48 18 -3 32 -26 10 19 -22 -33 22 -43 0.67 0.00 0.36 0.39 0.92 1.00 0.28 0.86 0.50 1.00 0.34 0.39 0.18 0.61 0.01 0.67 0.00 0.36 0.39 0.92 1.00 0.28 0.86 0
5 -47 -13 -25 41 46 8 24 2 45 -7 6 -22 23 -42 1.00 0.70 0.59 0.00 0.83 0.93 0.65 0.43 0.46 0.39 0.12 1.00 1.00 0.43 0.48 1.00 0.70 0.59 0.00 0.83 0.93 0.65 0.43 0
31 11 9 -46 33 40 28 -5 -2 0 -24 49 47 11 1 0.22 0.70 0.10 1.00 0.44 0.66 0.00 0.96 1.00 0.55 0.07 0.94 0.00 1.00 0.05 0.22 0.70 0.10 1.00 0.44 0.66 0.00 0.96 1
-30 11 -38 8 0 15 -7 31 47 12 -28 45 -37 49 -38 0.21 0.29 0.66 0.00 0.87 0.00 1.00 0.87 0.54 0.66 0.00 0.11 0.57 0.90 0.48 0.21 0.29 0.66 0.00 0.87 0.00 1.00 0.87 0
-31 -23 15 -46 37 -46 47 25 6 20 -33 -14 11 42 1

Passed all tests! 

Question author's solution (C):


1 #include <stdio.h>
2
3 ▼ int main() {
4 int m, n;
5 scanf("%d%d", &m, &n);
6
7 double matrix[100][100];
8
9 ▼ for (int i=0;i<m;i++){
10 ▼ for (int j=0;j<n;j++){
11 scanf("%lf", &matrix[i][j]);
12 }
13 }
14
15 ▼ for (int j=0;j<n;j++){
16 double min,max;
17 min = max = matrix[0][j];
18 ▼ for (int i=0;i<m;i++){
19 ▼ if (matrix[i][j]<min){
20 min = matrix[i][j];
21 }
22 ▼ if (matrix[i][j]>max){

Correct
Marks for this submission: 2.00/2.00.

Question 3 Од стандарден влез се вчитува квадратна матрица со n редици и колони. Прво се вчитува бројот n, па потоа и n елементите на матрицата.
Correct
Доколку n е непарен број да се испечати пораката GRESKA и да заврши програмата.
Mark 2.00 out of
2.00 Потребно е матрицата да се здипли како што е прикажано на сликата. При диплење на матрицата, се собираат елементите на позициите што се поклопуваат при диплењето.
Flag question

For example:

Input Result

4 34 34
1 2 3 4 34 34
5 6 7 8
9 10 11 12
13 14 15 16

11 GRESKA
2 0 6 5 9 6 7 4 8 8 5
2 6 9 0 4 6 0 6 0 8 6
1 7 2 2 7 5 2 1 9 1 9
2 4 4 0 6 9 9 0 1 0 8
2 4 2 0 1 5 2 7 0 3 9
3 5 1 9 9 8 6 1 6 4 2
5 0 6 9 2 7 8 8 2 1 6
3 8 5 2 3 5 7 3 8 5 9
3 8 1 8 6 0 1 2 5 7 0
1 4 2 0 8 8 1 0 8 3 6
5 3 6 0 8 5 5 0 0 2 8

Answer: (penalty regime: 0 %)


1 #include <stdio.h>
2 #include <math.h>
3
4 int main ()
5 ▼ {
6 int a[100][100],n,i,j;
7 scanf("%d", &n);
8 if (n%2!=0)
9 ▼ {
10 printf("GRESKA");
11 }
12 else
13 ▼ {
14
15 for (i=0;i<n;i++)
16 ▼ {
17 for (j=0;j<n;j++)
18 ▼ {
19 scanf("%d",&a[i][j]);
20 }
21 }
22 for (i=0;i<n;i++)

Input Expected Got

 4 34 34 34 34 
1 2 3 4 34 34 34 34
5 6 7 8
9 10 11 12
13 14 15 16

 11 GRESKA GRESKA 
2 0 6 5 9 6 7 4 8 8 5
2 6 9 0 4 6 0 6 0 8 6
1 7 2 2 7 5 2 1 9 1 9
2 4 4 0 6 9 9 0 1 0 8
2 4 2 0 1 5 2 7 0 3 9
3 5 1 9 9 8 6 1 6 4 2
5 0 6 9 2 7 8 8 2 1 6
3 8 5 2 3 5 7 3 8 5 9
3 8 1 8 6 0 1 2 5 7 0
1 4 2 0 8 8 1 0 8 3 6
5 3 6 0 8 5 5 0 0 2 8

 8 24 28 8 15 24 28 8 15 
4 7 1 2 9 0 9 8 29 10 23 27 29 10 23 27
5 1 7 7 9 5 5 9 17 23 19 13 17 23 19 13
4 7 1 0 9 6 0 0 21 23 23 15 21 23 23 15
5 6 5 6 0 3 1 8
1 8 6 1 8 9 8 7
9 8 6 1 3 6 8 4
7 3 9 7 4 2 1 8
3 5 7 2 2 0 7 9

Passed all tests! 

Question author's solution (C):


1 #include <stdio.h>
2
3 ▼ int main() {
4 int m, n;
5 scanf("%d", &n);
6
7 ▼ if (n%2==1){
8 printf("GRESKA");
9 return 0;
10 }
11
12 int matrix[100][100];
13
14 ▼ for (int i = 0; i < n; i++) {
15 ▼ for (int j = 0; j < n; j++) {
16 scanf("%d", &matrix[i][j]);
17 }
18 }
19
20 ▼ for (int i = 0; i < n/2; i++) {
21 ▼ for (int j = 0; j < n/2; j++) {
22 matrix[i][j]+=matrix[n-i-1][j];

Correct
Marks for this submission: 2.00/2.00.

Finish review

◄ Лабораториска вежба 6 (групи Б - петок) Jump to... Лабораториска вежба 7 (групи А - понеделник) ►

You are logged in as Златко Миленков (Log out)


Сп-2022/2023/Z
Data retention summary
Get the mobile app

Você também pode gostar