На c++. написал, но компилятор выдаёт ошибку. условие: двухмерный массив, в котором расположены числа. в чётных строках расположить числа по возрастанию, в нечётных - по убыванию. моё "решение" #include #include int main () int a [][2] = {2,6,1,9,5,7,0,10} for (int i=0; i< 2; i++) {if (i%2==0) for (int k=0; k< 2-1; k++) for (int j=0; j< 2-1; j++) if (a[i][j]> a[i][j+1]) swap (a[i][j], a[i][j+1]); else for (int k=0; k< 2-1; k++) for (int j=0; j< 2-1; j++) if (a[i][j]a< [i][j+1]) swap (a[i][j], a[i][j+1]); { return 0; }

KristinaSchool KristinaSchool    2   28.09.2019 00:50    0

Ответы
0Alis11 0Alis11  10.09.2020 18:50

1) у тебя не написан ни один инклуд, базовый #include <iostream>

2)у тебя не написано using namepsace std;

3)у тебя нету скобок для тела мейна int main() {код}

4)у тебя не везде есть скобки которые закрывают цыклы, if

ПОКАЗАТЬ ОТВЕТЫ
HAHHSSAGSGAGS HAHHSSAGSGAGS  10.09.2020 18:50

Пройдемся по коду: Возможно я не понял суть вашего ввода массива, но в циклах вы явно указывали не те размеры что надо.

Пропущены операторные скобки "main" раздела.

Неправильное использование else, так как он был отнесен совсем к другому оператору if.

-----------

Исправил все синт. ошибки, добавил вывод массива с сортировкой, исправил директивы.


#include <iostream>


int main()

{

int a[][2] = { 2,6,1,9,5,7,0,10};

for (int i = 0; i < 4; i++)

 if (i % 2 == 0) {

  for (int k = 0; k < 2 - 1; k++)

   for (int j = 0; j < 2 - 1; j++)

    if (a[i][j] > a[i][j + 1])

     std::swap(a[i][j], a[i][j + 1]);

 }

 else

  for (int k = 0; k<2 - 1; k++)

   for (int j = 0; j<2 - 1; j++)

    if ( a[i][j]<a[i][j + 1] )

     std::swap(a[i][j], a[i][j + 1]);

// Вывод результата

for (int i = 0; i < 4; i++) {

 for (int j = 0; j < 2; j++)

  std::cout << a[i][j] << " ";

 std::cout << std::endl;

}

return 0;

}


Кривое оформление сайта.. (в приложении код)


На c++. написал, но компилятор выдаёт ошибку. условие: двухмерный массив, в котором расположены числ
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика