• Paranoid - курс по анонимности и безопасности в сети от команды codeby. Защита персональных данных, анонимность в сети интернет, настройка виртуальных машин, безопасная передача данных, анти форензика и еще много всего полезного. Подробнее ...

Не знаю где ошибка

  • Автор темы 24nastya11
  • Дата начала
2

24nastya11

#1
Здраствуйте! мне нужна Ваша помощь! Буду благодарна!
Есть код программы, мне нужно чтобы матрица создавалась генератором случайных чисел random() и было ограничение строк<10, столбцов<20. В программе стоит ограничение, но оно не работает. И я не знаю почему

<!--shcode--><pre><code class='С++'>#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <vector>
#include <algorithm>
#include <math.h>
#include <time.h>
typedef int type;


int _tmain(int argc, TCHAR** argv)
{
srand(time(0));
setlocale(LC_ALL,"");
size_t uRows=0, uCols=0;
std::vector<std::vector<type> > vMas;
std::wcout << L"Введите количество строк: ";
std::wcin >> uRows;
std::wcout << L"Введите количество столбцов: ";
std::wcin >> uCols;
if (uRows > 9) uRows = 9;
if (uCols > 19) uCols = 19;
std::wcout <<L"Будет создана матрица " <<uRows <<L"x" <<uCols <<std::endl;


vMas.resize(uCols); //Assume that the first dimension is number of cols
for (size_t cb=0; cb!=vMas.size(); cb++) //correspodingly assume that the second dimension is the rows number
{
vMas[cb].resize(uRows);
}
//Matrix input

for (size_t cb_outer = 0; cb_outer!=vMas.size(); cb_outer++)
{
for (size_t cb_inner =0; cb_inner!=vMas[cb_outer].size(); cb_inner++)
{
vMas[cb_inner][cb_outer] = rand()%10+1; //рандомное число от 1 до 10
}
}
//Initial matrix
std::wcout <<L"\nИсходная матрица: "<<std::endl;
for (size_t cb_outer = 0; cb_outer!=vMas.size(); cb_outer++)
{
for (size_t cb_inner =0; cb_inner!=vMas[cb_outer].size(); cb_inner++)
{
std::wcout <<vMas[cb_inner][cb_outer] << L" ";
}
std::wcout <<std::endl;
}
std::wcout <<std::endl;

//Exchange position for Min and Max elements;
for (size_t cb = 0; cb!=vMas.size(); cb++)
{
std::swap(*(std::max_element(vMas[cb].begin(),vMas[cb].end())),*(std::min_element(vMas[cb].begin(),vMas[cb].end())));
}
//Print final massive
std::wcout <<L"Преобразованная матрица: "<<std::endl;

for (size_t cb_outer = 0; cb_outer!=vMas.size(); cb_outer++)
{
for (size_t cb_inner =0; cb_inner!=vMas[cb_outer].size(); cb_inner++)
{
std::wcout <<vMas[cb_inner][cb_outer] << L" ";
}
std::wcout <<std::endl;
}
while (true);
return 0;

}[/CODE]