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

Компилятор выдает ошибку при объявлении массива. Не могу понять где соль - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Система передачи данных http://www.cyberforum.ru/cpp-beginners/thread520387.html
Система передачи данных обеспечивает передачу пакетов дан*ных из пункта А в пункт C через транзитный пункт В. В пункт А паке*ты поступают через 10± 5 мс. Здесь они сохраняются в накопителе c максимальной вместительностью 25 пакетов и c равной вероятно*стью передаются по одной из двух линий: AB1 – за 20 мс; AB2 – за 20 ± 5 мс. В пункте В пакеты снова буферизируются в накопителе c максимальной...
C++ Класс String Написать программу, которая считывает текст из файла и выводит его на экран, меняя местами каждые два соседних слова.( Visual C++) http://www.cyberforum.ru/cpp-beginners/thread520385.html
Значение переменных поменять местами так, чтобы они оказались упорядоченными по возрастанию C++
Здравствуйте дорогие форумчане! помогите пожалуйта с решением задачки на С++ . Значение переменных X, Y, Z, поменять местами так, что бы они оказались упорядоченными по возрастанию.
Замените группы элементов, состоящие из нечётного количества нулей, на один нулевой элемент, а из чётного — на два. C++
Дан массив Х, содержащий большое количество нулевых элементов. Замените группы элементов, состоящие из нечётного количества нулей, на один нулевой элемент, а из чётного — на два.
C++ Удаление элементов массива http://www.cyberforum.ru/cpp-beginners/thread520362.html
1)В каждой группе подряд идущих одинаковых элементов оставить только один элемент. Если удаление элементов невозможно, выдать об этом сообщение. 2)Удалить из массива каждую группу из подряд идущих одинаковых элементов. Если удаление элементов невозможно, выдать об этом сообщение. Как их удалять?( Добавлено через 3 часа 52 минуты Что нибудь подскажите по этим задачам я потом попытааюсь...
C++ Подключение дополнительных модулей и работа с функциями из этих модулей Опять с вопросами после частично прочитанной книги "C++ Для Чайников". ) Сейчас пытаюсь понять как работает подключение дополнительных модулей и работа с функциями из этих модулей, нужно как то прописать прототип функции int test(char t) { int i; while (t!=0) { cout << t; } return 0; подробнее

Показать сообщение отдельно
ms.natali
 Аватар для ms.natali
0 / 0 / 0
Регистрация: 16.03.2012
Сообщений: 14
16.03.2012, 19:47     Компилятор выдает ошибку при объявлении массива. Не могу понять где соль
Объясните пожалуйста в чем моя ошибка.
Вот исходник

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
56
57
58
59
60
61
62
63
64
65
66
67
#include <iostream> // cin, cout,endl
#include <math.h>   // Мат функции
#include <iomanip>  // формат вывода
 
using namespace std;
const int n=2; //Кол-во строк
const int m=7; //Кол-во столбцов
 
void vvod(int a[n][m])
{
for(int i=0;i<n;i++)
    for(int j=0;j<m;j++) a[i][j]=rand()/1000;
}
 
void vyvod(int a[n][m])
 
{
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++) cout<<a[i][j]<<"      ";cout<<endl;
    }
}
int nom(int a[n][m],int p)
{
    int nom=0;
    for(int i=0;i<n;i++)
    {   
        for(int j=0;j<m;j++) if(a[i][j]>p) nom+=1;
    }
    return nom;
}
int form(int a[n][m], int p, const int q)
{
    int b[q];
    for(int i=0;i<n;i++)
    {   
        for(int j=0;j<m;j++)
            if(a[i][j]>p) {for (int k=0;k<q;k++) b[k]=a[i][j];}
    }
    return b[q];
}
 
void output_mas(int a[], int m)
{
    cout<<"massiv"<<endl;
    for(int i=0;i<m;i++)
        cout<<" "<<a[i];
    cout<<endl;
}
int main()
{
int w[n][m],z[n][m];
setlocale (LC_CTYPE, "Russian");
vvod(w);vvod(z);
cout<<"Изначальная матрица W"<<endl; vyvod(w);
cout<<"Изначальная матрица Z"<<endl; vyvod(z);
int p;
cout<<"Введите число, больше которого должны быть элементы"<<endl; cin>>p;
const int kw=nom(w,p);
const int kz=nom(z,p);
int t[kw],s[kz];
t[kw]=form(w,p,kw);
s[kz]=form(z,p,kz);
output_mas(t,kw);
output_mas(s,kz);
system ("pause");
}
Visual studio выдает вот такие ошибки.
C++
1
2
3
4
5
6
7
8
9
10
1>1.cpp
1>c:1.cpp(34) : error C2057: expected constant expression
1>c:1.cpp(34) : error C2466: cannot allocate an array of constant size 0
1>c:1.cpp(34) : error C2133: 'b' : unknown size
1>c:1.cpp(61) : error C2057: expected constant expression
1>c:1.cpp(61) : error C2466: cannot allocate an array of constant size 0
1>c:1.cpp(61) : error C2133: 't' : unknown size
1>c:1.cpp(61) : error C2057: expected constant expression
1>c:1.cpp(61) : error C2466: cannot allocate an array of constant size 0
1>c:1.cpp(61) : error C2133: 's' : unknown size
Dev-C++ Ошибок не находит но при запуске выдает огромные неясно от куда цифры. в чем ошибка не понимаю. подскажите.
Вообще задача стоит такая:
Задать значения целочисленным элементам матриц W = {wij} и Z = {zij}, где i = 0, 1, 2; j = 0, 1, 2,..., 7 и сформировать массивы T и S соответственно из элементов матриц W и Z, больших заданного числа Р.

заранее спасибо =)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 09:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru