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

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

Наш партнер Genesis Hackspace
  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]
     
Загрузка...

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