21

Re: Підпрограма. Мова С

Для початку зрозумій, що таке перший "рядок", що так останній "рядок".

Потім зрозумій, що таке максимальний елемент "рядка".

Знайди і порівняй максимальні елементи обох "рядків". для цього використовуй функцію, яка буде брати масив та його довжину і повертати максимальний елемент

Потім вже присвоюй S якесь значення.

22

Re: Підпрограма. Мова С

Тобто мені уе все робити в підпрограмі, чи як?

23

Re: Підпрограма. Мова С

шо ує? тобі рядки пронумеровати?

24

Re: Підпрограма. Мова С

не намагайся відразу цілком вирішити задачу. Її треба спочатку розбити на підзадачі

25

Re: Підпрограма. Мова С

Переформулюю умову. Вам треба:
- знайти максимуми у двох рядках;
- порівняти їх;
- надати змінній S значення залежно від результатів порівняння.
Саме у такій послідовності, правильно?
А тепер показую, що (цілком імовірно) має бути в main:

...
int max1 = find_max(A[0]); //перший рядок
int max2 = find_max(A[7]); //останній рядок
if (max1<max2)...

Цей фрагмент виглядає зрозумілим? Зможете написати функцію, що перебирає лише рядок, а не всю матрицю?

Подякували: bodnar2002891

26

Re: Підпрограма. Мова С

koala написав:

Переформулюю умову. Вам треба:
- знайти максимуми у двох рядках;
- порівняти їх;
- надати змінній S значення залежно від результатів порівняння.
Саме у такій послідовності, правильно?
А тепер показую, що (цілком імовірно) має бути в main:

...
int max1 = find_max(A[0]); //перший рядок
int max2 = find_max(A[7]); //останній рядок
if (max1<max2)...

Цей фрагмент виглядає зрозумілим? Зможете написати функцію, що перебирає лише рядок, а не всю матрицю?

Приблизно зрозумів.. Буду дома пробуватиму робити..

27

Re: Підпрограма. Мова С

koala написав:

Переформулюю умову. Вам треба:
- знайти максимуми у двох рядках;
- порівняти їх;
- надати змінній S значення залежно від результатів порівняння.
Саме у такій послідовності, правильно?
А тепер показую, що (цілком імовірно) має бути в main:

...
int max1 = find_max(A[0]); //перший рядок
int max2 = find_max(A[7]); //останній рядок
if (max1<max2)...

Цей фрагмент виглядає зрозумілим? Зможете написати функцію, що перебирає лише рядок, а не всю матрицю?

Не зовсім виходить написати цю функцію.. *WALL*

28

Re: Підпрограма. Мова С

А що виходить?

29

Re: Підпрограма. Мова С

Ще раз: на вхід функції іде одновимірний масив, на вихід (return) - максимальне значення з цього масиву.

30

Re: Підпрограма. Мова С

koala написав:

Ще раз: на вхід функції іде одновимірний масив, на вихід (return) - максимальне значення з цього масиву.

#include<stdio.h>
#include<math.h>
int find_max(A[0]);
int find_max(A[7]);
{int max1=0, max2=0;
for(int i=0;i<8;i++)
    {    
        if(A[i][i]>max1)
        {
          max1=A[i][i];
        }
      printf("  max1=%i",max1);
    }
    printf ("\n");
    for(int i=7;i<8;i++)
      {
        if(A[i][i]>max2)
        {
          max2=A[i][i];
      }
      printf("  max2=%i",max2);
return(max1);
return(max2); 
}
}
    int main ()
{
    int A[8][8]={{1,3,4,5,6,1,4,10},
                {18,13,2,8,6,16,6,19},
                {1,3,7,5,14,5,17,10},
                {9,7,6,1,0,18,7,9},
                {17,2,6,7,6,9,19,9},
                {10,8,8,7,5,3,7,4},
                {5,4,2,2,1,6,1,19},
                {1,3,4,15,12,13,14,9}};
int i,j,S;
int max1 = find_max(A[0]);
int max2 = find_max(A[7]);
if(max1=max2){
S=0;
}
else
if(max1<max2){
S=1;
}
else
if(max1>max2){
S=-1;
}
printf("\nS=%i\t",S);
find_max(A[0],A[7]);
}

Максимум до чого я додумався..

31

Re: Підпрограма. Мова С

koala написав:

Ще раз: на вхід функції іде одновимірний масив, на вихід (return) - максимальне значення з цього масиву.

Є! Треба було прохи погратись з функціями, і функцію примвоєння перенести в підпрограму