Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите составить программу на PHP

Alex Romanov Ученик (154), на голосовании 1 год назад
Задать двумерный массив. Вывести элементы заданного массива в обратном порядке, и исключить из вывода каждый 4-й элемент
Голосование за лучший ответ
Άηϑρέΰ ҂ Искусственный Интеллект (179999) 2 года назад
 $mass = [
[1,2,4],
[1,2,4],
[1,2,4],
[1,2,4],
];
как исключить 4 элемент, я без понятия
Емельян ПугачёвМудрец (14037) 2 года назад
Посмотрите мой вариант ответа. Я думаю, что в нём что-то не так по исключению четвёртых элементов, но не могу понять, что....
Емельян ПугачёвМудрец (14037) 2 года назад
Нет. Всё, вроде, правильно.
партнер [www.a77r.ru]Мыслитель (8978) 2 года назад
каждый 4 из вывода, а не из массива...
соответственно в предлагаемом массиве при выводе в обратном порядке надо будет удалить 4,2,1
Емельян Пугачёв Мудрец (14037) 2 года назад
#include <iostream>
#include <ctime>
#include <cstdlib>

using namespace std;

int main()
{
int m,n,x,y,i,**A;

do
{
cout << "Количество строк массива: ";
cin >> m;
}while(m < 1);

do
{
cout << "Количество столбцов массива: ";
cin >> n;
}while(n < 1);

// выделение динамической памяти
A = new int*[m];
for(x = 0; x < m; x++) A[x] = new int[n];

srand(time(nullptr)); // для генерации псевдослучайных значений
// задаём массив автоматически
for(x = 0; x < m; x++)
for(y = 0; y < n; y++) A[x][y] = rand() % 21 - 10;

i = m*n;
// вывод в обратном порядке
for(x = m - 1; x >= 0; x--)
{
for(y = n - 1; y >= 0; y--, i--)
if(i % 4) cout << A[x][y] << "\t";
cout << endl;
}
cout << endl;

// освобождение памяти
for(x = 0; x < m; x++)
{
if(A[x] == (int*) nullptr) exit(1);
delete [] A[x];
A[x] = (int*) nullptr;
}
if(A == (int**) nullptr) exit(1);
delete [] A;
A = (int**) nullptr;

return 0;
}
Емельян ПугачёвМудрец (14037) 2 года назад
Странно. Я думал, что нахожусь в категории C/C++.
Похожие вопросы