1 Востаннє редагувалося koala (18.05.2022 19:32:16)

Тема: Допоможіть зрозуміти чому виходять дивні числа

Для двовимірного масиву F (4*4), що складається з елементів цілого типу, підрахувати
кількість елементів більших за надане ціле число Х (ввести з клавіатури), та максим.
елемент в 1, 4 рядках. Це завдання

#include <locale.h>
#include <stdio.h>
int main() {
int F[4][4] = {{1, 6, 4, 7},
  {5, 2, 7, 8},
  {7, 0, 4, 1},
  {5, 9, 0, 2}};
  int f,j,sum,max;
  printf(" F:", F[f][j]);
  for (f = 0; f < 4; f++){
    for (j = 0; j < 4; j++)
     printf(" %d  ", F[f][j]);
  scanf("%d", &F[f][j]);}
  int X = 5;{
  for (f = 0; f < 4; f++)
  for (j = 0; j < 4; j++)
  if (X <  F[f][j])
    sum = 0;
    printf("Знайти суму елементів матриці більші за Х:");
      printf(" %d   ", sum);
  printf("     \n    ");}
  {
  max = F[4][4];
  for (f = 0; f < 4; f++)
    if (F[1][j]>=max && F[4][j]>= max)
      printf ("Знайти максимальний елемент 1 та 4 рядка матриці:", max);
    printf("     %d      ", max);
    }
}

Це програма
F: 1   6   4   7  5 7 8 9
5   2   7   8   7   0   4   1   8   9   0   2  Знайти суму елементів матриці більші за Х: 0       
    Знайти максимальний елемент 1 та 4 рядка матриці:Знайти максимальний елемент 1 та 4 рядка матриці:Знайти максимальний елемент 1 та 4 рядка матриці:Знайти максимальний елемент 1 та 4 рядка матриці:     0 
це те, що каже компілятор

2 Востаннє редагувалося koala (18.05.2022 19:32:56)

Re: Допоможіть зрозуміти чому виходять дивні числа

Додав вам теги code, наступного разу самостійно, будь ласка (кнопка <>).

Масиви в C/C++ індексуються з 0, а не з 1.

3

Re: Допоможіть зрозуміти чому виходять дивні числа

Я змінила, але проблема так і залишилась

4 Востаннє редагувалося lucas-kane (18.05.2022 21:51:54)

Re: Допоможіть зрозуміти чому виходять дивні числа

int main() {
int F[4][4] = {{1, 6, 4, 7},
  {5, 2, 7, 8},
  {7, 0, 4, 1},
  {5, 9, 0, 2}};
  int f,j,sum,max;
  printf(" F:", F[f][j]); // Що ви тут хочете вивести (f, j не проініціалізовані)?
  for (f = 0; f < 4; f++){
    for (j = 0; j < 4; j++)
     printf(" %d  ", F[f][j]);
  scanf("%d", &F[f][j]);} // а тут, що ви хочете зробити? ця команда не на своєму місці!
  int X = 5;{
  for (f = 0; f < 4; f++)
  for (j = 0; j < 4; j++)
  if (X <  F[f][j])
    sum = 0;
    printf("Знайти суму елементів матриці більші за Х:");
      printf(" %d   ", sum);
  printf("     \n    ");}
  {
  max = F[4][4];
  for (f = 0; f < 4; f++)
    if (F[1][j]>=max && F[4][j]>= max)
      printf ("Знайти максимальний елемент 1 та 4 рядка матриці:", max);
    printf("     %d      ", max);
    }
}

А взагалі, ваша програма ніяким боком до вашого завдання. Перечитайте умову завдання і постарайтесь зрозуміти, що від вас хочуть отримати. Ні про яку суму ви не вказували.

Подякували: Олівія1