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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Feytan
1 / 1 / 0
Регистрация: 09.12.2010
Сообщений: 93
#1

Массив - C++

01.06.2011, 21:28. Просмотров 298. Ответов 4
Метки нет (Все метки)

Подскажите, что не так делаю:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#include <iostream>
 
using namespace std;
 
int main ()
{
        int n, m, i, j, k, n1, m1;
        float mas_U[i][j];
        float e=0.000001, d1, d2, max_pogr, next;
        n=11; //задаем количество строк в массиве
        m=9; //задаем количество столбцов в массиве
        d1=10/6;
        d2=5;
        n1=n-1;
        m1=m-1;
        for(i = 0; i < n; i ++)
        {
              for(j = 0; j < m; j ++)
              {
                    mas_U[i][j] = 0;
              }
        }
        
        for(i = 9; i < n; i++)
        {
        mas_U[i][0]=5;
        }
        for(j = 1; j < 7; j ++)
        {
              mas_U[0][j] = mas_U[0][j+1] + d1;
              }
        for(j = 8; j < m ; j ++)
                {
              mas_U[0][j] = mas_U[0][j+1] - d2;
              }
        for(k = 0;; k ++)
                    {
                        max_pogr = 0;
                        for(i = 1; i < n1; i ++)
                        {
                            for(j = 1; j < m1; j ++)
                            {
                                next = (mas_U[i+1][j] + mas_U[i-1][j] + mas_U[i][j+1] + mas_U[i][j-1])/4;
                                if((mas_U[i][j] - next) > max_pogr) max_pogr = (mas_U[i][j] - next);
                                mas_U[i][j] = next;
                            }
                        }
                        if(max_pogr <= e || k >= 10000) break; 
                        else cout<<mas_U[i][j]<<"  ";
 
                    }
    system("pause");
    
        return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.06.2011, 21:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Массив (C++):

Ввести массив А. В массив В перенести все элементы массива А, стоящие правее максимального элемента, и имеющие нечетный индекс. Массив В отсортировать - C++
Добрый Вечер! Написал первую часть программы по этому заданию&quot;Ввести массив А. В массив В перенести все элементы массива А, стоящие правее...

Массив: Как скопировать двумерный массив в другой массив? - C++
Как скопировать двумерный массив в другой массив?

Дан массив целых чисел,произвести для него следующие операции: для каждого из чисел ,входящего в массив,указать,сколько раз оно входит в массив... - C++
помогите!!!((( дан массив целых чисел,произвести для него следующие операции: для каждого из чисел ,входящего в массив,указать,сколько...

Файл: Загрузка данных из файла: первый столбец записывался в 1й массив, второй столбец - во 2й массив, а 3й столбец - в 3й массив. - C++
Есть текстовый файл, в нем 3 столбца чисел (число строк заранее неизвестно). Напишите пожалуйста код, чтобы первый столбец записывался в...

Массив: Переместить в массив Y все числа, дробная часть которых больше 5. - C++
Помогите решить, вообще не понимаю как в С++ с дробной частью работать. Задан массив X(N) дробных чисел. Переместить в массив Y все...

Есть массив одинаковых элементов, сделать функцию делающую массив различных - C++
Дан одномерный массив, среди элементов которого есть совпадающие. Разработать функцию, создающую массив из различных элементов.

4
adico
13 / 13 / 1
Регистрация: 24.02.2011
Сообщений: 64
01.06.2011, 21:50 #2
И этот код компилится?

Добавлено через 52 секунды
Просто создавать и инитилизировать массив не константной длинны нельзя.
0
gooseim
Эксперт С++
508 / 412 / 37
Регистрация: 23.09.2010
Сообщений: 1,159
01.06.2011, 21:54 #3
adico, в некоторых компиляторах можно.
0
grizlik78
Эксперт С++
1957 / 1450 / 116
Регистрация: 29.05.2011
Сообщений: 3,012
01.06.2011, 22:01 #4
Но тогда эти переменные надо хотя бы инициализировать

Добавлено через 3 минуты
В общем начало, видимо, предполагалось такое:
C++
1
2
3
4
5
        int i, j, k, n1, m1;
        float e=0.000001, d1, d2, max_pogr, next;
        int const n=11; //задаем количество строк в массиве
        int const m=9; //задаем количество столбцов в массиве
        float mas_U[n][m];
0
Feytan
1 / 1 / 0
Регистрация: 09.12.2010
Сообщений: 93
02.06.2011, 00:56  [ТС] #5
Я вот изменил как grizlik78 сказал и кое-что сам изменил
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#include <iostream>
 
using namespace std;
 
int main ()
{
        int i, j, k, n1, m1;
        float e=0.000001, d1, d2, max_pogr, next;
        int const n=11; //задаем количество строк в массиве
        int const m=9; //задаем количество столбцов в массиве
        float mas_U[n][m];
        d1=10/6;
        d2=5;
        n1=n-1;
        m1=m-1;
        for(i = 0; i <= n; i ++)
        {
              for(j = 0; j <= m; j ++)
              {
                    mas_U[i][j] = 0;
              }
        }
        
        for(i = 9; i < n; i++)
        {
        mas_U[i][0]=5;
        }
        for(j = 1; j <= 7; j ++)
        {
              mas_U[0][j] = mas_U[0][j+1] + d1;
              }
        for(j = 7; j < m ; j ++)
                {
              mas_U[0][j] = mas_U[0][j+1] - d2;
              }
        for(k = 0;; k ++)
                    {
                        max_pogr = 0;
                        for(i = 1; i < n1; i ++)
                        {
                            for(j = 1; j < m1; j ++)
                            {
                                next = (mas_U[i+1][j] + mas_U[i-1][j] + mas_U[i][j+1] + mas_U[i][j-1])/4;
                                if((mas_U[i][j] - next) > max_pogr) max_pogr = (mas_U[i][j] - next);
                                mas_U[i][j] = next;
                            }
                        }
                        if(max_pogr <= e || k >= 10000) break; 
                        else cout<<mas_U[i][j]<<"  ";
 
                    }
    system("pause");
    
        return 0;
}
Подскажите она вообще работает правильно или нет. Я вроде все правильно делал. Сама задача должна расчитывать внутренние значения массива, если граничные известны.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.06.2011, 00:56
Привет! Вот еще темы с ответами:

Заполнить массив первыми ста простыми числами, и вывести массив на экран - C++
Объявите одномерный целочисленный массив в котором не более 100 элементов выполните генерацию массива первыми 100 простыми числами....

Сжать массив, выбросив из него отрицательные элементы - массив становится пустым - C++
Задачка такая: Разработать программу, обеспечивающую ввод с клавиатуры целых чисел и сохранение их в одномерном массиве. Ввод...

с клавиатуры ввести массив,во второй массив записать нечетные элементы из первого - C++
с клавиатуры ввести массив,во второй записать нечетные элеиенты из первого.В третий массив записать четные элементы, стоящие на нечетных...

Массив: сформировать массив C[12] так, чтобы элементы располагались следующим образом: A(1) B(1) A(2) B(2) - C++
из массивов A и B сформировать массив C так, чтобы элементы массива располагались следующим образом: A(1) B(1) A(2) B(2) и т.д.


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

Или воспользуйтесь поиском по форуму:
5
Yandex
Объявления
02.06.2011, 00:56
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru