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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> массивчик 
:(
    Опции темы
киса2009
  Дата 21.9.2009, 18:25 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 72
Регистрация: 21.9.2009
Где: Москва))

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



Здравствуйте. Программировать начала недавно, так что многих вещей не знаю
есть задача
Сформировать матрицу A=(aij)nxn, элементы которой определяются формулой:
aij = cos (i + j ) * x
Из матрицы A=(aij)nxn получить матрицу B=(bij)nxn , переставляя в каждой строке наибольший по абсолютной величине (первый, если их несколько) с элементом, стоящим на главной диагонали.    

x = П / 10

Сделала её часть, с функцией, а с максимумом и заменой никак
Код

 #include <stdio.h>
 #include <math.h>
 #include <conio.h>
 #include <iostream.h>

 const double X = 3.14 /10;
 void SetValue(double *A, int i, int j, int n)
 {
 *(A + (i*n+j)) = cos(double(i+j))*X;
 cout <<  *(A + (i*n+j)) << "  ";
 }
 int main()
 {
 int N, i, j;

 printf("Razmernost A:");
 scanf("%d", &N);
 double** A = new double*[N];
 for (i=0;i<N;i++)
 A[i] = new double[N];
 for (i=0; i<N; i++)
 {
 for (j=0; j<N; j++)
 {
 SetValue(&A[0][0], i, j, N);
 }
 }
 //vivod
 printf("\nVvedennaya matrica :\n");
 for (i=0; i<N; i++)
 {
 for (j=0;j<N;j++)
 printf("%d\t",&A[i][j]);
 printf("\n");
 }
 delete []A;
 getch();
 return 0;
 }


но там тоже есть маленькая проблемка. При выводе массива значения не соответствуют действительности, но зато они соответствуют ей в строчке 
 cout <<  *(A + (i*n+j)) << "  ";
помогите пожалуйста доделать, вам это раз плюнуть, а я уже 3ю ночь почти не сплю..
PM MAIL ICQ   Вверх
IKM2007
Дата 21.9.2009, 20:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зима близко
**


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

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



Цитата(киса2009 @  21.9.2009,  18:25 Найти цитируемый пост)
 а я уже 3ю ночь почти не сплю..

мда...
прочитать твой код небыло желания, написал сначала.

Код

#include <iostream>
#include <iomanip>
#include <cmath>

void swap(double &a, double &b)
{
double temp = a;
a = b;
b = temp;
}

double &max_item(double *a, int n)
{
int max_index = 0, i;

for(i = 1; i < n; ++i)
    if( a[max_index] < a[i])
        max_index = i;

return a[max_index];
}

void print(double **a, int n)
{
std::cout<<"-----Print array-----\n\n";
int i, j;

for(i = 0; i < n; ++i)
{
    for(j = 0; j < n; ++j)
        std::cout<<std::setw(9)<<a[i][j]<<" ";
    std::cout<<"\n";
}

std::cout<<"\n";
}

int main()
{
int n, i, j;
std::cin>>n;
double **a = new double* [n], **b = new double* [n];

for(i = 0; i < n; ++i)
{
    a[i] = new double [n];
    b[i] = new double [n];
}

for(i = 0; i < n; ++i)
    for(j = 0; j < n; ++j)
        a[i][j] = b[i][j] = cos(static_cast<double>(i + j)) * 0.314;

print(a, n);

for(i = 0; i < n; ++i)
    swap(max_item(b[i], n), b[i][i]);

print(b, n);

for(i = 0; i < n; ++i)
{
    delete [] a[i];
    delete [] b[i];
}

delete [] a;
delete [] b;
}


Это сообщение отредактировал(а) IKM2007 - 21.9.2009, 20:14


--------------------
"К чёрту обстоятельства, я создаю возможности."
Брюс Ли
PM MAIL Skype   Вверх
bsa
Дата 21.9.2009, 20:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

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




M
bsa
киса2009 и IKM2007, срочно читать Оформление кода, после прочтения переформатировать опубликованный выше код.


Это сообщение отредактировал(а) bsa - 21.9.2009, 20:12
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

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

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

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

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


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

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


 




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


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

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