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

Двомерные масивы - C++

Восстановить пароль Регистрация
 
FedVetal
0 / 0 / 0
Регистрация: 29.08.2012
Сообщений: 53
21.11.2012, 02:26     Двомерные масивы #1
Помогите что не так

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
case 3:{long double b[100][100];
    int z[100];
       cout<<"Введите елементы масива"<<endl;
       for(int i=0;i<m;i++)
for(int j=0;j<n;j++)
    {cin>>b[i][j];
      }
       
        for(int i=0;i<m;i++)
{for(int j=0;j<n;j++)
{cout<<b[i][j];}
        cout<<endl;}}
       double b[100][100];
       int z[100];
       for(int i=0;i<n;i++)
           
       
       {for(int j=0;j<m;j++)
       {z[i]=0;
           if ((b[i][j]<0) &&  ((b[i][j]),2) % 2 == 0) z[i]=z[i] + fabs(b[i][j]);else z[i]=0;}
       }
       for(int i=0;i<n;i++)
           cout<<z[i]<<endl;
      
       
 
}
ето фрагмент програмы в котором ошибка
Именно ета часть должна сумировать все нечетные отрицательные числа столбиков и выводить их на екран

Добавлено через 3 минуты
тоесть оно то віводит чето
а именно -какоето длинное число столько раз сколько у меня столбиков

Добавлено через 3 часа 21 минуту
чуть изменил не помогло
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
[CPP]case 3:{double b[100][100];
    
       cout<<"Введите елементы масива"<<endl;
       for(int i=0;i<m;i++)
for(int j=0;j<n;j++)
    {cin>>b[i][j];
      }
       
        for(int i=0;i<m;i++)
{for(int j=0;j<n;j++)
{cout<<b[i][j];}
        cout<<endl;}}
       double b[100][100];
       int z[100];
       for(int i=0;i<n;i++)
        
       {z[i]=0;
           for(int j=0;j<m;j++)
       
           if ((b[i][j]<0) &&  ((b[i][j]),2) % 2 == 0) z[i]=z[i] + fabs(b[i][j]);else z[i]=z[i]+0;
       }
       for(int i=0;i<n;i++)
           cout<<z[i];
       
      
       
 
}
[/CPP]
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.11.2012, 02:26     Двомерные масивы
Посмотрите здесь:

C++ C++ масивы
C++ Масивы
C++ 2-D масивы.
Масивы C++
Масивы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,398
21.11.2012, 02:33     Двомерные масивы #2
Легче переписать все. Какого задание?
FedVetal
0 / 0 / 0
Регистрация: 29.08.2012
Сообщений: 53
21.11.2012, 02:42  [ТС]     Двомерные масивы #3
мне бы розобраться в самой проблеме виводит не суму чисел ,а какое то очень длинное число с минусом спереди

Добавлено через 28 секунд
Все задание оч большое и запутаное
Hrundel
25 / 25 / 2
Регистрация: 27.05.2012
Сообщений: 114
21.11.2012, 02:52     Двомерные масивы #4
Длинное число с минусом является результатом двух возможных причин:

1. overload
2. отсутствие инициализации переменной

Добавлено через 3 минуты
У тебя программа требует введения данных в массив 100 х 100 ВРУЧНУЮ !!! (10.000 операций ввода!!!)
Ты это делаешь?

Если не делаешь - значит нет инициализации и все будет выводиться как "очень длинное число с минусом спереди"
MrGluck
21.11.2012, 02:53
  #5

Не по теме:

Только вручную, только хардкор

FedVetal
0 / 0 / 0
Регистрация: 29.08.2012
Сообщений: 53
21.11.2012, 02:58  [ТС]     Двомерные масивы #6
а у меня как

1. overload
2. отсутствие инициализации переменной
???

Добавлено через 3 минуты
там не 100*100
ето масив с псевдограницами или как он там правильно называется я в начале задаю n и m соответственно количество столбиков и строк
вот вся пога ток она на стадии розработки там много чего еще не хватает
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#include<iostream>
#include<math.h>
using namespace std;
int main()
{int a,m,n,d,c,e;
 
    setlocale(0,"");
cout<<"Количество столбцов "<<endl;
cin>>n;
cout<<"Количество строк "<<endl;
cin>>m;
cout<<"Заполнить масив как константу жмите 1 "<<endl;
cout<<"Заполнить масив случайными числами жмите 2 "<<endl;
cout<<"Заполнить масив с клавиатуры жмите 3 "<<endl;
cin>>a;
switch(a)
{
case 1:{int b[5][10]={1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5};
for(int i=0;i<m;i++)
{for(int j=0;j<n;j++)
    {cout<<b[i][j];}
cout<<endl;}
for(int i=0;i<m;i++)
break;};
 
 
 
 
 
 
 
 
 
 
 
 
case 2:{cout<<"Введите минимальнльное случайное значение в масиве"<<endl;
    cin>>d;
    cout<<"Введите максимальное случайное значение в масиве"<<endl;
    cin>>c;
    e=c-d+1;
    int b[100][100];
for(int i=0;i<m;i++)
{for(int j=0;j<n;j++)
    { b[i][j] = rand() % e +c ; 
    cout << b[i][j]<<" ";}
cout<<endl;}};break;
 
 
 
 
 
 
 
 
 
 
 
 
 
case 3:{double b[100][100];
    
       cout<<"Введите елементы масива"<<endl;
       for(int i=0;i<m;i++)
for(int j=0;j<n;j++)
    {cin>>b[i][j];
      }
       
        for(int i=0;i<m;i++)
{for(int j=0;j<n;j++)
{cout<<b[i][j];}
        cout<<endl;}}
       double b[100][100];
       int z[100];
       for(int i=0;i<n;i++)
        
       {z[i]=0;
           for(int j=0;j<m;j++)
       
           if ((b[i][j]<0) &&  ((b[i][j]),2) % 2 == 0) z[i]=z[i] + fabs(b[i][j]);else z[i]=z[i]+0;
       }
       for(int i=0;i<n;i++)
           cout<<z[i];
       
      
       
 
}
 
cout<<endl;
 
 
return 0;}
Hrundel
25 / 25 / 2
Регистрация: 27.05.2012
Сообщений: 114
21.11.2012, 03:10     Двомерные масивы #7
У тебя отсутствие инициализации переменной

Добавлено через 2 минуты
Вот эта муть "long double b[100][100];" в твоем коде называется массив 100 х 100
Что равно 10.000 полей.

Добавлено через 8 минут
А вот эта муть в твоем коде -

C++
1
2
3
4
for(int i=0;i<m;i++)
for(int j=0;j<n;j++)
    {cin>>b[i][j];
      }
это обход массива по полям и столбцам от (0,0) до (m, n) с запросом ввода данных с клавиатуры.

В случае если m и n не инициализированы, обходит проводится по всем 10.000 полям и туда сохраняется минимальное значение типа long double, которое ты и видишь на экране.
FedVetal
0 / 0 / 0
Регистрация: 29.08.2012
Сообщений: 53
21.11.2012, 03:27  [ТС]     Двомерные масивы #8
лан как заменить b[100][100] на b[переменная ][переменная которая задается с клавы]
+ми вчили масиви з псевдозмынними межами я их и использовал в цыкле я же ограничиваю введение или я не правильно чето понял

Добавлено через 1 минуту
так m и n я ввожу с клавы в начале програмы

Добавлено через 15 минут
Ладно я спать пжл предлагайте свои варианты решения пробл
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.11.2012, 04:35     Двомерные масивы
Еще ссылки по теме:

C++ Масивы
С++ Масивы C++
C++ масивы

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

Или воспользуйтесь поиском по форуму:
ps10n1ck
 Аватар для ps10n1ck
53 / 47 / 2
Регистрация: 10.11.2010
Сообщений: 132
21.11.2012, 04:35     Двомерные масивы #9
копай в сторону двумерный динамический массив c++ и будет тебе счастье.., а то, что у тебя, как уже выше было написано работает неправильно..
Yandex
Объявления
21.11.2012, 04:35     Двомерные масивы
Ответ Создать тему
Опции темы

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