Страница 1 из 1
Помогите с задачей на матрицу
Добавлено: 04 июл 2008, 18:16
Styks
Ребят помогите с практикой, мы просто Си в галаза не видели все паскаль батрачили
дана действительная матрица m n , не все элементы которой равны нулю получить новую матрицу путем деления всех элементов данной матрицы на наибольший по модулю элемент
Re: Помогите с задачей на матрицу
Добавлено: 05 июл 2008, 00:14
F-R-O-S-T
Код: Выделить всё
#include <math.h>
int main();
{
//m и n придумай как вводить
double matrix[m][n];
double max=0;
int i,j;
//Вводишь матрицу как тебе надо
for (i=0;i<m;i++)
for (j=0;j<n;j++)
if (fabs(matrix[i,j])>fabs(max)) max=matrix[i,j];
//Предполагается что не нулевые элементы были и макс не 0 поэтому ничего не проверяем
for (i=0;i<m;i++)
for (j=0;j<n;j++)
matrix[i,j] /= max;
//Выводишь матрицу
return 0;
}
Re: Помогите с задачей на матрицу
Добавлено: 05 июл 2008, 00:17
Styks
А можно с началом и концом?)
Re: Помогите с задачей на матрицу
Добавлено: 05 июл 2008, 00:22
F-R-O-S-T
ты м и н сам вводишь ? Матрицу ты как вводишь ?
рандомную или с клавитуры ?
писать в стиле С или С++ ?
Re: Помогите с задачей на матрицу
Добавлено: 05 июл 2008, 23:10
Styks
В стиле С. Матрицу, хрен знает как вводишь, я полагаю с клавы....я тут сам пробовал написать, но помоему как то сложно выходит
...
srand((unsigned)time(0));
float **mass;
size_t row, col;
size_t i, j;
printf("Input rows & columns: ");
scanf("%d%d", &row, &col);
mass = (float**)malloc(row * sizeof(float*));
for ( i =0; i<row; i++ )
mass = (float*)malloc(col * sizeof(float));
for(i = 0; i < row; i++)
{
for(j = 0; j < col; j++)
{
mass[j] = (rand() / (float)32767 * 10);
printf("%4.2f\t", mass[j]);
}
putchar('\n');
}
float max = mass[0][0];
for(i = 0; i < row; i++)
for(j = 0; j < col; j++)
if(mass[j] > max)
max = mass[j];
printf("\nmaximum: %4.2f ", max);
printf("\n\n");
float **arr;
arr = (float**)malloc(row * sizeof(float*));
for ( i =0; i<row; i++ )
arr = (float*)malloc(col * sizeof(float));
for(i = 0; i < row; i++)
{
for(j = 0; j < col; j++)
{
arr[j] = mass[j] / max;
printf("%4.2f ", arr[j]);
}
putchar('\n');
}
for(i = 0; i < row; i++){
free(mass);
free(arr[i]);
}
free(mass);
free(arr);
...
Re: Помогите с задачей на матрицу
Добавлено: 05 июл 2008, 23:22
F-R-O-S-T
да со всеми динамическими переменными выходит сложно

но она работает у тебя ?
и в условии ты писал что делить не просто на наибольший , а наибольший по модули, я этого здесь не увидел.
Re: Помогите с задачей на матрицу
Добавлено: 06 июл 2008, 10:18
Romeo
Перемещено из раздела "С и С++" с сохранением ссылки.
Re: Помогите с задачей на матрицу
Добавлено: 08 июл 2008, 18:36
Styks
А можно чтоб для борландского турбо си запускалось? дерьмо в том что выдаеться 3 ошибки, или же полностью зависает все
Re: Помогите с задачей на матрицу
Добавлено: 08 июл 2008, 20:48
Romeo
Ошибки в студию.