Форум программистов, компьютерный форум CyberForum.ru

Двумерный массив. Возведение в степень составляющих массива - C++

Восстановить пароль Регистрация
 
atsyplenkov
0 / 0 / 0
Регистрация: 23.12.2012
Сообщений: 11
23.12.2012, 14:10     Двумерный массив. Возведение в степень составляющих массива #1
Добрый день. Помогите, пожалуйста, закончить программу, точнее написать.
Задача:
Создать двумерный массив из целых чисел 5х5 размер. Возвести эти значения в степень 1/3. И выдать все это в новом файле.
C++
1
2
3
4
5
6
7
8
#include <stdio.h>
main()
{
    int mas[5][5] = {{12 13 13 14 14}, {12 12 34 54 45}, {12 12 42 42 12}, {34 12 12 43 12}, {12 43 54 21}};
    int i, j;
    float stepen = 0.33333
    FILE*fl;
    fl=fopen ("new.txt", "w");
что дальше писать?
помогите, пожалуйста.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.12.2012, 14:10     Двумерный массив. Возведение в степень составляющих массива
Посмотрите здесь:

Возведение в степень C++
C++ Возведение степень
Возведение в степень! C++
C++ Возведение в степень
Возведение a в степень b C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SummerRain
 Аватар для SummerRain
325 / 324 / 17
Регистрация: 16.12.2012
Сообщений: 544
23.12.2012, 14:28     Двумерный массив. Возведение в степень составляющих массива #2
вычисляем степень 1/3 и сразу же присваиваем текущему элементу массива

C++
1
2
3
4
5
6
#include <iostream>
#include <math.h>
 
    for (int i = 0; i < m; ++i)
        for (int j= 0; j < 4; ++j)
            mas[i][j] = pow(mas[i][j], 1 * 1.0 / 3);
atsyplenkov
0 / 0 / 0
Регистрация: 23.12.2012
Сообщений: 11
23.12.2012, 14:36  [ТС]     Двумерный массив. Возведение в степень составляющих массива #3
SummerRain, а запись в файл как сделать?

Скажите, пжлст, что тут неверно?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <math.h>
#define M 5
#define N 5
main()
{
    int mas[5][5] = {{12 13 13 14 14}, {12 12 34 54 45}, {12 12 42 42 12}, {34 12 12 43 12}, {12 43 54 21}};
    int i, j;
    FILE*fl;
    fl=fopen ("new.txt", "w");
    for (int i = 0; i < M; ++i)
    {
        for (int j= 0; j < N; ++j)
            mas[i][j] = pow(mas[i][j], 1 * 1.0 / 3);
        fprintf (fl, mas[i][j]);
    }
    fclose (fl);
}
SummerRain
 Аватар для SummerRain
325 / 324 / 17
Регистрация: 16.12.2012
Сообщений: 544
23.12.2012, 14:39     Двумерный массив. Возведение в степень составляющих массива #4
http://ru.wikipedia.org/wiki/Stdio.h
тут всё подробно написанно
atsyplenkov
0 / 0 / 0
Регистрация: 23.12.2012
Сообщений: 11
23.12.2012, 14:54  [ТС]     Двумерный массив. Возведение в степень составляющих массива #5
Спасибо, но мне нужно использовать именно эту библиотеку. С предыдущей своей проблемой я разобрался - неправильно задал массив. Сейчас вроде все работает, но в результате в файле new.txt мусор
Прошу Вас указать на ошибки, именно в этом варианте написания программы.
Спасибо

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <math.h>
#define M 5
#define N 5
main()
{
    int mas[M][N] = {{12, 13, 13, 14, 14}, {12, 12, 34, 54, 45}, {12, 12, 42, 42, 12}, {34, 12, 12, 43, 12}, {12, 43, 54, 21, 23}};
    int i, j;
    FILE*fl;
    fl=fopen ("new.txt", "w");
    for (i = 0; i < M; ++i)
    {
        for (int j= 0; j < N; ++j)
        mas[i][j] = pow(mas[i][j], 1 * 1.0 / 3);
        fprintf (fl, "%f", &mas[i][j]);
    }
    fclose (fl);
}
Добавлено через 6 минут
Или, предложите, пожалуйста, свой вариант написания программы
SummerRain
 Аватар для SummerRain
325 / 324 / 17
Регистрация: 16.12.2012
Сообщений: 544
23.12.2012, 15:04     Двумерный массив. Возведение в степень составляющих массива #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#include <math.h>
#define M 5
#define N 5
void main()
{
    double mas[M][N] = {{12, 13, 13, 14, 14}, {12, 12, 34, 54, 45}, {12, 12, 42, 42, 12}, {34, 12, 12, 43, 12}, {12, 43, 54, 21, 23}};
    int i, j;
    FILE*fl;
    fl=fopen ("new.txt", "w");
    for (i = 0; i < M; ++i)
    {
        for (j= 0; j < N; ++j)                                  // убираем int перед j, т.к. мы её уже объявили
        {                                                       // добавляем скобочки к циклу for
            mas[i][j] = pow(mas[i][j], 1 * 1.0 / 3);            // без них зацикливается только первая строка
            // самое главное вместо &mas[i][j] пишем mas[i][j]
            fprintf (fl, "%f ", mas[i][j]);                     // поэтому у нас было там 5 записей вместо 25 и тут ещё 
        }                                                       // пишем "%f " вместо "%f" чтобы появились пробелы
        fprintf (fl, "\n");                                     // добавляем перенос строки после завершения внутреннего цикла
    }
    fclose (fl);
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.12.2012, 15:05     Двумерный массив. Возведение в степень составляющих массива
Еще ссылки по теме:

Сделать с помощью массива возведение двойки в произвольную степень. C++
возведение в степень C++
C++ возведение в степень

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
atsyplenkov
0 / 0 / 0
Регистрация: 23.12.2012
Сообщений: 11
23.12.2012, 15:05  [ТС]     Двумерный массив. Возведение в степень составляющих массива #7
SummerRain, вы чудо. спасибо
Yandex
Объявления
23.12.2012, 15:05     Двумерный массив. Возведение в степень составляющих массива
Ответ Создать тему
Опции темы

Текущее время: 00:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru