Форум программистов, компьютерный форум CyberForum.ru

Поменять местами второй и последния столбец матрицы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Наследование от виртуального класса http://www.cyberforum.ru/cpp-beginners/thread700767.html
Хукаю DirectX с помощью Detours. Делаю обёртку. Пишу много обезьяньего кода. Получаю такой месседж: перегружающая виртуальная функция отличается от "IDirect3D9::EnumAdapterModes" только соглашением о вызове С winAPI знаком поверхностно. С DirectX ещё более поверхностно. Но задача требует выполнения (какая - читайте историю моих сообщений). С Си++ знаком на уровне страшной комбинации Си кода,...
C++ Взаимная зависимость модулей // module.h #ifndef module #define module #include "module 2.h" struct A { B b; http://www.cyberforum.ru/cpp-beginners/thread700765.html
C++ Задать радиус двух шаров
Задать радиус двух шаров: один значительно меньше второго. определить их объм,после чего узнать,сколько шаров с меньшим радиусом/объемом,поместятся в шар с большим радиусом/объемом. и узнать свободный объем.
C++ Помощь в сортировке
Здравствуйте, товарищи программисты. Знаю, что вам уже всем надоело натыкаться на подобные темы со структурой ZNAK, но все же! Написал прогу по считыванию данных с файла и вывод на экран человека, месяц которого мы вводим с клавиатуры. Вообщем прошу помочь с сортировкой. Задание заключается в следующем: записи должны быть упорядочены по знакам зодиака. Файл с текстом прикрепил(откуда идет...
C++ Ограничить права пользоватей через SECURITY_ATTRIBUTES (подскажите как) http://www.cyberforum.ru/cpp-beginners/thread700751.html
В общем через это: SECURITY_ATTRIBUTES atrs; atrs.nLength=sizeof(atrs); atrs.bInheritHandle=false; ... //какие-то действия для инициации atrs.lpSecurityDescriptor ... atrs.lpSecurityDescriptor=(PSECURITY_DESCRIPTOR) LocalAlloc(LPTR,SECURITY_DESCRIPTOR_MIN_LENGTH);//тут мы, вроде, выделяем память InitializeSecurityDescriptor(atrs.lpSecurityDescriptor,SECURITY_DESCRIPTOR_REVISION);//
C++ Переменная произвольно обнуляется Здравствуйте. Есть класс: template<const int k,const int n> class GF { public: int F; // Массив многочленов. public: // конструктор. Полным перебором заполняем массив многочленов, т.е. строим поле. GF() { int model; int i, j, capacity = pow((double)k,n); подробнее

Показать сообщение отдельно
Nikropolb
 Аватар для Nikropolb
48 / 48 / 10
Регистрация: 25.06.2012
Сообщений: 254
Записей в блоге: 1
18.11.2012, 03:13     Поменять местами второй и последния столбец матрицы
Всем привет.
Задача такова..
поменять местами торой и последния столбец матрици если все элементы этих столбцов положительны.
вот мой код.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include<stdio.h>
#include<locale>
#include<conio.h>
 
#define N 5
#define M 4
 
int main()
{
    setlocale(LC_ALL,"RUS");
 
    int matrix[N][M];                                                           //Матрица
    int a,b;                                                                    //Переменные циклов
    int counter = 0;                                                            //Счетчик
    int temp[N];                                                                //Временный массив для хранения элементов
 
    for (a = 0; a < N ;a++)                                                     //Ввод массива.
    {
        printf("%d Строка\n",a+1);
        for (b = 0; b < M ;b++) scanf("%d ",&matrix[a][b]);
    }
 
    for (a = 0; a < N ;a++)                                                     //Проверка условий
    {
        if (((matrix[a][1]) && (matrix[a][M-1])) >= 0) counter++;
    }
 
    if (counter == N)
    {
        printf("Первоначальная матрица\n");
        for (a = 0; a < N ;a++)                                                //Вывод первоначальной матрицы
        {
            for (b = 0; b < M ;b++) printf("%d ",matrix[a][b]);
            printf("\n");
        }
 
        for (a = 0; a < N ;a++)                                                //Меняем местами столбцы
        {
            temp[a] = matrix[a][1];
            matrix[a][1] = matrix[a][M-1];
            matrix[a][M-1] = temp[a];
        }
 
        printf("Преобразованная матрица\n");
        for (a = 0; a < N ;a++)                                                //Вывод преобразованной матрици
        {
            for (b = 0; b < M ;b++) printf("%d ",matrix[a][b]);
            printf("\n");
        }
    }
    else
        printf("NO!\n");
 
 
    getch();
    getch();
    return 0;
}
А вот в чём вопрос...
массив matrix вмещает в себе 20 элементов и каждую строку пользователь вводит 4 симлова но при вводе 1 строки программа требует 5-тый символ....откуда? почему это случается и как от этого избавиться.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 04:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru