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

Тема в разделе "Общие вопросы по С и С++", создана пользователем 24nastya11, 19 сен 2009.

  1. 24nastya11

    24nastya11 Гость

    Здраствуйте! мне нужна Ваша помощь! Буду благодарна!
    Есть код программы, мне нужно чтобы матрица создавалась генератором случайных чисел 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]
     
Загрузка...

Поделиться этой страницей