Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.07.2012, 10:00   #1
acd
 
Регистрация: 17.07.2012
Сообщений: 6
По умолчанию Разработать программу. Буду очень благодарен!

1) рассчитать элементы квадратной матрицы A = (aij ), i,j = 0,1,2,...,n-1 по заданной формуле;
2) сформировать из матрицы A элементы вектора X = (xi), i = 0,1,2,...,n-1 по заданному правилу;
3) провести заданное упорядочение элементов матрицы А или вектора Х.

1) Aij=(pow(j,1/i)+pow(i,1/j))/sqrt(i*j)
2) xi – среднеарифметическое значение положительных элементов i-й строки;
3) упорядочить элементы побочной диагонали матрицы А по убыванию абсолютных значе-ний;
acd вне форума Ответить с цитированием
Старый 17.07.2012, 11:18   #2
Артём Волжанкин
Пользователь
 
Аватар для Артём Волжанкин
 
Регистрация: 07.07.2012
Сообщений: 99
По умолчанию

А почему сам не сделаешь?

Код:
for (int i=0; i<n; i++)
  for (int j=0; j<n; j++)
     a[i][j]=(pow(j,1/i)+pow(i,1/j))/sqrt(i*j);
Человек

Последний раз редактировалось Stilet; 17.07.2012 в 11:28.
Артём Волжанкин вне форума Ответить с цитированием
Старый 17.07.2012, 11:40   #3
acd
 
Регистрация: 17.07.2012
Сообщений: 6
По умолчанию

Цитата:
Сообщение от Артём Волжанкин Посмотреть сообщение
А почему сам не сделаешь?

Код:
for (int i=0; i<n; i++)
  for (int j=0; j<n; j++)
     a[i][j]=(pow(j,1/i)+pow(i,1/j))/sqrt(i*j);
Спасибо! Я заочник, ума не хватает на такие задачки...
acd вне форума Ответить с цитированием
Старый 17.07.2012, 11:43   #4
acd
 
Регистрация: 17.07.2012
Сообщений: 6
По умолчанию

for (int i=0; i<n; i++)
for (int j=0; j<n; j++)
a[i][j]=(pow(j,1/i)+pow(i,1/j))/sqrt(i*j);

Программа выдает ответ только для одного значения n, как сделать чтобы для каждого значения выводилось?

Последний раз редактировалось acd; 17.07.2012 в 11:51.
acd вне форума Ответить с цитированием
Старый 17.07.2012, 12:35   #5
Артём Волжанкин
Пользователь
 
Аватар для Артём Волжанкин
 
Регистрация: 07.07.2012
Сообщений: 99
По умолчанию

на нуль делить нельзя. Поэтому в этом коде ввел замену на единицу. Как тебе надо не знаю. Сортировка сделана. А векторы не знаю что такое.

Код:
#include<iostream>
#include<locale>
#include<time.h>
#include<math.h>
using namespace std;

void main() {
	setlocale(LC_ALL, "RUS");

	float mas[100][100];
	int n;

	cout << "Введите размеры матрицы\n";
	cin >> n;

	float l;
	float k;
	double m;
	for (int i=0; i<n; i++)
		for (int j=0; j<n; j++){
			if (i) l=(float)1/i; else  l=1;
			if (j) k=(float)1/j; else  k=1;
			if (i && j ) m=i*j; else m=1;
			mas[i][j]=(float)(pow(j,l)+pow(i,k))/sqrt(m);
		}

		cout<<"\n";
		for (int i=0; i<n; i++){
		cout<<"\n";
		for (int j=0; j<n; j++){
			cout.width(9);
			cout.fixed;
			cout<< mas[i][j];
		}
	}
	float b;
	for (int c=0; c<n; c++)
	for (int i=0; i<n; i++)
		for (int j=0; j<n; j++)
			if (i<n-1 && j>0) if (abs(mas[i][j])<abs(mas[i+1][j-1])){
				b=mas[i][j];
				mas[i][j]=mas[i+1][j-1];
				mas[i+1][j-1]=b;
			
			}

		cout<<"\n";
		for (int i=0; i<n; i++){
		cout<<"\n";
		for (int j=0; j<n; j++){
			cout.width(9);
			cout<< mas[i][j];
		}
	}
	
	system("PAUSE >> VOID");
}
Человек
Артём Волжанкин вне форума Ответить с цитированием
Старый 17.07.2012, 18:16   #6
acd
 
Регистрация: 17.07.2012
Сообщений: 6
По умолчанию

Цитата:
Сообщение от Артём Волжанкин Посмотреть сообщение
на нуль делить нельзя. Поэтому в этом коде ввел замену на единицу. Как тебе надо не знаю. Сортировка сделана. А векторы не знаю что такое.

Код:
#include<iostream>
#include<locale>
#include<time.h>
#include<math.h>
using namespace std;

void main() {
	setlocale(LC_ALL, "RUS");

	float mas[100][100];
	int n;

	cout << "Введите размеры матрицы\n";
	cin >> n;

	float l;
	float k;
	double m;
	for (int i=0; i<n; i++)
		for (int j=0; j<n; j++){
			if (i) l=(float)1/i; else  l=1;
			if (j) k=(float)1/j; else  k=1;
			if (i && j ) m=i*j; else m=1;
			mas[i][j]=(float)(pow(j,l)+pow(i,k))/sqrt(m);
		}

		cout<<"\n";
		for (int i=0; i<n; i++){
		cout<<"\n";
		for (int j=0; j<n; j++){
			cout.width(9);
			cout.fixed;
			cout<< mas[i][j];
		}
	}
	float b;
	for (int c=0; c<n; c++)
	for (int i=0; i<n; i++)
		for (int j=0; j<n; j++)
			if (i<n-1 && j>0) if (abs(mas[i][j])<abs(mas[i+1][j-1])){
				b=mas[i][j];
				mas[i][j]=mas[i+1][j-1];
				mas[i+1][j-1]=b;
			
			}

		cout<<"\n";
		for (int i=0; i<n; i++){
		cout<<"\n";
		for (int j=0; j<n; j++){
			cout.width(9);
			cout<< mas[i][j];
		}
	}
	
	system("PAUSE >> VOID");
}
Спасибо! Теперь мне есть от чего отталкиваться.
acd вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
нужна помошь(буду благодарен очень) loloverg Помощь студентам 2 17.05.2010 19:19
Помогите пожалуйста с задачей на с++!!!!! Очень буду благодарен!!! sder33333 Помощь студентам 5 29.03.2009 18:50
2 задачи по файлам. Буду очень благодарен! RomT24 Помощь студентам 2 11.03.2009 11:40
помогите решить задачи в делфи буду очень благодарен пыхонин филипп Помощь студентам 4 05.01.2009 23:24