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

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

Войти
Регистрация
Восстановить пароль
 
 
Melifarosky
0 / 0 / 0
Регистрация: 08.08.2013
Сообщений: 26
#1

Как сделать так, чтобы элемент массива считывался и умножался. - C++

13.08.2013, 22:05. Просмотров 1039. Ответов 34
Метки нет (Все метки)

Вновь добрый вечер!
Есть массив... пкод[20]
Я ввёл значение "1" в массив.
Теперь пкод[0] = 1
Но... Мне теперь нужно например это число в пкод[0] умножить на число 1.
Т.е. как я писал res = пкод[0] * 1 - не прокатило.
Он считает Асци код (49 код это единица) и умножает это число на это...
в общем, как быть? Как сделать так, чтобы элемент массива считывался и умножался.

(Извиняюсь за такую тему, не создавалась иначе...)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.08.2013, 22:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как сделать так, чтобы элемент массива считывался и умножался. (C++):

Как сделать так чтобы считывался пробел и не выводились несколько раз повторенные символы - C++
Как сделать так чтобы считывался пробел и не выводились несколько раз повторенные символы Вот код программы: #include<string.h> ...

Как сделать так,чтобы размерность массива вводил пользователь и массив заполнялся случайными числами? - C++
#include "stdafx.h" #include <iostream> #include <locale> #include <stdlib.h> using namespace std; void mas(int a) //вывод...

Дана строка сделать так, чтобы каждый 3 элемент превращался в _ - C++
дана строка( вводим с клавиатуры) сделать так чтобы каждый 3 элемент превращался в _ .

Сделать так, чтобы функция возвращала как целые, так и дробные значения - C++
Задача: нужно найти среднее арифметическое чисел в одномерном массиве разных типов. В main() у пользователя спрашивается размер...

Как сделать так,чтобы - C++
Собственно,здрасте. Собственно,я новичок в с++. В общем у меня возник вопрос: Сперва приведу пример,иначе не могу объяснить: int...

Поменять местами соседние элементы массива так, чтобы в нечетной позиции стоял меньший элемент пары - C++
Составить программу, которая в массиве A(N), N – четное, меняет местами соседние элементы так, чтобы в нечетной позиции стоял меньший...

34
VLK
194 / 163 / 12
Регистрация: 05.05.2013
Сообщений: 1,225
13.08.2013, 22:33 #16
alsav22, это я понимаю можешь написать просто пример (главное слово тут простой)
0
Melifarosky
0 / 0 / 0
Регистрация: 08.08.2013
Сообщений: 26
13.08.2013, 22:33  [ТС] #17
Я наврал. Выходят тогда разные символы ASCII кода. Тема актуальна...
0
VLK
194 / 163 / 12
Регистрация: 05.05.2013
Сообщений: 1,225
13.08.2013, 22:36 #18
Melifarosky, а если вводите не цифру а букву, тогда что? что должно происходить?
0
Melifarosky
0 / 0 / 0
Регистрация: 08.08.2013
Сообщений: 26
13.08.2013, 22:38  [ТС] #19
Цитата Сообщение от VLK Посмотреть сообщение
Melifarosky, а если вводите не цифру а букву, тогда что? что должно происходить?
Это я пока не сделал в своём коде. Т.е. у меня будет замены буквы на число. А потом такая же стратегия... Число в массиве умножается на другое число по формуле.
0
alsav22
5425 / 4820 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
13.08.2013, 22:38 #20
Если вместо цифры число получить, то так:
C++
1
2
3
char FFF = '5';
int GGG = FFF - 48;
std::cout << GGG << "\n";
0
VLK
194 / 163 / 12
Регистрация: 05.05.2013
Сообщений: 1,225
13.08.2013, 22:38 #21
Цитата Сообщение от Melifarosky Посмотреть сообщение
Это я пока не сделал в своём коде. Т.е. у меня будет замены буквы на число. А потом такая же стратегия... Число в массиве умножается на другое число по формуле.
Есть один способ, но я бы назвал его драконовским и не совсем верным
0
alsav22
5425 / 4820 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
13.08.2013, 22:39 #22
Цитата Сообщение от Melifarosky Посмотреть сообщение
Тема актуальна...
Вопрос в чём? Пока не будет чёткого вопроса, то не будет и ответа. Что хотите получить в коде? Опишите подробно, с примером.
0
VLK
194 / 163 / 12
Регистрация: 05.05.2013
Сообщений: 1,225
13.08.2013, 22:40 #23
Ты вот дай ответ всего на один вопрос, зачем умножать на 1? все равно получается тоже самое значение
0
Melifarosky
0 / 0 / 0
Регистрация: 08.08.2013
Сообщений: 26
13.08.2013, 22:43  [ТС] #24
Цитата Сообщение от VLK Посмотреть сообщение
Ты вот дай ответ всего на один вопрос, зачем умножать на 1? все равно получается тоже самое значение
это был простой пример... Так то там идёт умножение на число со степенью.
0
VLK
194 / 163 / 12
Регистрация: 05.05.2013
Сообщений: 1,225
13.08.2013, 22:45 #25
Цитата Сообщение от Melifarosky Посмотреть сообщение
это был простой пример... Так то там идёт умножение на число со степенью.
а ты в курсе что char это всего один символ, т.е. от 0 до 9, а число 10 и выше уже не влезет в char т.к. это уже 2 символа
0
Melifarosky
0 / 0 / 0
Регистрация: 08.08.2013
Сообщений: 26
13.08.2013, 22:47  [ТС] #26
Цитата Сообщение от alsav22 Посмотреть сообщение
Вопрос в чём? Пока не будет чёткого вопроса, то не будет и ответа. Что хотите получить в коде? Опишите подробно, с примером.
Как получить доступ к элементу массива, чтобы умножить на какое-то число и он выдал верный ответ.

cin >> pcode; // pcode[0] == 3 так задал пользователь
res = pcode[0] * 4 // res = 12 должен так выдать, а выдаёт 52*4 --> 52 - ASCII код "4"

Добавлено через 1 минуту
Цитата Сообщение от VLK Посмотреть сообщение
а ты в курсе что char это всего один символ, т.е. от 0 до 9, а число 10 и выше уже не влезет в char т.к. это уже 2 символа
Эм, если я не ошибаюсь, то у неё диапазон от -128 до 127 - в 32 битной системе.
Но, даже если так, то каким образом ASCII код имеет двухзначные цифры.
0
VLK
194 / 163 / 12
Регистрация: 05.05.2013
Сообщений: 1,225
13.08.2013, 22:48 #27
Цитата Сообщение от Melifarosky Посмотреть сообщение
Эм, если я не ошибаюсь, то у неё диапазон от -128 до 127 - в 32 битной системе.
Но, даже если так, то каким образом ASCII код имеет двухзначные цифры.
а тут все просто, сделай программу

C++
1
2
3
char A;
std::cin >> A;
std::cout << A << "\n";
и посмотри, что получится при вводе числа больше чем 10
0
Melifarosky
0 / 0 / 0
Регистрация: 08.08.2013
Сообщений: 26
13.08.2013, 22:52  [ТС] #28
Цитата Сообщение от VLK Посмотреть сообщение
а тут все просто, сделай программу

C++
1
2
3
char A;
std::cin >> A;
std::cout << A << "\n";
и посмотри, что получится при вводе числа больше чем 10
C++
1
2
3
4
    char massiv[10];
 
    cin >> massiv;   // ввёл 1
    cout << massiv[0]*10 << "\n";
получил 490. И в итоге, что?
0
VLK
194 / 163 / 12
Регистрация: 05.05.2013
Сообщений: 1,225
13.08.2013, 22:56 #29
Цитата Сообщение от Melifarosky Посмотреть сообщение
C++
1
2
3
4
    char massiv[10];
 
    cin >> massiv;   // ввёл 1
    cout << massiv[0]*10 << "\n";
получил 490. И в итоге, что?
используй тот код который я тебе дал, а не массив, и убедись в том, что char вмещает от 0 до 9, а все что выше, уже не влазит, ни в char ни в один элемент массива char т.к. 10 и все что выше это уже 2 элемента char (2 элемента массива char)

Добавлено через 3 минуты
Цитата Сообщение от Melifarosky Посмотреть сообщение
И в итоге, что?
В итоге получается, что ты делаешь программу, которая будет выдавать непредсказуемый результат, в чем смысл? это вирус какой то?
0
Melifarosky
0 / 0 / 0
Регистрация: 08.08.2013
Сообщений: 26
13.08.2013, 22:56  [ТС] #30
Цитата Сообщение от VLK Посмотреть сообщение
используй тот код который я тебе дал, а не массив, и убедись в том, что char вмещает от 0 до 9, а все что выше, уже не влазит, ни в char ни в один элемент массива char т.к. 10 и все что выше это уже 2 элемента char (2 элемента массива char)
Ага, теперь я увидел юмор. Если я вводил 10 - то в [0] массив вводилась 1, а в [1] вводился 0. Придётся переделывать программу, заново обдумывая. Благодарю за помощь.
0
13.08.2013, 22:56
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.08.2013, 22:56
Привет! Вот еще темы с ответами:

Сделать так, чтобы после ввода одного значения массива, не перескакивало на другую строку - C++
Возможно ли, и если возможно, то как, сделать так, чтобы после ввода одного значения массива, не перескакивало на другую строку? for...

Выполнить кольцевой сдвиг элементов массива так чтобы его первый максимальный элемент оказался на k-том месте - C++
Дан одномерный массив размерность n и число k. Если в исходном массиве чисел больше, чем k, то в массиве выполнить кольцевой сдвиг...

Сделать так, чтобы после сортировки вектора указатель показывал на тот же элемент, что и до сортировки - C++
Есть вектор(STL) элементов. У меня есть указатель на определенный элемент. Я хочу сделать так, чтобы после сортировки этого вектора...

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


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

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

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