Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи по C/С++

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

ne_viens

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

int matrix()
{
    int ret = 0, row, col, rows, cols;
    float tmp, sred, **matrica;

//-------------------------------------------------create matrix
    printf("Vvedite razmernost massiva(m*n): ");
    scanf("%d %d", &rows, &cols);
    
    matrica = (float**)malloc(rows * sizeof(void*));

    for(row = 0; row < rows; ++row)
        matrica[row] = (float*)malloc(cols * sizeof(float));

//-------------------------------------------------init and print
    srand(time(0));  
    for(row = 0; row < rows; ++row)
    {
        for(col = 0; col < cols; ++col)
        {
            tmp = (rand() % 2001 - 1000) / 100.;
            if(col == cols - 1)
                tmp = -fabs(tmp);
            matrica[row][col] = tmp;
            printf("%7.2f", tmp);
        }
        puts("");
    }

//-------------------------------------------------locate all negatives column
   for(col = 0; col < cols; ++col)
   {
       for(row = 0; row < rows; ++row)
           if(matrica[row][col] >= 0)
               break;

       if(row == rows)
            break;
   }

    if(row != rows)
    {
        puts("no column with all negative members found");
        ret = -1;
        goto L0;
   }

//-------------------------------------------------calculate an average
   for(tmp = row = 0; row < rows; ++row)
       tmp += matrica[row][col];
   sred = tmp / rows;
   printf("Znachenie dlya vychitania %.2f\n", sred);

//-------------------------------------------------subtract average and print
    for(row = 0; row < rows; ++row)
   {
       for(col = 0; col < cols; ++col)
        {
            tmp = matrica[row][col] - sred;
            matrica[row][col] = tmp;
           printf("%7.2f", tmp);
        }
       puts("");
   }

//-------------------------------------------------destroy matrix
L0:    
    for(row = 0; row < rows; ++row)
        if(matrica[row])
            free(matrica[row]);
    if(matrica)
        free(matrica);
    return ret;
}


Всего записей: 1530 | Зарегистр. 01-11-2004 | Отправлено: 18:17 23-11-2014
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи по C/С++


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru