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

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

Войти
Регистрация
Восстановить пароль
 
Удутф
19 / 1 / 0
Регистрация: 25.06.2014
Сообщений: 90
#1

Введение массива пользователем и подсчет введенных элементов - C++

08.07.2014, 02:53. Просмотров 366. Ответов 7
Метки нет (Все метки)

Кто нибудь! Пожалуйста! Нужна помощь!!
Как подсчитать количество элементов в произвольно введенном массиве не используя векторов и прочих прибамбасов!
С последующией перестановкой элементов
В прилагаемом коде массив задан а мне нужен произвольный! И не знаю как!!!

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
#include <iostream>
using namespace std;
 
int main()
{
//declare array
 
 int a[] = { 10, 20, 30, 40, 50, 60 };
 int x,i,j,temp;
 
 
// determine the size
 
x = sizeof(a) / sizeof(a[0]);
 
// original array output
 
 
cout <<"Original array: " << endl;
 
for(i = 0; i < x; i++)
{
    cout << a[i]<< endl;
}
cout << ("\n");
 
cout << "Array after exchange:" << endl;
 
 
 
  for(i = 0, j = x-1; i < x && i<j; i++, j--)
{
    temp = a[j];
    a[j] = a[i];
    a[i] = temp;
 
}
 
  for(i = 0; i < x; i++) {
    cout<<a[i]<<endl;
  }
  return 0;
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.07.2014, 02:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Введение массива пользователем и подсчет введенных элементов (C++):

Строки. Составить программу сортировки массива строк, введенных пользователем. - C++
Составить программу сортировки массива строк, введенных пользователем. Использовать функцию strcmp ().

Введение произвольного количества элементов массива - C++
Собственно, как это реализовать? Кто не понял, пример: вводим элементы массива до тех пор, пока не будет набрано число 666, или слово stop,...

Введение элементов массива пока не будет введен 0 и выдача на экран - C++
Подскажите пожалуйста как это сделать.. сложность в том, что нужно вводить элементы массива пока не будет введен 0 и я не знаю изначальной...

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

Функция: подсчет числа отрицательных элементов массива, и суммы положительных элементов матрицы - C++
написать функцию подсчета отрицательных элементов одномерного массива А(6) и сумму положит-х эл-ов матрицы В(6x6)

Обработка значений, введенных пользователем - C++
Проблема вот в чем, есть (например) команда в скрипте - &quot;system(&quot;start www.google.com&quot;);&quot;, как вместо google, поставить слово которое...

7
4unkur
16 / 16 / 6
Регистрация: 16.06.2014
Сообщений: 176
08.07.2014, 03:36 #2
Я так понял нужно ввести несколько цифр и из них должен сформироваться массив
1
Удутф
19 / 1 / 0
Регистрация: 25.06.2014
Сообщений: 90
08.07.2014, 03:50  [ТС] #3
да пользователь набирает произвольные числа
формирует массив напр 10 25 32 4 или 5 19 45 65 87
Можно сделать так чтобы программа подсчитала количество введенных элементов?
Для дальнейшего использования в перестановках
0
4unkur
16 / 16 / 6
Регистрация: 16.06.2014
Сообщений: 176
08.07.2014, 03:57 #4
push_back()
но это для vector
для обычного массива, я незнаю.
Самому интересно))
0
Удутф
19 / 1 / 0
Регистрация: 25.06.2014
Сообщений: 90
08.07.2014, 04:08  [ТС] #5
sizeof() ???
0
4unkur
16 / 16 / 6
Регистрация: 16.06.2014
Сообщений: 176
08.07.2014, 04:50 #6
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
количество элементов вектора определяется с помощью метода size()

Добавлено через 33 минуты
Не очень динамический массив, но все же))
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>
#include <string>
#include <cstdlib>
using namespace std;
int main()
{
    string *a;
    a = new string [1000];                             //будут проблемы при вводе 1001-го элемента
    cout << "enter numbers (x for end):\n";
    
    int i=0;
    while(true)
    {
        cin >> a[i];
        if(a[i] == "x")
            {
                break;
            }
        i++;        
    }
    int *mass = new int[i];
    
    for(int j=0; j<i; ++j)
    {
        mass[j] = atoi(a[j].c_str());       
    }
    
    cout << endl << "amount of elemets you\'ve entered: " << i << endl;
    delete [] a;
    delete [] mass;
    return 0;
}
1
Удутф
19 / 1 / 0
Регистрация: 25.06.2014
Сообщений: 90
10.07.2014, 08:04  [ТС] #7
@4unkur Спасибо большое. Все работает
0
4unkur
16 / 16 / 6
Регистрация: 16.06.2014
Сообщений: 176
10.07.2014, 13:38 #8
да не за что, просто в голову пришла идеа. А эту штуку я вообще не знаю:
C++
1
atoi(a[j].c_str());
погуглил и нашел ))
0
10.07.2014, 13:38
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.07.2014, 13:38
Привет! Вот еще темы с ответами:

Сравнить два числа, введенных пользователем - C++
Написать программу, которая сравнивает два введенных с клавиатуры числа. Программа должна указать, какое число больше, или, если числа...

корректировка уже введенных пользователем данных - C++
Работаю в консоли. Пользователю выдаются показатели бух.баланса, после чего проверяется, сошелся баланс или нет (при инициализации...

Подсчет введенных символов - C++
Всем добрый день. Начал изучать С++ (чисто для себя) по книгде Г. Шилдта - &quot;С++ Руководство для начинающих&quot;, там в конце 4 модуля имеется...

Вычислить среднее и оценку дисперсии значений введенных элементов массива. - C++
Помогите с задачкой Введя значение n из диапазона (0&lt;n&lt;=100) и значения n первых элементов массива x, x,..,x, вычислить среднее и оценку...


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

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

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