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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.60
Ukei
0 / 0 / 0
Регистрация: 21.12.2009
Сообщений: 30
#1

строки - C++

17.01.2010, 13:42. Просмотров 1354. Ответов 32
Метки нет (Все метки)

нужно посчитать сколько букв a,b,c...z. в строке, как это можно сделать? заранее благодарен
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.01.2010, 13:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос строки (C++):

Сгенерировать две произвольные строки и определить, является ли какое-либо слово первой строки частью второй строки - C++
Сгенерировать две произвольные строки и определить, является ли какое-либо слово первой строки частью второй строки. 1. Я дуб дубом,даже...

Добавить строки, начиная со строки К1 и до строки К2, в динамический массив строк - C++
Есть динамический массив строк. Заполняется, т.е. размер его уже известен будет. Но дальше нужно сделать задание: "Добавить строки, начиная...

Удалить строки динамической матрицы, начиная со строки К1 и до строки К2 - C++
Сформировать динамический двумерный массив, заполнить его случайными числами и удалить строки, начиная со строки К1 и до строки К2 вот...

Ввести две символьных строки. Выполнить поиск второй строки в первой и вывести номер позиции первой строки, с которой вторая строка содер-жится в ней - C++
Ввести две символьных строки. Выполнить поиск второй строки в первой и вывести номер позиции первой строки, с которой вторая строка...

Указать номер строки, максимально удаленной от первой строки заданной матрицы - C++
Задание: Расстояние между k-й и 1-й строками квадратной матрицы А опеределяется как r = сумма от j=1 до N от (abs(akj)*abs(a1j)). Указать...

Упорядочить символы строки B в алфавитном порядке и удалить латинские буквы из строки A - C++
"Даны строки A и B. Если в A есть латинские буквы, а в B нет повторяющихся символов, то упорядочить символы B в алфавитном порядке и...

32
Bloodykeeper
This party getting crazy!
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
17.01.2010, 13:51 #2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <conio.h>
 
#define s 80
 
int main ()
{   char str[s];
    char p=str,n,k;
    int i ;
    printf("Please enter the symbols: ");
    scanf("%d",&n) ;
    i=0;
    while(str[s]!='\0')
        if(str[s]=='a'||str[s]=='z')
    i++;
    k++;
    printf("k=%d",k) ;
}
вот, должно работать.
1
Ukei
0 / 0 / 0
Регистрация: 21.12.2009
Сообщений: 30
17.01.2010, 14:02  [ТС] #3
не работает, пишет в 8 строке ошибка - cannot convert from 'char [80]' to 'char' (((
0
ggmann
20 / 20 / 1
Регистрация: 06.10.2008
Сообщений: 173
17.01.2010, 14:05 #4
char p=str,n,k;
зачем вообще там эта переменная ?) она не где не участвует

Добавлено через 26 секунд
p=str попробуй удалить
0
Rififi
2359 / 1052 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
17.01.2010, 14:06 #5
Ukei,

а теперь - правильный ответ (:

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <conio.h>
 
#define N 80
 
int main ()
{       char str[N] = {0};
        int n;
        printf("Please enter the symbols: ");
        scanf("%d", &n) ;
        int i=0;
        for (char* p = str; *p; p++)
                if (*p >= 'a' && *p <= 'z')
              i++;
 
        printf("k=%d",i) ;
       getch();
}
0
JamesBlack
37 / 37 / 3
Регистрация: 28.07.2009
Сообщений: 144
17.01.2010, 14:07 #6
Цитата Сообщение от Bloodykeeper Посмотреть сообщение
вот, должно работать.
Бред. Код определенно левый.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
#include <conio.h>
#include <string.h>
 
#define s 80
 
int main ()
{
        char str[s];
        printf("Please enter the string:\n");
        scanf("%s", str);
        int abc[26]={0}; //кажется обнуляется массив так
        for(int i=0; str[i]!='\0'; i++)
                if (str[i]>='a' && str[i]<='z')
                        abc[str[i]-'a']++;
}
Таким образом у тебя в массиве abc будет хранится кол-во буков: a в элементе 0, b в элементе 1 и так далее до z в элементе 25. Дальше если хочешь уже выводи.
1
ggmann
20 / 20 / 1
Регистрация: 06.10.2008
Сообщений: 173
17.01.2010, 14:08 #7
чтото оно выдает только к=0 =)
еще варианты?)
0
Ukei
0 / 0 / 0
Регистрация: 21.12.2009
Сообщений: 30
17.01.2010, 14:09  [ТС] #8
тож не пашет, вылазиет окно break u continue где то с вайл ошибка
0
Rififi
2359 / 1052 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
17.01.2010, 14:11 #9
ggmann,

чтото оно выдает только к=0 =)

естессно, что 0.
потому что в том чудо-коде сама строка не вводится!
у меня только исправлены синтаксические ошибки, чтобы оно хотя бы компилировалось :LOL:
0
ggmann
20 / 20 / 1
Регистрация: 06.10.2008
Сообщений: 173
17.01.2010, 14:13 #10
вот все так, лишбы считалось =))
0
Bloodykeeper
This party getting crazy!
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
17.01.2010, 14:15 #11
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
 
int main(){
        int c, count;
        
        count = 0;
        printf("Enter the symbols: ");
        while ( (c = getchar()) != EOF ){
                if ( c >= 'a' && c <= 'z' )
                        count++;
                if ( c == '\n' ){
                        printf("%d symbols in row\n", count);
                        count = 0;
                }
        }
        return 0;
}
вот. Это точно работает. Самый простой и примитивный вариант
0
JamesBlack
37 / 37 / 3
Регистрация: 28.07.2009
Сообщений: 144
17.01.2010, 14:16 #12
я написал рабочий код. Если хочешь посмотрть кол-во каждого симвова, напиши в конце
C++
1
2
3
printf("Please, enter the symbol: ");
scanf("%c", ch);
printf("Number of symbol %c - %d.", ch, abc[ch-'a']);
и добавь в одной из первы строчек char ch;
0
kazak
3038 / 2359 / 157
Регистрация: 11.03.2009
Сообщений: 5,405
Завершенные тесты: 1
17.01.2010, 14:18 #13
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 <conio.h>
int main(int argc, char* argv[])
{
   char str[81];
   int count[26] = {0};
   int i;
 
   printf("Vvedite stroku: ");
   fgets(str, 80, stdin);
   for (i = 0; str[i] != '\0'; i++)
   {
      if (str[i] >= 'a' && str[i] <= 'z')
         count[str[i]-97]++;
   }
   for (i = 0; i < 26; i++)
   {
      if (count[i] != 0)
         printf("%c %i\n", ('a'+i), count[i]);
   }
   getch();
   return 0;
}
1
JamesBlack
37 / 37 / 3
Регистрация: 28.07.2009
Сообщений: 144
17.01.2010, 14:19 #14
Bloodykeeper, у тебя код для чтения из файла, причем нигде нету ни открытия файла ни закрытия. Не надо писать код, который ты не понимаешь сам.

Добавлено через 38 секунд
kazak, ты написал тоже самое что и я)))
0
Bloodykeeper
This party getting crazy!
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
17.01.2010, 14:19 #15
JamesBlack, о чём ты? если нужно закрытие файла, то пусть сам допишет, я дал нормально работающий код, причём понять его намного проще чем остальные.
0
17.01.2010, 14:19
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.01.2010, 14:19
Привет! Вот еще темы с ответами:

Чтение через fscanf_s части строки с пробелом (и запись этой же строки) - C++
нужно записать в файл строку, содержащую через табуляцию int, char, char, char, float, int. Далее необходимо из такой же строки вывести...

Как первые два символа строки переставить в конец этой строки? - C++
Собственно вопрос

Найти среднее арифметическое каждой строки матрицы и отсортировать строки по возрастанию - C++
Дана квадратная матрица. Найти среднее арифметическое каждой строки и отсортировать строки по возрастанию этих характеристик

Как считать строки из файла, если там больше одной строки? - C++
Как считать строки из файла в массив. Если в файле одна строка, то нет проблем, но если несколько, то при использовании функции fgets ...


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

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

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