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

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

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

Строка(указатели) - C++

27.01.2012, 22:43. Просмотров 361. Ответов 3
Метки нет (Все метки)

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


Решить с помощью указателей.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.01.2012, 22:43     Строка(указатели)
Посмотрите здесь:

Симметричная строка через указатели - C++
Здравствуйте. Застопорился на абсолютно элементарной задачке: Дан текст из 80 букв. Определить, симметричен ли он, т.е. читается...

Что означает данная строка. Указатели - C++
void varInDynamicMemory(){ int *p1; int i=12; float *p2; float f=3.14; double *p3; double d=4.789; cout<<"Исходные значения...

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

указатели - C++
всем здрасте, вот у меня проблема, я категорически не понимаю "указателей" можете как нить обяснить или дать хорошую статью на эту тему,...

Указатели - C++
1) Указатель можно инициализирвоать только с помощью операции *p=&a? А как записать адрес переменной в простую переменную (я пытался это...

Указатели в С++ - C++
Здравствуйте...требуется помощь по следующей задаче... Задача: Создать функцию, которая возвращает количество элементов массива меньше...

Указатели - C++
очень прошу, объясните пожалуста для чего нужны указатели? я знаю что это такое, но не могу понять зачем они нужны и как пользоваться!! ...

указатели - C++
Создайте целые числа x и y Создайте указатель на int с названием p1 Сохраните адрес x в p1 Используйте p1 чтобы присвоить...

Указатели - C++
Нифига не догоняю тему про указатели, есть книга по C/C++ но там не очень понятным языком написано Киньте плиз ссылку на хороший мануал...

Указатели - C++
Помогите. Код рабочей программы через простое обращение к массиву. нужно чтоб обращение было через адресацию с использованием (& *)...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Xind
275 / 148 / 7
Регистрация: 05.11.2011
Сообщений: 425
Записей в блоге: 1
27.01.2012, 22:51     Строка(указатели) #2
Цитата Сообщение от ishushii Посмотреть сообщение
Написать программу, которая запрашивает у пользователя ввод строки, состоящей из строчных букв латинского алфавита. Программа подсчитывает, сколько раз в строке встречается каждая из строчных букв латинского алфавита.
Решить с помощью указателей.
Ну и чего не понятно? Есть наработки?
AzaKendler
214 / 116 / 9
Регистрация: 30.05.2011
Сообщений: 1,772
27.01.2012, 22:57     Строка(указатели) #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <map>;
#include<iostream>
using std::map;
using std::cout;
using std::cin;
 
 
 
int main()
{
 
 
char buf [100];
 
 
cout<<"Input string "<<"\n";
cout.flush();
cin.getline(buf,100,'\n');
 
map<char,int> m;
map<char,int>::iterator IT;
 
int lent  = strlen(buf); //buf - указатель на начало строки
 
for(int i = 0;i<lent; i++)
{
    m[buf[i]]++; //считаем вхождения букв
};
 
 
IT = m.begin();
 
while(IT!=m.end())
{
    cout<<IT->first<<" "<<IT->second<<"\n"; //выводим парой - буква - сколько раз встретилась
    ++IT;
}
 
 
return 0;
}
lemegeton
2918 / 1347 / 134
Регистрация: 29.11.2010
Сообщений: 2,721
28.01.2012, 02:44     Строка(указатели) #4
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
#include <string.h>
#define MAX_LINE_SIZE 2048
#define NUMBER_OF_LETTERS ('z' - 'a' + 1)
 
int main(int argc, char *argv[]) {
  char line[MAX_LINE_SIZE];
  int counters[NUMBER_OF_LETTERS];
  fgets(line, MAX_LINE_SIZE, stdin);
  memset(counters, 0, sizeof(*counters) * NUMBER_OF_LETTERS);
 
  char *c = line;
  for (; *c != '\0'; ++c)
    if(*c >= 'a' && *c <= 'z')
      ++counters[*c - 'a'];
 
 
  int i;
  for (i = 0; i < NUMBER_OF_LETTERS; ++i)
    printf("%c: %02d\n", 'a' + i, counters[i]);
 
  return 0;
};
Yandex
Объявления
28.01.2012, 02:44     Строка(указатели)
Ответ Создать тему
Опции темы

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