Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Массив с указателями. 
:(
    Опции темы
Narim
Дата 10.4.2011, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 28.3.2011

Репутация: нет
Всего: нет



Здраствуйте.задали сделать задачу с указателями. я никак не могу сделать) Задача на языке СИ.вот условие: Дана матрица А размера m*n получить матрицу AAT (её размер m*n). 
вот код 
#include<stdio.h>
#include<conio.h>
#define m 3
#define n 4
main()
{
int i,j,k,a[m][n],b[n][m],c[m][m];
for(i=0;i<m;i++)
for(j=0;j<n;j++)
{
scanf("%d\t",&a[i][j]);
b[j][i]=a[i][j];
}

for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
printf("%3d",a[i][j]);
printf("\n");
}
printf("\nX\n");
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
printf("%3d",b[i][j]);
printf("\n");
}
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
c[i][j]=0;
for(k=0;k<n;k++)
c[i][j]+=a[i][k]*b[k][j];
}
for(i=0;i<m;i++)
{
for(j=0;j<m;j++)
printf("%3d ",c[i][j]);
printf("\n");
}
getch();
}
задача работает, но ее надо переделать с помощью указателей. заранее спасибо.
PM MAIL   Вверх
borisbn
Дата 11.4.2011, 01:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 21
Всего: 135



сделай a, b и c указателями
Код

int * a;
int * b;
int * c;

получи m и n
Код

printf( "m n:\n" );
scanf( "%d %d", &m, &n );

выдели память под a, b и c
Код

a = malloc( m * n * sizeof( int ) );
b = malloc( m * n * sizeof( int ) );
c = malloc( m * n * sizeof( int ) );

а далее везде, где встречается двойная адресация ( x[ row ][ col ] ) замени на x[ row * m + col ]
например
Код

for ( i = 0; i < m; i++ )
{
    for ( j = 0; j < n; j++ )
    {
        scanf( "%d\t", &a[ i * m + j ] );
        b[ j * m + i ] = a[ i * m + j ];
    }
}

не забудь в конце удалить память
Код

free( a );
free( b );
free( c );



P.S. Учись форматировать код, а то оооочень сложно читать

Это сообщение отредактировал(а) borisbn - 11.4.2011, 01:23


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0559 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.