Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.09.2009, 18:24   #1
24nastya11
 
Регистрация: 18.05.2009
Сообщений: 4
По умолчанию Не знаю где ошибка

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


Код:
#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)
{
	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;
	
}
24nastya11 вне форума Ответить с цитированием
Старый 20.09.2009, 18:49   #2
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Во всех циклах, при обращении к элементам массива vMas поменяйте местами cb_inner и cb_outer. vMas[cb_outer][cb_inner].
netrino вне форума Ответить с цитированием
Старый 20.09.2009, 20:43   #3
24nastya11
 
Регистрация: 18.05.2009
Сообщений: 4
По умолчанию

Цитата:
Сообщение от netrino Посмотреть сообщение
Во всех циклах, при обращении к элементам массива vMas поменяйте местами cb_inner и cb_outer. vMas[cb_outer][cb_inner].
Спасибо большое!!! Теперь все работает
24nastya11 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
где ошибка? Prophet23 Паскаль, Turbo Pascal, PascalABC.NET 0 20.05.2009 23:20
где ошибка ? mouse697 Помощь студентам 2 22.03.2009 15:01
Добавить инди в delphi 10 light, но как это зделать и где её взять не знаю 100GRamm Компоненты Delphi 1 09.02.2009 13:38
Не знаю что за ошибка Droid Общие вопросы Delphi 9 24.05.2008 22:18
Где ошибка? [Smarik] Общие вопросы Delphi 5 01.04.2008 09:56