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

Переворот массива относительно главной диагонали (транспонирование) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ вещественная матрица http://www.cyberforum.ru/cpp-beginners/thread357441.html
нужна помощь с решением двух задач не как не получается их решить, на язык С 1)Задана вещественная матрица размером N×M. Определить сумму максимальных элементов всех столбцов матрицы. 2)Написать программу ввода информации по студенту (Ф.И.О.,группа,факультет,курс). фамилия, имя, отчество (строки по 15 символов); курс (целое число от 1 до 5); средний балл (вещественное число от 1 до...
C++ Как одну функцию использовать в двух проектах Есть функция которую нужно вызывать в двух проектах Я поместил ее в отдельный .cpp файл Проблема в том что в двух разных проектах свои хедер файлы(.h) которые нужно включать в .cpp c этой функцией Как можно в зависимости от проекта делать разные #include в этом .cpp файле ? или может есть другие способы использовать одну функцию в двух проектах ? http://www.cyberforum.ru/cpp-beginners/thread357407.html
Написать функцию, которая в массиве char ищет цифры и заменяет их символом "#" C++
Простите за наглость... Но в С++ вообще плыву. Просьба - помогите пожалуйста в написании программки, если вас не слишком затруднит...!!! Задание:В главной программе следует описать два массива S\ и S2. Элементы первого массива следует задать при описании, второго-ввести с клавиатуры. Обработать каждый из массивов с помощью составленной функции и результаты вывести на экран. Написать функцию,...
3 метода соотировка C++
написать 3 метода соотировка
C++ Уроки по C++ для самых маленьких http://www.cyberforum.ru/cpp-beginners/thread357386.html
Приветствую всех. Размещаю ссылку на уроки по C++ для новичков. Описание из meta description: Данный раздел предназначен для тех, кто совершенно не знаком с какими либо языками программирования, но хочет познакомиться. Здесь будут выкладываться подробные статьи о языке программирования C/C++, но особое внимания будет уделено последнему. Мы начнем с основных принципов и закончим данный...
C++ АТД список. Замена элементов в списке Здравствуйте. Нужна ваша помощь! Подскажите пожалуйста как заменить элементы в списке которые стоят на четных позициях? Суть примера такова!! Пользователь вводит символ 'Х' и если есть такой символ на четных позициях в списке, то его заменить на "Y". подробнее

Показать сообщение отдельно
-=ЮрА=-
Заблокирован
Автор FAQ
28.09.2011, 11:05     Переворот массива относительно главной диагонали (транспонирование)
b1ood, компилятор?(билдер, студия и т.д.)Язык Си или С++?

Добавлено через 10 минут
Вот на Си 1-й пункт
Добавлено через 11 минут
Упс не тот код вначале выложил (верней топики спутал) - теперь всё ок!
Код Си 1-й пункт
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
int main()
{
    unsigned long i,j,m;
    double ** arr,buf;
    do
    {
        srand(time(NULL));
        printf("Enter dimension of array : ");scanf("%u",&m);
 
        arr = new double *[m];
        for(i = 0; i < m; i++)
        {
            arr[i] = new double[m];
            for(j = 0; j < m; j++)
            {
                //Чтобы числа в массиве были не очень большими 
                //генерируем их в диапазоне 0 - 100
                printf("%.f ",(arr[i][j] = rand()%100));
            }
            printf("\r\n");
        }
        printf("\tTransponed array\r\n");
        //Транспонирование
        for(i = 0; i < m; i++)
        {
            for(j = 0; j < m; j++)
            {
                if(i < m/2)
                {
                    buf = arr[i][j];
                    arr[i][j] = arr[j][i];
                    arr[j][i] = buf;
                }
                printf("%.f ",arr[i][j]);
            }
            printf("\r\n");
        }
 
        printf("Y - new input\r\n");
    }
    while(toupper(getch()) == 'Y');
    return 0;
}

Enter dimension of array : 5
95 90 69 92 68
Продолжение вывода
89 26 20 21 59
80 41 13 37 42
18 83 40 78 30
52 4 20 15 0
Transponed array
95 89 80 18 52
89 26 41 83 4
69 20 13 37 42
92 21 40 78 30
68 59 20 15 0
Y - new input


Добавлено через 7 минут
Цитата Сообщение от b1ood Посмотреть сообщение
Все тоже самое как в первом только значения N и М вводятся с клавиатуры.
М == N иначе матрицу нельзя транспонировать!Мой 1-й пост объяединяет в себе 1-е и 2-е задание (вводим М - сгенерированными случайными числами заполняется массив МхМ), затем транспонируется...
Сейчас будет 3-й пункт

Добавлено через 4 минуты
Вот так выглядит 3-й пункт
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
#include <stdio.h>//i/o
#include <stdlib.h> //srand
#include <conio.h> //getch()
#include <ctype.h> //toupper
#include <time.h>  //time()
 
void Transpon(int m, double **arr)
{
    double buf;
    for(int i = 0,j; i < m; i++)
    {
        for(j = 0; j < m; j++)
        {
            if(i < m/2)
            {
                buf = arr[i][j];
                arr[i][j] = arr[j][i];
                arr[j][i] = buf;
            }
        }
    }
}
 
int main()
{
    unsigned long i,j,m;
    double ** arr;
    do
    {
        srand(time(NULL));
        printf("Enter dimension of array : ");scanf("%u",&m);
 
        arr = new double *[m];
        for(i = 0; i < m; i++)
        {
            arr[i] = new double[m];
            for(j = 0; j < m; j++)
            {
                //Чтобы числа в массиве были не очень большими 
                //генерируем их в диапазоне 0 - 100
                printf("%.f ",(arr[i][j] = rand()%100));
            }
            printf("\r\n");
        }
        printf("\tTransponed array\r\n");
        //Транспонирование
        Transpon(m, arr);
        //Выводим массив на экран
        for(i = 0; i < m; i++,printf("\r\n"))
        for(j = 0; j < m; j++)
            printf("%.f ",(arr[i][j] = rand()%100));
        printf("Y - new input\r\n");
    }
    while(toupper(getch()) == 'Y');
    return 0;
}
 
Текущее время: 03:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru