Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
2 / 2 / 0
Регистрация: 02.10.2016
Сообщений: 96
1

Цикл ввода чисел

30.01.2018, 13:54. Показов 3007. Ответов 17
Метки нет (Все метки)

Нужно обработать такой ввод:
26 17
19 11
14 16
12 13

, где первый столбец вписывать циклом for в переменную a , второй столбец в переменную b.
Не понимаю, нужно ли два цикла и как быть с счетчиками, чтобы считывать через одно
C++
1
2
3
4
5
6
7
8
9
10
...
for (i=0; i<4; i++){
    cin>>a;
    a+=a;
}
for (i=0;i<4; i++){
    cin>>b;
    b+=b;
}
...
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.01.2018, 13:54
Ответы с готовыми решениями:

Как прервать цикл ввода вещественных чисел, если была введена *?
Как прервать цикл при вводе *? Написал тут, видимо, глупость. Не работает. #include &lt;stdio.h&gt;...

Из ввода дана непустая последовательность из “n” вещественных чисел (n задается из ввода), за которой следует 0. Определить количество чисел
13. Из ввода дана непустая последовательность из “n” вещественных чисел (n задается из ввода), за...

Исключение IOException, которое появляется при ввода буквенного символа в методе ввода с клавиатуры целых чисел
Ввожу в catch IOException, а не нравится, что делать? import java.io.IOException; import...

Цикл: Посчитать среднее арифметическое всех чисел в заданном диапазоне. Цикл while.
Напишите пожалуйста код для данной задачки с помощью цикла while Вывести числа в пользовательском...

17
184 / 192 / 48
Регистрация: 25.08.2011
Сообщений: 792
30.01.2018, 14:01 2
а если обьеденить работать не будет?
0
2 / 2 / 0
Регистрация: 02.10.2016
Сообщений: 96
30.01.2018, 14:04  [ТС] 3
1Вирт1, я объединял в такой цикл
C++
1
2
3
4
5
6
7
8
...
for (i=0; i<4; i++) {
     cin>>a;
     a+=a;
     cin>>b;
     b+=b;
{
...
и не работало. Может еще можно наугад потыкать, но хочется понять.
0
Диссидент
Эксперт C
26355 / 16361 / 3558
Регистрация: 24.12.2010
Сообщений: 36,236
30.01.2018, 14:09 4
Иван6699, по вашему коду не очень понятно, чего вы добиваетесь. Может быть что-то в таком духе
C++
1
2
3
4
5
6
int a[4], b[4], x;
for(i=0; i<8; i++) {
  cin >> x;
  if (i%2==0) a[i/2] = x;
  else            b[i/2] = x;
}
0
184 / 192 / 48
Регистрация: 25.08.2011
Сообщений: 792
30.01.2018, 14:10 5
C
1
2
3
4
5
6
7
int sa = 0, sb=0, a =0, b =0 ;
for (int i=0; i<4; i++) {
     cin>>a;
     sa+=a;
     cin>>b;
     sb+=b;
}
Вы перезаписываете переменную в которую результат добавляете
0
Диссидент
Эксперт C
26355 / 16361 / 3558
Регистрация: 24.12.2010
Сообщений: 36,236
30.01.2018, 14:11 6
Лучший ответ Сообщение было отмечено Иван6699 как решение

Решение

А если нужно просто просуммировать столбцы
C++
1
2
3
4
5
6
int a=0, b=0, x;
for(i=0; i<8; i++) {
  cin >> x;
  if (i%2==0) a += x;
  else          b += x;
}
1
2 / 2 / 0
Регистрация: 02.10.2016
Сообщений: 96
30.01.2018, 14:12  [ТС] 7
Байт, это массив, мне нужно просуммировать 4 значения и дальше просто определить, что в итоге больше: а или b
0
3420 / 1966 / 374
Регистрация: 09.09.2017
Сообщений: 8,038
30.01.2018, 14:21 8
C
1
2
3
int A[4], B[4];
scanf("%i%i %i%i %i%i %i%i", &A[0], &B[0], &A[1], &B[1], &A[2], &B[2], &A[3], &B[3]);
if( A[0]+A[1]+A[2]+A[3] > B[0]+B[1]+B[2]+B[3]){...}
Брутально и бессердечно =8]
0
Диссидент
Эксперт C
26355 / 16361 / 3558
Регистрация: 24.12.2010
Сообщений: 36,236
30.01.2018, 14:22 9
Цитата Сообщение от Иван6699 Посмотреть сообщение
это массив, мне нужно просуммировать 4 значения и дальше просто определить, что в итоге больше: а или b
Ну и чем вас не устраивают мои 2 кода? Хотите - в массив (пост 4), потом суммируйте и сравниваете. Хотите - сразу суммируйте, без массива (пост 6)
Или сравнить 2 числа не знаете как?
0
184 / 192 / 48
Регистрация: 25.08.2011
Сообщений: 792
30.01.2018, 14:23 10
Специально для тех кто в танке))): https://ideone.com/ZCK3KD
1
Байт
30.01.2018, 14:23
  #11

Не по теме:

Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Брутально и бессердечно
Это дааа!:D

0
184 / 192 / 48
Регистрация: 25.08.2011
Сообщений: 792
30.01.2018, 14:25 12
2
3



int A[4], B[4];
scanf("%i%i %i%i %i%i %i%i", &A[0], &B[0], &A[1], &B[1], &A[2], &B[2], &A[3], &B[3]);
if( A[0]+A[1]+A[2]+A[3] > B[0]+B[1]+B[2]+B[3]){...}

Брутально и бессердечно =8]
бомба))))) репутация в человека свише 300 ахахах
0
2 / 2 / 0
Регистрация: 02.10.2016
Сообщений: 96
30.01.2018, 14:27  [ТС] 13
Всё устраивает Я чего-то протупил, что массив тоже решение.
0
Байт
30.01.2018, 14:28
  #14

Не по теме:

Цитата Сообщение от 1Вирт1 Посмотреть сообщение
для тех кто в танке
Был бы я командиром экипажа, на танковый выстрел с таким кодом не подпустил. А отправил бы обратно в учебку для повышения физической подготовки и морального уровня:D

0
2 / 2 / 0
Регистрация: 02.10.2016
Сообщений: 96
30.01.2018, 14:29  [ТС] 15
COKPOWEHEU,так я мог сделать с самого начала). Хотелось не "в лоб"
0
184 / 192 / 48
Регистрация: 25.08.2011
Сообщений: 792
30.01.2018, 14:34 16
Байт ваш код гораздо луше задействовали цикл на 8 итераций на каждой итерации проверку ифом там где все это не нужно)) Вы правы учебник вам бы не помешал) мой подход минимум вдвое быстрее
0
7246 / 4901 / 2822
Регистрация: 18.12.2017
Сообщений: 15,401
30.01.2018, 15:52 17
Иван6699, не совсем понятно, Вы хотите работать с элементами массива или просто вводить a и b.
если без массива - есть вариант через пробел: a пробел b Enter

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
 
int main()
{
    int a, b, sum_a=0, sum_b=0;
    for (int i=0; i<4; i++)
    {
    cin>>a>>b;
    sum_a+=a;     
    sum_b+=b;    
    }
    cout <<"sum_a="<<sum_a<<" sum_b="<<sum_b;
system("pause");
return 0;
}
1
3420 / 1966 / 374
Регистрация: 09.09.2017
Сообщений: 8,038
30.01.2018, 16:09 18
Цитата Сообщение от 1Вирт1 Посмотреть сообщение
бомба))))) репутация в человека свише 300 ахахах
Как будто я такое извращение всерьез предлагал Нормальные-то решения уже написаны.
Хотя предложу еще один способ
C
1
2
3
4
5
6
7
8
inline int ri(){ //read int
  int temp;
  scanf("%i",&temp);
  return temp;
}
int main(){
  if( ri()-ri() + ri()-ri() + ri()-ri() + ri()-ri() >0){...}
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.01.2018, 16:09

Цикл: Используя цикл do-while напишите код, который вернет разность чисел от x до y (включительно).
Используя цикл do-while напишите код, который вернет разность чисел от x до y (включительно)....

С клавиатуры вводится N целых чисел a1, a2,….,aN. Найти сумму этих чисел. Вывести на экран в процессе ввода чисел: a1+a2, a2+a3, …. aN-1+aN
Помогите, пожалуйста! Решить задачу 3 способами: 1. Используя метки и оператор goto (не...

Цикл: Подсчитайте, сколько среди данных N чисел нулей, положительных чисел, отрицательных чисел.
Решите пожалуйста 4 задачи... Очень прошу... Выручите... 1) По данному числу n вычислите сумму...

Цикл ввода с условием
Добрый вечер. У меня есть вопрос касательно кода. Как его зациклить? Я имею ввиду, чтобы на шаге...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru