Задача на 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;
}
Ответы
1) у тебя не написан ни один инклуд, базовый #include <iostream>
2)у тебя не написано using namepsace std;
3)у тебя нету скобок для тела мейна int main() {код}
4)у тебя не везде есть скобки которые закрывают цыклы, if
using namespace std;
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;
}
Пройдемся по коду: Возможно я не понял суть вашего ввода массива, но в циклах вы явно указывали не те размеры что надо.
Пропущены операторные скобки "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;
}
Кривое оформление сайта.. (в приложении код)
using namespace std;
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;
}
Подробнее - на Znanija.com - https://znanija.com/task/29551326#readmore