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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ ПОМОГИТЕ отредактировать задачку! http://www.cyberforum.ru/cpp-beginners/thread370800.html
Я полностью запутался! и уже не понимаю как правильно задан вопрос! вообще уже каша....... Поле шахматной доски определяется парой натуральных чисел, каждое из которых не превосходит восьми: первое число – номер вертикали при счете слева направо, второе – номер горизонтали при счете снизу вверх. Даны натуральные числа k, l, m, n, каждое из которых не превосходит восьми. На поле (k,l)...
C++ Выбор оболочки под C++ для написания конкретной программы Привет всем ! Проконсультируйте пожалуйста меня по поводу оболочек под C++ Дело в том, что я знаком с MetaTrader4 и с оболочкой под язык MQL4 (программа называется Metaeditor.exe), в которой я недавно закончил писать Тестера для подборки параметров к торговому роботу, - дело здесь в том, что данный тестер работает медленно (как мне кажется), и с помощью специального алгоритма расчета... http://www.cyberforum.ru/cpp-beginners/thread370790.html
C++ Задача Делители (divisors)
Делители (divisors) Определите, какое из первых n натуральных чисел имеет наибольшее количество делителей. Входные данные Единственная строка входного файла divisors.in содержит число n. Выходные данные В выходной файл divisors.out выведите число, что среди первых n натуральных (чисел от 1 до n) имеет наибольшее количество делителей. Если одинаковое максимальное количество делителей...
C++ Итеративный поиск в глубину
Здравствуйте! Вопрос связан с поиском в графе. Меня интересуют идеи решения или ссылка на литературу. Пожалуйста, подскажите... Пусть даны 4 числа (пусть это a , b, c, d) и еще одно число ( пусть будет p ). Можно ли, используя основные математические операции (сложение, вычитание, деление и умножение) получить число p из чисел a , b, c, d? При чем данные числа a , b, c, d можно...
C++ Поясните задачу http://www.cyberforum.ru/cpp-beginners/thread370756.html
Прошу разъяснить в задачи непонятные мне аспекты. Задача Прямоугольник, стороны которого выражены натуральными числами M и N (1≤M, N ≤10000), разделен на квадраты размером 1*1. Найти число квадратов, пересекаемых диагональю прямоугольника (пересекает только тогда, когда делит его на две произвольные части). Решение Будем считать, что N (ось х) больше чем M (ось у). В противном случае...
C++ Русский ввод и русский вывод Я знаю, что для того, чтобы был виден русский язык, я использую команду setlocale(LC_ALL,"Russian") Для того, чтобы в переменные заносились русские символы, у меня получается только тогда, когда я не использую выше сказанную команду. Как-нибудь можно использовать русский ввод и вывод вместе?? Например: string a; cin >> a; cout << "Ваше имя: " << a; // Ваше имя Саша подробнее

Показать сообщение отдельно
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
22.10.2011, 21:50     Поменять местами диагонали квадратной матрицы
Цитата Сообщение от натуська Посмотреть сообщение
Написать функцию, которая меняет местами диагонали квадратной матрицы.
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
59
60
61
62
63
64
65
66
67
68
#include <stdio.h>
#include <stdlib.h>
 
const int N = 8;
 
void change(int **mas)
{
    int i = 0, j = 0, n = 1, tmp;
 
    while(i < N)
    {
        tmp = mas[i][j];
        mas[i][j++] = mas[i][N - n];
        mas[i++][N - n++] = tmp;
    }
}
 
int main()
{
    int **arr, i, j;
 
    arr = (int**)malloc(N * sizeof(int*));
    if (!arr)
        exit(-1);
 
    for (i = 0; i < N; ++i)
    {
        arr[i] = (int*) malloc (N * sizeof(int));
        if (!arr[i])
            exit(-1);
    }
 
    for (i = 0; i < N; ++i)
        for (j = 0 ; j < N; ++j)
            arr[i][j] = rand() % 40;
 
    printf("\n");
 
    for (i = 0; i < N; ++i)
    {
        for (j = 0; j < N; ++j)
        {
            if (arr[i][j] > 9)
                printf("%i ", arr[i][j]);
            else
                printf("%i  ", arr[i][j]);
        }
        printf("\n");
    }
 
    change(arr);
    printf("\n");
    for (i = 0; i < N; ++i)
    {
        for (j = 0; j < N; ++j)
        {
            if (arr[i][j] > 9)
                printf("%i ", arr[i][j]);
            else
                printf("%i  ", arr[i][j]);
        }
        printf("\n");
    }
    for (i = 0; i < N; ++i)
        free(arr[i]);
    free(arr);
    return 0;
}
 
Текущее время: 19:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru