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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.09.2010, 12:42   #1
Kuzemark
Новичок
Джуниор
 
Регистрация: 03.09.2010
Сообщений: 2
По умолчанию Генерация матриц

Доброго времени суток.
Нужно сгенерировать матрицы, заполнив их рандомными значениями.
В данном примере: генрируются две матрицы 5х5, внутри одной матрицы все значения одинаковые.
Как сделать, чтобы каждая строка заполнялась рандомно? Всю голову уже сломал.
Заранее спасибо.

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

int N, e, v, r, i, j, k, s, stime;
long ltime;

double rand_float(double low, double high){
    return ((double)rand()*(high-low))/(double)RAND_MAX+low;
}

int main(int argc, char *argv[])
{
    double A[e][e], B[e];

	e= 5; // число уравнений
	v= 2; // число вариантов
	for(k= 0; k<v; k++){
		ltime= time(NULL);
		stime= (unsigned)ltime+(int)pow(-2, k);
		srand(stime);
		for(i= 0; i<e; i++){
			for(j= 0; j<e; j++){
				A[i][j]= rand_float(-50, 50);
				printf("");
			}
		}
		for(i= 0; i<e; i++){
			for(j= 0; j<e; j++)
				printf("%.2f\t", A[i][j]);
			printf("\n");
		}
		printf("\n");
	}
	getchar();
	return 0;
}

Последний раз редактировалось Stilet; 06.09.2010 в 13:06.
Kuzemark вне форума Ответить с цитированием
Старый 06.09.2010, 13:18   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Как сделать, чтобы каждая строка заполнялась рандомно?
Твой код это и делает, но:
1) переменную е нужно описать как константу:
Код:
const int e=5;
Не знаю как у тебя а у меня компилятор руается
2)
Цитата:
pow(-2, k);
Код:
pow((float)-2, k)
ато компилятор не понимает какую из перегруженных pow брать.

А так все ок. Вот результ:
Цитата:
35.97 13.40 24.19 -20.69 -48.76
-25.70 -13.65 -36.88 -25.72 25.74
38.55 -17.53 1.89 45.49 -7.13
15.00 9.41 32.78 25.82 -41.58
-27.87 6.55 -3.69 38.91 -47.45

35.94 15.00 -39.36 -41.00 -43.19
38.35 -42.14 -10.08 23.11 -17.97
39.90 -17.93 -0.80 -6.00 -10.30
-43.73 -36.11 -35.91 9.06 43.04
-32.38 -35.19 -41.15 -25.31 18.86
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.09.2010, 14:09   #3
Kuzemark
Новичок
Джуниор
 
Регистрация: 03.09.2010
Сообщений: 2
По умолчанию

Спасибо, все заработало.
И последний вопрос: Как объявлять e, если она будет задаваться в процессе выполнения программы?
Kuzemark вне форума Ответить с цитированием
Старый 06.09.2010, 19:17   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Как объявлять e, если она будет задаваться в процессе выполнения программы?
int e;
И память под массивы тогда надо выделять динамически.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработка Матриц(Упорядочивание Элементов,Вывод На Экран Матриц При Условии...) timepoka Помощь студентам 8 01.07.2011 13:20
генерация чисел nXs Общие вопросы Delphi 2 13.08.2010 11:39
генерация книг Slamfist Microsoft Office Excel 3 15.03.2010 14:08
Генерация Штрихкода vlad00777 Помощь студентам 13 13.09.2009 17:13