ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 09.03.2010, 15:19
4p3
Участник форума
Регистрация: 18.08.2008
Сообщений: 159
Провел на форуме:
750247

Репутация: 92
Отправить сообщение для 4p3 с помощью ICQ
По умолчанию

Цитата:
Сообщение от Welemir  
Приветствую ).нужна помощь в следующем:

Написать функцию типа void ,которая перемножает две целочисленные матрицы (z = x*y),используя только адресную арифметику.Объявляется три двумерных массива (int x[m][n], int y[m][n],int z[m][n]).Зачем-то задаются ещё две целочисленные константы(не пойму,для чего).Кто-нибудь может это осилить ? Не догоняю я эти матрицы...линейной алгебры у нас нет.

P.S.: НЕЛЬЗЯ ИСПОЛЬЗОВАТЬ СИМВОЛЫ [].РАЗРЕШЕНА ТОЛЬКО АДРЕСНАЯ АРИФМЕТИКА И УКАЗАТЕЛИ !
http://ru.wikipedia.org/wiki/%D0%9F%D0%B5%D1%80%D0%B5%D0%BC%D0%BD%D0%BE%D0%B6%D 0%B5%D0%BD%D0%B8%D0%B5_%D0%BC%D0%B0%D1%82%D1%80%D0 %B8%D1%86#.D0.9E.D0.BF.D0.B5.D1.80.D0.B0.D1.86.D0. B8.D0.B8_.D0.BD.D0.B0.D0.B4_.D0.BC.D0.B0.D1.82.D1. 80.D0.B8.D1.86.D0.B0.D0.BC.D0.B8

Вот ссылка на вики, где написан алгоритм.
Ты не можешь перемножать int x[m][n], int y[m][n]
разве что int x[m][n], int[n][m]. Так как результирующая размерность должна быть [m][m].

Вот код, как примерно обращаться к чему.

PHP код:
#include <QtCore/QCoreApplication>
#include <iostream>
#include <cstdlib>

using namespace std;

int main(int argcchar *argv[])
{
    
QCoreApplication a(argcargv);
    const 
int size 5;
    
int **= new int*[size];
    for (
int i 0size;++i)
        
x[i] = new int[size];

    for (
int i 0;size;++i)
    for (
int j 0;size;++j)
        
x[i][j] = i*j;

    for (
int i 0;size;++i)
    {
        for (
int j 0;size;++j)
           
cout << x[i][j] << " ";
        
cout << endl;
    }

    
cout << *(*(x+1)+1) << endl// x[1][1]
    
cout << *(*(x+4)+4) << endl// x[4][4]
    
for (int i 0;size;++i)
        
delete[] x[i];
    
delete []x;
    
NULL;
    
system("pause");
    return 
0;

 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сюда выкладываем все проги для фрикринга мобильников, которых знаем! nigger Сотовый фрикинг 5 11.04.2009 11:15
Американским студентам запретили пользоваться Skype KPOT_f!nd Мировые новости 1 28.09.2006 03:47
Любителям квестов сюда!! FoX's Болталка 10 25.01.2005 20:42



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ