Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
35 / 18 / 16
Регистрация: 15.12.2015
Сообщений: 68

Удаление из строк всего,кроме букв латинского алфавита

24.03.2016, 21:20. Показов 1120. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Необходимо удалить из строк всё,кроме букв латинского алфавита и вывести указатели символов *,&.Почему-то вылезает ошибка на неожиданном месте,28 строке.Что я неправильно сделал?
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
42
43
#include "stdafx.h"
#include <time.h>
#include <iostream>
#include <string>
#include <conio.h>
#include <stdio.h>
using namespace std;
 
void main()
{
char **a;
int n;
puts("Input n");
scanf("%d",&n);
a=new char *[n];
for (int i=0;i<n;i++)
*(a+i)=new char[80];
cout << "Input str \t" << n << endl;
for (int i=0;i<n;i++)
{
    fflush(stdin);
        gets(*(a+i));
}
for (int j=0;j<n;j++)
{
for (int i=0;i<strlen(*(a+j));i++)
{
    int k=(int)*(*(a+i)+j);
        if (!((k>=65 && k<=90) || (k>=97 && k<=122)))
        {
            int s=i;
                for (s;(s+1)<strlen(*(a+j));s++)
                *(*(a+s)+j)=*(*(a+s+1)+j);
        }
    if (k==(38 || 42))
            printf("%p",*(a+i)+j);
}
 
}
for (int j=0;j<n;j++)
        cout << *(a+j) << endl;     
getch();
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.03.2016, 21:20
Ответы с готовыми решениями:

В строке слов из букв латинского алфавита найти слова, в которых нет букв, которые повторяются.
В строке слов из букв латинского алфавита найти слова, в которых нет букв, которые повторяются.

Вывести во внешний файл символы строк исходного, кроме заглавных букв латинского алфавита
помогите пожалуйста с программой. Задача: введите произвольное количество строк с клавиатуры, затем выведите во внешний файл символы этих...

Определить номер столбца, в котором больше всего букв латинского алфавита
Нужна помощь, задача такова: Определить номер столбца, в котором больше всего букв латинского алфавита. Если поможете буду очень...

4
 Аватар для meJevin
161 / 153 / 92
Регистрация: 18.11.2015
Сообщений: 677
24.03.2016, 22:04
Я не понял условие немножко, но вот прога, которая удаляет все, кроме латинских букв, из текста с несколькими строчками:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int main() {
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    std::cout << "Вводите строки, а чтобы закончить ввод введите в конце '~'\n";
 
    std::string text;
    std::getline(std::cin, text, '~');
 
    char symbols[] = "1234567890~!@#$%^&*()_+=-`]'[;/.,<:>?\"|}{";
 
    for (int i = 0; i < strlen(symbols); i++)
        text.erase(std::remove(text.begin(), text.end(), symbols[i]), text.end());
 
    std::cout << "Ваш текст, но только с латинскими буквами: ";
    std::cout << text;
 
    _getch();
}
Добавлено через 4 минуты
Объясни тупому девятикласснику, пожалуйста, что значит: "вывести указатели символов *,&". А я тебе все сделаю.
1
35 / 18 / 16
Регистрация: 15.12.2015
Сообщений: 68
24.03.2016, 22:39  [ТС]
Твоя программа не удаляет все,кроме букв лат.алф.,посмотри ASCII.Вывод указателя- спецификатор printf %p.Также хотелось бы не с нуля программу,а найти свои ошибки и разобраться.
0
 Аватар для meJevin
161 / 153 / 92
Регистрация: 18.11.2015
Сообщений: 677
24.03.2016, 22:55
Цитата Сообщение от Lev Посмотреть сообщение
не удаляет все,кроме букв лат.алф.
да ладно, из этого списка я, вроде, все символы впихнул в массив чаров, а тебе еще это надо?

Добавлено через 1 минуту
Цитата Сообщение от Lev Посмотреть сообщение
,а найти свои ошибки и разобраться.
а это - хорошая идея, щас посмотрим.
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9006 / 4707 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
25.03.2016, 00:41
Вот большая прогаммища
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include <iostream>
#include <windows.h>
using namespace std; 
 
int extract_lat(const char *str, char ** rs=0, int lat_num=0)
{
int lat_number=0;
if(!lat_num)
{
while(*str)
{
if((*str>='a' && *str<='z') || (*str>='A' && *str<='Z'))
{
lat_number++;
}
str++;
}
}
else
{
char *res=*rs=new char[lat_num+1];
while(*str)
{
if((*str>='a' && *str<='z') || (*str>='A' && *str<='Z'))
{
*res=*str;
res++;
} 
str++;
}
*(res)='\0';
lat_number=lat_num;
}
return lat_number;
}
 
 
int main(int argc, char* argv[])
{
SetConsoleCP (1251); SetConsoleOutputCP (1251);
const char* str= "Papa u Vasi silen v informatice, учится Vasya u Papi весь год molodec ";
cout<<"Исходная строка: "<<str<<endl;
int lat_number=0;
char * result=0;
lat_number=extract_lat(str);
if(lat_number)
{
extract_lat(str, &result, lat_number);
cout << "Получили латинскую строку: " << result;
}
else
cout<<"Нет латниских букв";
cout<<endl;
cin.ignore(cin.rdbuf()->in_avail());
cin.clear();
cin.get();
return 0;    
}
добавьте что захотите.

Добавлено через 23 минуты
Вообще, если учесть, что буржуи ничего кроме английских букв буквами не считают, то можно проще:
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
int extract_lat(const char *str, char ** rs=0, int lat_num=0)
{
int lat_number=0;
if(!lat_num)
{
while(*str)
{
if(isalpha(*str))
{
lat_number++;
}
str++;
}
}
else
{
char *res=*rs=new char[lat_num+1];
while(*str)
{
if(isalpha(*str))
{
*res=*str;
res++;
} 
str++;
}
*(res)='\0';
lat_number=lat_num;
}
return lat_number;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.03.2016, 00:41
Помогаю со студенческими работами здесь

Определите сколько в файле букв (латинского алфавита), слов, строк
Дан файл. Определите сколько в нем букв (латинского алфавита), слов, строк. Выведите три найденных числа в формате, приведенном в примере. ...

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

Удалить из строк все символы, кроме букв английского алфавита
Как сделать это проще? Желательно без foreach, for или while. static void Main(string args) { ...

Вывод кодов букв латинского алфавита прописных и строчных букв
Мой код с выводом кодов строчных букв: #include &lt;stdio.h&gt; #include &lt;conio.h&gt; int main (void) { int j = 1; char a = 'j'; ...

В заданном тексте из букв латинского алфавита определить общее число вхождений в него букв a, e, c, h
В заданном тексте из букв латинского алфавита определить общее число вхождений в него букв a, e, c, h. Помогите написать эту программу,...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru