Форум С++

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

Автор: cheops   (11.12.2007 в 04:27)
Можно поступить следующим образом
#include <iostream>
#include <vector>
using namespace std;

int main()
{
  // Вектор с целочисленными элементами
  vector<int> coll, result;
  
  int count = 0;
  cout << "Введите размер матрицы N: ";
  cin >> count;

  try
  {
    // Заполняем коллекцию
    int temp = 0;
    for(int j = 0; j < count; j++)
    {
      for(int i = 0; i < count; i++)
      {
        cout << "Введите элемент (" << j << "," << i << "): ";
        cin >> temp;
        coll.push_back(temp);
      }
    }
    // Выводим только что введённую матрицу
    cout << "Вы ввели следующую матрицу:\n";
    for(int j = 0; j < count; j++)
    {
      for(int i = 0; i < count; i++)
      {
        cout << coll[j*count + i] << " ";
      }
      cout << "\n";
    }
      cout << "\n";
    // Запоминаем элементы, расположенные под побочной 
    // диагональю
    for(int j = 0; j < count; j++)
    {
      for(int i = count - 1; i >=0; i--)
      {
        if(i <= j)
        {
          result.push_back(coll[j*count + (count - 1 - i)]);
        }
      }
    }
    // Выводим результат
    cout << "\nЭлементы матрицы, расположенные под побочной диагональю:\n";
    for(int i = 0; i < result.size(); i++)
    {
      cout << result[i] << "\n";
    }
  }
  catch(bad_alloc)
  {
    cout << "Не удалось выделить память под коллекцию\n";
  }

  return 0;
}


Ваше имя:

Пароль:

Цитировать

Используйте тэги для выделения текста:
Код: [code][/code]
Жирный: [b][/b]
Наклонный: [i][/i]
URL: [url][/url]

Сообщение:

Прикрепить: