Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 03.08.2014
Сообщений: 27
1

Считать массив, который заканчивается 0, и сосчитать количество символов в нём

31.10.2014, 22:13. Показов 684. Ответов 14
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый вечер!
Пишу в программе такой момент
C++
1
2
3
4
5
6
7
8
int f [100];
int i;
i=0
while (f[I]!=0)
{
cin >> f [I];
I++;
}
I у меня не изменяется почему-то.
*Я хочу считать массив, который заканчивается 0, и сосчитать количество символов в нём.
Вопрос: почему это не работает? Как это исправить?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.10.2014, 22:13
Ответы с готовыми решениями:

Считать строку в массив символов, который является членом класса
гетлайны, гетси, манипуляторы ws не работают (не могу заставить) #include <iostream> using...

Дано текст, который заканчивается точкой. Среди символов текста может встречаться символ #, который означает удаление предыдущей буквы...
"Дано текст, который заканчивается точкой. Среди символов текста может встречаться символ #,...

Дано целое число. Сосчитать количество четных цифр в нем
Доброй ночи! Задача: Дано целое число. Сосчитать количество четных цифр в нем. (язык си) Задачу...

Сосчитать количество символов + в строке
задача такая, программа должен посчитать сколько символов "+" в строке код дает правильный ответ,...

14
4817 / 2278 / 287
Регистрация: 01.03.2013
Сообщений: 5,947
Записей в блоге: 28
31.10.2014, 22:15 2
А почему не F тогда, раз в цикле уже I?
0
266 / 192 / 50
Регистрация: 16.06.2014
Сообщений: 424
31.10.2014, 22:21 3
Организуйте
{} while();
Иначе у вас анализируется элемент, который пока не введен.
0
0 / 0 / 0
Регистрация: 03.08.2014
Сообщений: 27
31.10.2014, 22:30  [ТС] 4
С do-while он тоже проскакивает и не увеличивает i. (((
Наверняка какая-то элементарная ошибка.
0
266 / 192 / 50
Регистрация: 16.06.2014
Сообщений: 424
31.10.2014, 22:33 5
Конечно, элементарная ошибка. Вы i Изменили и смотрите следующий элемент, а не текущий.
1
0 / 0 / 0
Регистрация: 03.08.2014
Сообщений: 27
31.10.2014, 22:36  [ТС] 6
Почему a [I-1]==0?
Мы считываем, если предыдущий элемент НЕ был равен нулю?
0
_Ivana
31.10.2014, 22:37
  #7

Не по теме:

Возникло смутное ощущение, что другие участники темы шутят тоньше и жестче, чем я :)

0
0 / 0 / 0
Регистрация: 03.08.2014
Сообщений: 27
31.10.2014, 22:38  [ТС] 8
О, всё получилось!
Там! = должно стоять, насколько я поняла)
Спасибо большое!
0
73 / 59 / 41
Регистрация: 25.06.2014
Сообщений: 360
31.10.2014, 22:40 9
Ульяна_, может быть так?
C++
1
2
3
4
5
6
7
8
9
10
11
int f [100];
int i;
i=0
do
{
cin >> f [i];
i++;
}
while (f[i]!=0);
 
}
0
0 / 0 / 0
Регистрация: 03.08.2014
Сообщений: 27
31.10.2014, 22:41  [ТС] 10
Там в условии while должен был быть I-1 элемент)
Поэтому и не работало)
0
73 / 59 / 41
Регистрация: 25.06.2014
Сообщений: 360
31.10.2014, 22:45 11
Цитата Сообщение от Ульяна_ Посмотреть сообщение
Там в условии while должен был быть I-1 элемент)
Поэтому и не работало)
это то же самое что использовать do while
0
266 / 192 / 50
Регистрация: 16.06.2014
Сообщений: 424
31.10.2014, 23:03 12
Nevermind_qqq, Ваш код содержит ошибку.
while (f[i]!=0);
i изменилось и это уже следующий, еще не введенный элемент.
0
73 / 59 / 41
Регистрация: 25.06.2014
Сообщений: 360
31.10.2014, 23:09 13
Iriini, каюсь, i-1
0
4817 / 2278 / 287
Регистрация: 01.03.2013
Сообщений: 5,947
Записей в блоге: 28
31.10.2014, 23:11 14
А можно покаяться и по-другому
C++
1
do {} while (f[i++]);
0
Заблокирован
01.11.2014, 01:06 15
Цитата Сообщение от Ульяна_ Посмотреть сообщение
Я хочу считать массив, который заканчивается 0, и сосчитать количество символов в нём
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//----------------------------------------------------------------------------
#include <iostream>
//----------------------------------------------------------------------------
int main()
{   
    int f[100], i = -1, count = 0;
 
    while (std::cin>>f[++i] && f[i])
        ++count;
 
    std::cout <<"You enter "<< count << " digits";
    
    std::cin.sync();
    std::cin.get();
    return 0;
}
//-----------------------------------------------------------------------------
Изображения
 
0
01.11.2014, 01:06
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.11.2014, 01:06
Помогаю со студенческими работами здесь

Сосчитать и вывести количество введённых символов
Код должен сосчитать и вывести количество введённых символов. Но после ввода символа/строки...

Как сосчитать количество определённых символов в строке?
Например, количество символов &quot;/&quot;?

Дан символьный массив или строка. Найдите количество различных символов в нём, используя структуру данных стек
напишите программу решения задачи. Дан символьный массив или строка. найдите количество различных...

Сосчитать количество символов из файла и записать результат в новый файл
задание сосчитать количество символов из файла и записать результат в новый файл Помогите...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru