Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [C++]Создание двумерный массив


Автор: skylex 30.12.2008, 16:54
Чтоб не создавать новую тему я решил написать в этой.
Задание:
Создать двумерный массив,ввести туда любые числа rand() % 100 и посчитать их по диагонали.
Помогите пожалуйста. smile  

Автор: pan2004 30.12.2008, 18:20
Цитата(skylex @  30.12.2008,  16:54 Найти цитируемый пост)
Задание:Создать двумерный массив,ввести туда любые числа rand() % 100 и посчитать их по диагонали.Помогите пожалуйста.   

10€.
Лучше скажи, на чем запнулся.

Автор: skylex 30.12.2008, 18:46
pan2004,
Спасибо за такую помощь.

Автор: Dmi3ev 30.12.2008, 19:22
объясни нормально, что сделать, сделаю, я добрый под новый год...  smile

Добавлено через 30 секунд
кого посчитать по диагонали?
непонятно (мне лично)...

Добавлено через 48 секунд
давай задание в нормальном виде, помогу...

Автор: Dmi3ev 30.12.2008, 20:45
смотрю, ты не очень хотел получить решение, как подарок, под новый год.  smile 
вот тебе подсчет суммы по диагоналям...
Код

//---------------------------------------------------------------------------
#include <iostream.h>
#include <stdlib.h>

//---------------------------------------------------------------------------

int main()
{
int **a;
int n;//количество строк, столбцов
long s1=0;//сумма по диагонали1
long s2=0;//сумма по диагонали2
//вводится количество строк, столбцов
cout<<"Enter number of coloumns, rows:";
cin>>n;
cout<<endl;
//выделяю память для нашей матрицы n x n
a=new int *[n];
for (int i=0; i<n; i++)
 a[i]=new int [n];
//задание и вывод значений элементов матрицы
cout<<"YOUR MATRIX "<<n<<" x "<<n<<": "<<endl;
for (int i=0; i<n; i++)
 {
  for (int j=0; j<n; j++)
   {
    *(*(a+j)+i)=rand()%100;
    cout<<*(*(a+j)+i)<<"; ";
   }
  cout<<endl;
 }
//считаю суммы
for (int i=0; i<n; i++)
{
 s1+=*(*(a+i)+i);
 s2+=*(*(a+n-i-1)+i);
}
//вывод результатов
cout<<"Summ1="<<s1<<endl;
cout<<"Summ2="<<s2<<endl;
return 0;
}
//---------------------------------------------------------------------------

Автор: Sannis 31.12.2008, 01:38
Цитата(Dmi3ev @  30.12.2008,  20:45 Найти цитируемый пост)
*(*(a+j)+i)

Запутал новичка smile))) Он же под новый год может это не понять.

Автор: solverr 31.12.2008, 01:40
Цитата(Sannis @  31.12.2008,  01:38 Найти цитируемый пост)
Запутал новичка smile))) Он же под новый год может это не понять. 

+1
Чем эта запись лучше, чем a[j][i]?

Автор: Dmi3ev 31.12.2008, 11:48
Цитата

Чем эта запись лучше, чем a[j][i]?

Я с указателями сделал (захотелось), записал все как надо, что не так? все довольно просто  smile 
solverr, сделай по-другому! smile


Цитата

Запутал новичка smile))) Он же под новый год может это не понять. 

тогда с этим как быть smile
Код

s2+=*(*(a+n-i-1)+i);

помог пацану, а вы...  smile
под новый год взялся помогать одному просящему в день smile

Автор: solverr 31.12.2008, 13:09
Цитата(Dmi3ev @ 31.12.2008,  11:48)
Цитата

помог пацану, а вы...  smile
под новый год взялся помогать одному просящему в день smile

Ладно, я тоже буду писать по одной программе в день smile
http://forum.vingrad.ru/forum/topic-242301.html

Автор: skylex 4.1.2009, 21:28
Спасибо большое всем,репутации пока ставить не могу... smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)