С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.75
cooller51190555
0 / 0 / 0
Регистрация: 06.05.2011
Сообщений: 34
#1

Рассчитать, сколько элементов массива могли бы быть корректно представлены типом char - C++

08.05.2011, 18:06. Просмотров 1443. Ответов 1
Метки нет (Все метки)

С клавиатуры вводится размерность динамического массива целых. После этого в программе необходимо создать указанный динамический массив, заполнить его числами с клавиатуры и выполнить следующие действия:
а) рассчитать, сколько элементов массива могли бы быть корректно представлены типом char;
б) поменять местами элементы массива, симметричные (по значению индекса) относительно среднего элемента;
в) вывести элементы массива в порядке убывания;
г) построить второй динамический массив, который необходимо (без лишних затрат динамической памяти) заполнить только отрицательными элементами первого массива.

Подскажите почему не работает пункт б. меняет только крайние элементы...
как исправить. Прикладываю код который получился
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
#include "stdlib.h"
#include "malloc.h"
#include "stdio.h"
#include <iostream>
#include <iomanip>
 
using namespace std;
int main()
{
 int o;
 int *a;
 int *b;
 int i, n;
 std::cout<<"Enter n: ";
 std::cin>>n;
 a=(int*) malloc(n*sizeof(int));
 b=(int*) malloc(n*sizeof(int));
 for (i=0;i<n;i++)
 {
  std::cout<<"Vvedi a[i] ";
  std::cin>>a[i];
 }
 for (i=0;i<n;i++)
 {
 cout<<" "<<a[i];
 }
 cout << endl;
 for (i=0;i<n;i++)
 {
 b[i]=a[i]*(-1);
 cout<<" "<<b[i];
 }
 cout << endl;
   /*пузырьковая сортировка по убыванию*/
  /*for (int i = 0; i<n-1; ++i){
        int tmp = 0;
        for (int j=(i+1); j<n; ++j)
            if (a[i]<a[j]) {
                tmp = a[i];
                a[i] = a[j];
                a[j] = tmp;        
                }
    }
    for (int i = 0; i < n; ++i)
    cout<<" "<<a[i];
    cout << endl;*/
    //подсчёт количества чисел типа чар
    o=0;
    for (int i = 0; i < n; i++)
    if (a[i]<9)
    o++;
    cout<<o;
    cout << endl;
    //перемещение симметричных??? Подскажите почему?
    int l;
    for (int i = 0; i<n-1; i++)   
        {l = a[i];
        a[i] = a[n-1-i];
        a[n-1-i] = l;
         } 
    for (int i = 0; i < n; i++)
    cout<<" "<<a[i];                
system("PAUSE");
    return 0;
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.05.2011, 18:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Рассчитать, сколько элементов массива могли бы быть корректно представлены типом char (C++):

Передача массива Char в функцию. Как быть? - C++
Столкнулся вот с такой проблемой, что #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;Windows.h&gt; #include &lt;conio.h&gt; using...

Преобразовать массив с типом char в массив с типом int - C++
Что-то не получается у меня найти инфу именно с преобразованием массивов с char в int. Нахожу только преобразование с числами. ...

Выбрать два числа b и c из массива таким образом, чтобы числа a,b,c могли быть длиннами сторон треугольника. - Pascal
Пусть даны вещественное число a и массив вещественных чисел Q. Выбрать два числа b и c из массива таким образом, чтобы числа a,b,c могли...

Вычислите среднее арифметическое элементов массива. Числа представлены в формате с фиксированной точкой - Assembler
Вычислите среднее арифметическое элементов массива Array dw 5 dup(?). Числа представленны в формате с фиксированной точкой. Вычисления...

Как корректно работать с типом long double в visual c++ 6.0 - Visual C++
под Visual C++ 6 standart edition столкнулся со следующей проблемой компилятор переводит все long double в double таким образом...

Дано действительное число "а" . Для функций F (X), которые представлены на графике, рассчитать f(а). - Visual C++
Работа с координатами на х, у плоскости. Дано действительное число &quot;а&quot; . Для функций F (X), которые представлены на графике, рассчитать...

1
-comrade-
355 / 356 / 42
Регистрация: 11.06.2010
Сообщений: 703
09.05.2011, 12:13 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от cooller51190555 Посмотреть сообщение
б) поменять местами элементы массива, симметричные (по значению индекса) относительно среднего элемента;
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
#include <iostream>
 
using namespace std;
 
int main()
{
    int i,n;
    cout<<"  N=";
    cin>>n;
    int* a=new int[n];
    cout<<"  Enter elements: ";
    for(i=0;i<n;i++) cin>>a[i];
    for(i=0;i<n/2;i++)   
    {
       int k=a[i];
       a[i]=a[n-1-i];
       a[n-1-i]=k;
    } 
    cout<<"  Result: ";
    for(i = 0;i<n;i++) cout<<a[i]<<" ";  
    delete []a; 
    cout<<endl;             
    system("pause");
    return 1;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.05.2011, 12:13
Привет! Вот еще темы с ответами:

Строки с типом char * в С++ - C++
Помогите написать программу по строкам c++ При написании программ использовать нуль–терминированные строки и работать только с типом...

Ошибка с типом char - C++
При запуске выдает ошибки связанные с char. На другой версии visual все работало сразу. Не понимаю как исправить их. Ошибки выделены в...

Работа с типом char - C++
Пожалуйста, помогите понять разницу между этими записями: char a; char *a; char *a; char a;

А как изменить DataGrid, чтобы в нем могли быть поля DropDownList и CheckBox? - Visual Basic .NET
Создаю формы для Windows на VB.NET. А как изменить DataGrid, чтобы в нем могли быть поля ComboBox и CheckBox? Или пойти другим путем....


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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