Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
0 / 0 / 0
Регистрация: 09.09.2018
Сообщений: 10

Ввод нескольких значений в одной строке

06.03.2023, 19:50. Показов 3235. Ответов 8
Метки c++ (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <vector>
using namespace std;
 
int main() {
int count;
cin >> count;
vector<int> arr(count);
for (int i = 0; i < count; i++) {
cin >> arr[i];
}
vector<int> arrResult(count);
for (int i = 0; i < count; i++) {
arrResult[i] = arr[i] * 9 / 5 + 32;
}
for (int i = 0; i < count; i++) {
cout << arrResult[i] << " ";
}
return 0;
}
есть функция которая принимает количество операций от пользователя, кидает их в массив и далее для каждого элемента массива переводит значение из цельсия в фарнгейты, помогите ,пожалуйста, сделать так, что бы в одной строке сразу принимало количество значений для вычисления и сами значения. Т.е. cin >> 5(значений) 600 700 800 900 1000 и соответственно 5 значений для вычислений.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.03.2023, 19:50
Ответы с готовыми решениями:

Ввод нескольких переменных в одной строке
Всем здравствуйте. Не давно начал изучать питон и решил порешать задачи. И буквально на первой ошибка. Задача a+b. Условия такие (не смог...

Ввод нескольких переменных в одной строке
Добрый день. Можно ли сделать так, чтобы вместо списка вводилось 3 разных переменных, но в одной строке? Так не получается a, b, c =...

Проверка на содержания нескольких значений в одной строке
Всем доброго дня. помогите разобраться.. необходимо сделать проверку на содержание нескольких значений в строке. если не содержится, то...

8
И тут вот те нате
322 / 209 / 117
Регистрация: 12.07.2016
Сообщений: 555
06.03.2023, 20:17
Ввод и вывод с вашей программой без изменений:
Code
1
2
5 600 700 800 900 1000
1112 1292 1472 1652 1832
Добавлено через 3 минуты
Вводить значения можно как угодно: сразу все или по одному, да и вообще любыми порциями. Программа будет забирать символы из потока ввода ровно в тот момент, когда этого требует код ( cin >> ... ). Если в этот момент в потоке ввода есть достаточное количество символов, то они считываются. Если поток ввода пуст, а в программе встретилось cin >> ..., то выполнение остановится, пока пользователь не введет новые данные.
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
12942 / 6809 / 1821
Регистрация: 18.10.2014
Сообщений: 17,234
06.03.2023, 22:05
Цитата Сообщение от Viktpkun Посмотреть сообщение
помогите ,пожалуйста, сделать так, что бы в одной строке сразу принимало количество значений для вычисления и сами значения
Так а почему вы решили, что для этого что-то надо "переписывать"?
0
0 / 0 / 0
Регистрация: 09.09.2018
Сообщений: 10
06.03.2023, 23:35  [ТС]
ну может я не так вызарился, я имел ввиду "что поменять"

Добавлено через 55 минут
да, действительно спасибо
0
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,244
07.03.2023, 07:50
Viktpkun, у Вас температура принимает только целочисленные значения.
Это получилось случайно? Или так было задумано?
Если нужна дробная часть, то vector<int> arr(count); нужно заменить на
C++
1
vector<double> arr(count);
а arrResult[i] = arr[i] * 9 / 5 + 32; желательно заменить на
C++
1
arrResult[i] = arr[i] * 9. / 5. + 32.;
Если нужно обработать значения введенные только в одной строке,
то n можно не вводить и обойтись без vector:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <sstream>
#include <string>
using namespace std;
 
int main() {
  double a;
  string s;
  getline(cin,s);
  istringstream SS(s);
  while(SS>>a){
      Result = a * 9. / 5. + 32.;
      cout << Result << " ";
  }
  return 0;
}
0
736 / 700 / 110
Регистрация: 29.05.2015
Сообщений: 4,279
07.03.2023, 09:47
Цитата Сообщение от Evgen173 Посмотреть сообщение
Ввод и вывод с вашей программой без изменений
Как получилось, что ввод в одну строчку? Сперва выполняется "cin >> count;" - программа ждёт ввода числа, окончание ввода - энтер, и прога перескакивает на следующую строчку. Или пробел вместо энтера проканает? А умный cin сам распарсит строку из чисел и пробелов?
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
12942 / 6809 / 1821
Регистрация: 18.10.2014
Сообщений: 17,234
07.03.2023, 10:09
Лучший ответ Сообщение было отмечено zss как решение

Решение

Цитата Сообщение от alexu_007 Посмотреть сообщение
А умный cin сам распарсит строку из чисел и пробелов?
"Умный cin" парсит поток из "значений", разделенных пробельными символами. Пробельными символами являются: пробел, перевод строки, возврат каретки, горизонтальная табуляция, вертикальная табуляция, перевод станицы (см. std::isspace).

Поэтому чем будут разделяться значения: переводом строки, пробелами или вообще винегретом из вышеупомянутых символов - "умному cin" глубоко все равно.
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6221 / 2919 / 1046
Регистрация: 01.06.2021
Сообщений: 10,809
07.03.2023, 12:14
Цитата Сообщение от zss
9. / 5.
что будет, если написать сразу 1.8 ?
0
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,244
07.03.2023, 13:38
Цитата Сообщение от Royal_X Посмотреть сообщение
если написать сразу 1.8
Не видно будет формулу преобразования
https://www.cyberforum.ru/cgi-bin/latex.cgi?F=\frac{9}{5}C+32
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.03.2023, 13:38
Помогаю со студенческими работами здесь

Ввод двух значений в одной строке
Как объединить 14 и 15 строку? using System; using System.Linq; using System.Collections.Generic; using System.Collections; using...

Написать программу, которая обеспечивает ввод значений дробных переменных (типа float) u и r. Предполагается, что пользователь будет набирать числа в одной строке.
Немного непонятная задачка. Тут пользователь может вводить данные &quot;значение пробел значение&quot; (ReadLine используется один раз), либо...

Ввод нескольких массивов одной функцией
Здравствуйте! Есть задача: сделать ввод нескольких одномерных массивов (размера n) одной функцией. Ума не приложу как это можно сделать. ...

Ввод нескольких значений
Ввожу в richtextbox значения через запятую. Как сделать, чтобы в дальнейшем программа воспринимала каждую цифру как отдельное значение?

Ввод нескольких значений
Простите возможно за глупый вопрос,но не могу вот чего понять. Как написать программу, например(которая просит ввести какое то число и...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru