Форум программистов, компьютерный форум 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". подробнее

Показать сообщение отдельно
nxnx
Формучанин
361 / 292 / 16
Регистрация: 02.11.2010
Сообщений: 1,226
28.09.2011, 15:15     Переворот массива относительно главной диагонали (транспонирование)
-=ЮрА=-,
Код из поста #11
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
int main()
{
        unsigned long i,j,m,n;
        float ** arr, sum;
        do
        {
                srand(time(NULL));
                printf("Enter dimension of array\r\n");
                printf("Num of Rows    : ");scanf("%u",&m);
                printf("Num of Colums : ");scanf("%u",&n);
 
                sum = 0;//Обнуляем сумму макс элементов
                arr = (float **)malloc(m*sizeof(float *));
                printf("pointer to arr : 0x%p\r\n",&arr[0][0]);
                for(i = 0; i < m; i++)
                {
                        arr[i] = (float *)malloc(n*sizeof(float));
                        for(j = 0; j < n; j++)
                        {
                                //Чтобы числа в массиве были не очень большими 
                                //генерируем их в диапазоне 0 - 100
                                printf("%f ",(arr[i][j] = rand()%100));
                        }
                        printf("\r\n");
                }
                for(j = 0; j < n; j++)
                        sum += MaxColVal(m, j, arr);
                printf("Summ max elements in colums : %f\r\n",sum);
                printf("Y - new input\r\n");
        }
        while(toupper(getch()) == 'Y');
        return 0;
}

Вопрос:
Цитата Сообщение от nxnx Посмотреть сообщение
C
1
2
arr = (float **)malloc(m*sizeof(float *));
printf("pointer to arr : 0x%p\r\n",&arr[0][0]);
чей адрес напечатает printf ?
Цитата Сообщение от Deviaphan Посмотреть сообщение
И, как дополнение
C
1
printf("pointer to arr : 0x%p\r\n", arr[0]);
был дан ответ:
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
float **arr
Верно или нет-судите сами, ибо я понятия не имею что означает такой ответ.

Ответ
Неизвестно чей адрес будет напечатан. Память инициализирована мусором, и
printf() может вывести какой угодно адрес.
адреса arr[0] и &arr[0][0] совпадают

Если бы массив указателей по адресу arr был инициализирован:
arr[0] - указатель на [0] массив из float-ов
&arr[0][0] - указатель на [0] элемент(float) [0] массива
 
Текущее время: 23:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru