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

Помогите разобраться в чем ошибка. - C++

Восстановить пароль Регистрация
 
Bald_shima
0 / 0 / 0
Регистрация: 01.12.2011
Сообщений: 8
13.12.2011, 20:05     Помогите разобраться в чем ошибка. #1
Есть 2 задачи, первая:

Удалить элементы, значение которых меньше среднего значения всех элементов массива.

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
#include <iostream.h>
#include <math.h>
int main()
{
    char a[20];
    int n,i,j,x=0,t=0;
    cout << "Vvedite razmer massiva:"; cin>> n;
    for(i=0;i<n;i++)
    {
        cout << "vvedite a["<<i<<"]=";
        cin >> a[i];
    }
    
    for(i=0;i<n;i++)
    x+=a[i];
    double r = static_cast<double> (x) / n; 
 
      for (i=0; i<n; i++) 
   if (a[i]<r)   
       { 
          for (j=i+1; j<n; j++)   
                          a[j-1]=a[j];
            n--;          
      i--;         
        } 
 
cout << "VASH MASSIV" << endl;
    for(i=0;i<n;i++)
        cout << a[i];
    cout << endl;
 
            return 0;
}
Эта задача выдают на выходе правильный массив, все нормально. Но если вывести на экран "х", он выдает вообще какие-то произвольные числа

Вторая:

Найти произведение элементов, расположенных в нечетных (по номеру) столбцах матрицы.

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
#include <iostream.h>
#include <iomanip.h>
#include <math.h>
int main()
{
int **a, x, i, j, n, m;
cout << "Vvedite razmer: n, m" << endl;
cin >> n >> m;
a = new int*[n]; 
for(i=0; i<n; i++) 
a[i] = new int[m]; 
for (i=0; i<n; i++) 
for (j=0; j<m; j++)
{
cout << "Vvedite a[" << i << "][" << j << "]: " ;
cin >> a[i][j];
  
}
 for (i=0; i<n; i++)                         
     for (j=0; j<m; j++) 
         if (fmod (j,2)!=0)
         x*=a[i][j];
    cout << "proizvedenie = " << x;
 cout << endl; 
        
     for(i=0; i<n; i++)           
            delete [] a[i]; 
     delete []a; 
     a = NULL; 
 
     return 0; 
   }
Здесь переменная "х" тоже не понятно как считает произведение, числа получаются очень заоблачными ...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.12.2011, 20:05     Помогите разобраться в чем ошибка.
Посмотрите здесь:

C++ Помогите разобраться с кодом и чем компилировать
немогу никак понять в чем ошибка=(помогите плиз! C++
C++ помогите разобраться с библиотекой и в чем ошибка?
Написал програмку ,но она не всё показывает,в чем ошибка помогите C++
В чем ошибка помогите пожалуйста. C++
C++ помгите разобраться в чем ошибка? (найти все натуральные числа в диапазоне между m и n (m<n))
Написал класс "Телефонная книга". Но при работе вылетает ошибка. помогите разобраться. C++
C++ Не могу разобраться в чем ошибка

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vandris
 Аватар для Vandris
63 / 63 / 13
Регистрация: 19.01.2011
Сообщений: 90
13.12.2011, 20:37     Помогите разобраться в чем ошибка. #2
По поводу первой задачи
C++
1
int a[20];
сделайте вот так, а то

Цитата Сообщение от Bald_shima Посмотреть сообщение
Но если вывести на экран "х", он выдает вообще какие-то произвольные числа
х выдает сумму ASCII кодов всех символов, которые вы ввели

а во второй у вас
Цитата Сообщение от Bald_shima Посмотреть сообщение
Здесь переменная "х" тоже не понятно как считает произведение, числа получаются очень заоблачными ...
переменная х изначально равно случайному значению, взятому из памяти, напишите
C++
1
int x = 0;
Yandex
Объявления
13.12.2011, 20:37     Помогите разобраться в чем ошибка.
Ответ Создать тему
Опции темы

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