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

Операторы передачи управления - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 5.00
I wish I were
0 / 0 / 0
Регистрация: 23.11.2010
Сообщений: 6
23.11.2010, 16:07     Операторы передачи управления #1
Задать строку из произвольного количества цифр и посчитать количество одинаковых введенных цифр. Подскажите, как это попроще сделать....
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
23.11.2010, 16:21     Операторы передачи управления #2
I wish I were,
Вот например строка из цифр: 012345111033339
Что должно быть на выходе?
I wish I were
0 / 0 / 0
Регистрация: 23.11.2010
Сообщений: 6
23.11.2010, 16:32  [ТС]     Операторы передачи управления #3
должно выводиться сообщение:
число "0" повторяется 2 раза
число "1" повторяется 4 раза и т.д.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
23.11.2010, 16:40     Операторы передачи управления #4
Тогда проще так:
- создаем массив int mas[10]={0};
- проходим всю строку, считываем очередную цифру в переменную int temp и делаем так: mas[temp]++;
- По окончани строки проходим наш массив mas[] и пишем так: printf("цифра %d повторяется %d раза\n", i, mas[i]);
I wish I were
0 / 0 / 0
Регистрация: 23.11.2010
Сообщений: 6
23.11.2010, 16:51  [ТС]     Операторы передачи управления #5
а почему именно массив из 10 элементов, он же должен быть произвольным и вводиться с клавиатуры...
извините за глупые вопросы, я только учусь
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
23.11.2010, 16:54     Операторы передачи управления #6
I wish I were, Массив на 10 элементнов типа int - это для подсчета цифр. А массив для строки делаем каким хотим (но не бесконечным) - главное чтобы хватило под введенную строку цифр.
I wish I were
0 / 0 / 0
Регистрация: 23.11.2010
Сообщений: 6
23.11.2010, 17:00  [ТС]     Операторы передачи управления #7
Спасибо, как бы это еще записать на умном языке Си)))
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
23.11.2010, 17:05     Операторы передачи управления #8
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
int main()
{
    char str[256];
    int mas[10]={0}, len, i;
    scanf("%s", &str);
    len=(int)strlen(str);
    for(i=0; i<len; i++)
        mas[(int)(str[i]-'0')]++;
    for(i=0; i<10; i++)
        printf("%d povtoryetcy %d raz\n", i, mas[i]);
 
system("PAUSE"); 
return 0;
}
legend
 Аватар для legend
28 / 27 / 0
Регистрация: 17.11.2010
Сообщений: 152
23.11.2010, 17:09     Операторы передачи управления #9
кстати можно масив сделать динамическим...

C++
1
2
3
4
int **matrix,n;
cout<<"какая размерность матрици : ";
cin>>n;
matrix=new int*[n];
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.11.2010, 17:11     Операторы передачи управления
Еще ссылки по теме:

Операторы ветвления и операторы передачи управления C++
C++ Операторы цикла и операторы передачи управления
C++ Вставить в программу оператор передачи управления

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

Или воспользуйтесь поиском по форуму:
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
23.11.2010, 17:11     Операторы передачи управления #10
кстати можно масив сделать динамическим...
Запросто, любой из двух. Только не двумерный, он здесь не нужен.
Yandex
Объявления
23.11.2010, 17:11     Операторы передачи управления
Ответ Создать тему
Опции темы

Текущее время: 00:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru