Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 05.07.2009, 03:23   #1 (permalink)
Sidxoi
Новичок
 
Регистрация: 05.07.2009
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Программа на C++ Помогите, очень надо!

Надо написать программу на С++, а я в нем не бум-бум=(((( помогите пожалуйста, очень надо. из института из-за этой программы не хочется вылетать.
Задача:
Дана действительная квадратная матрица порядка 2n. Получить новую матрицу, переставляя её блоки размера nxn. крест на крест.
Я понимаю, что программа простая, но пожалуйста помогите.
Sidxoi вне форума   Ответить с цитированием

Старый 05.07.2009, 03:23
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Наверняка вам будет полезна информация которая содержится в данных обсуждениях

Хочу MP3 установить на скутер, а к MP3 надо сделать колонки
Помогите с Паскалем
Java очень надо
Помогите, очень срочно надо собрать компьютер
Помогите с графикой, очень надо

Старый 12.07.2009, 00:06   #2 (permalink)
ramsujot
Member
 
Регистрация: 24.06.2009
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Не помню точно, эта или или нет, давно писал, надеюсь поможет.
//2. Сортування матриці
void FillMat(int arr[][5], int row, int col)
{
for(int i=0; i<row; i++)
{
for(int j=0; j<col; j++)
{
arr[i][j]=rand()%50;
}
}
}
void PrintMat(int arr[][5], int row, int col)
{
for(int i=0; i<row; i++)
{
for(int j=0; j<col; j++)
{
cout<<arr[i][j]<<"\t";
}
cout<<endl;
}

}
void SortMat(int arr[][5], int row, int col)
{
for (int i=0;i<row;i++)
{
for (int j=0;j<col-1;j++)
{

bool flag=false;
for (int q=col-1;q>j;q--)
{
if (arr[i][q]<arr[i][q-1])
{
int tmp=arr[i][q];
arr[i][q]=arr[i][q-1];
arr[i][q-1]=tmp;
flag=true;
}
}
if (flag=false)
{
break;
}

}
}
}
void main ()
{
srand (time(0));
int const row=5;
int const col=5;
int arr[row][col];
FillMat(arr, row, col);
PrintMat(arr, row, col);
cout<<endl;
SortMat(arr, row, col);
PrintMat(arr, row, col);
cout<<endl;
}
ramsujot вне форума   Ответить с цитированием
Старый 27.07.2009, 13:58   #3 (permalink)
pcbag
Member
 
Аватар для pcbag
 
Регистрация: 02.04.2007
Сообщений: 268
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 1616
По умолчанию

arr[] - а разве не будет ругатся на отсутствие индекса масива?
pcbag вне форума   Ответить с цитированием
Старый 20.08.2009, 22:09   #4 (permalink)
csbwalker
Member
 
Аватар для csbwalker
 
Регистрация: 03.03.2009
Сообщений: 87
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 187
По умолчанию

Цитата:
Сообщение от pcbag Посмотреть сообщение
arr[] - а разве не будет ругатся на отсутствие индекса масива?
Вообще от компилятора конечно зависит, но в целом не должно - данных компилятору хватает, срабатывает же такой кусок
Код:
#include <string.h>

int func(char a[])
{
   return strlen(a);
}

int main()
{
char arr[80];
   arr[0] = '\0';
   return func(arr);
}
Да и, в принципе, если бы не срабатывало - было бы ошибкой компилятора, т.к. более чем часто невозможно заранее сказать каков будет размер массива, передаваемого функции.
Хотя конкретно в этом случае можно было бы написать и конкретное значение - т.к. используется только 5, правда это сказалось бы если бы захотелось эту 5 изменить в дальнейшем.

Последний раз редактировалось csbwalker; 20.08.2009 в 22:12
csbwalker вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 10:55.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.