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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Массив строк http://www.cyberforum.ru/cpp-beginners/thread64466.html
пусть имеется строку, содержащая слова, разделенные пробелами. Составить программу, выводящая слова данной строки в алфавитном порядке
C++ Узнать, какие разряды включены в число, а какие нет Помогите разобраться.Это все надо на Си. Значение int 4 байта т.е 32 бита.Пусть есть число 10(хотя в проге число зарание не известно!!) его представление в ячейке int 00000000000000000000000000001010 как сделать цикл,чтобы на каждом новом заходе брать значение следующего разряда? Т.е другими словами,как узнать какие разряды включены а какие нет. http://www.cyberforum.ru/cpp-beginners/thread64455.html
C++ Треугольная матрица (Borland v 3.1)
Помогите написать программку) Для вещественного числа α и целого k (k<=10) сформировать и напечатать вещественную матрицу b: http://i022.***********/0911/38/fec518f7cbbe.jpg Заранее спасибо=)
перечислимый тип C++
помогите пожалуйста написать конструктор, у которого в качестве параметра передается нужное поле из перечислимого типа!!!! на C++
C++ Считываение в массив http://www.cyberforum.ru/cpp-beginners/thread64417.html
Вводится строка чисел и знаков (допустим 22 + 3 + 4 / 2). Как сделать так, чтобы это дело считалось в массив без пробелов и каждое число и знак в свою ячейку массива? Добавлено через 24 секунды Ах да, в С, а не в С++ желательно.
C++ С++ Сортировка массива Помогите пожалуйста. Одномерный массив. Преобразовать массив таким образом, чтобы сначала располагались все элементы, целая часть которых лежит в интервале , а потом все остальные. Добавлено через 9 минут Я уже видела код данной программы на форуме, (http://www.cyberforum.ru/cpp-beginners/thread37817.html?uri=/cpp-beginners/thread37817.html). Но он не совсем понятный. Попроще реально... подробнее

Показать сообщение отдельно
TanT
эволюционирую потихоньку
464 / 462 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
17.11.2009, 14:16     Поменять элементы матрицы в направлении против часовой стрелки
для любого размера, но ПО часовой стрелки
против часовой догадаешься как сделать?
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 <stdlib.h>
#include <conio.h>
 
 
int main()
{
 
    printf("Enter size matrix: ");
    int n, cnt=0, temp, next_temp, next_i=0, next_j=0, sign_i=1, sign_j=0;
    int cycle=0;
    scanf("%d", &n);
 
    int**   matrix = (int**) malloc(n*sizeof(int));
    for (int i=0; i<n; i++)
    {
        matrix[i] = (int*)malloc(n*sizeof(int));
        for (int j=0; j<n; j++)
            matrix[i][j] = ++cnt;       
    }
    printf("\nMatrix before overturn:");
    for (int i=0; i<n; i++)
    {
        printf("\n");
        for (int j=0; j<n; j++)
            printf(" %3i",matrix[i][j]);        
    }
 
    // сдвигаем
    for (cycle=0; cycle<n/2; cycle++)
    {
        next_i=cycle; next_j=cycle;
        next_temp=matrix[next_i][next_j];
        for (int i=0; i<4*(n-1-2*cycle); i++)
        {       
            temp=next_temp;
            next_i-=sign_i; next_j-=sign_j;
            if(next_i<cycle)        {   next_i=cycle;   sign_i=0; sign_j=-1;    ++next_j;   /*printf("1 ");*/}
            if(next_j>=n-cycle) {   next_j=n-1-cycle; sign_i=-1; sign_j=0; ++next_i;/*printf("2 ");*/}
            if(next_i>=n-cycle) {   next_i=n-1-cycle; sign_i=0; sign_j=1; --next_j; /*printf("3 ");*/}
            if(next_j<cycle)        {   next_j=cycle;   sign_i=1; sign_j=0; --next_i; /*printf("4 ");*/}
            next_temp=matrix[next_i][next_j];
            matrix[next_i][next_j]=temp;
            //printf("(%i,%i): %i\n",next_i,next_j, matrix[next_i][next_j]);        
        }
    }   
 
    printf("\nMatrix after overturn:");
    for (int i=0; i<n; i++)
    {
        printf("\n");
        for (int j=0; j<n; j++)
            printf(" %3i",matrix[i][j]);        
    }
 
    getch();
    return 0;
}
 
Текущее время: 10:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru