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

Задача со строками - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ lexx/yacc некорректно анализирует http://www.cyberforum.ru/cpp-beginners/thread371202.html
Есть транслятор лексический выражений в ДНФ, но почему-то он не может считать входную строку, а именно знак "!" (не) он читает как "(", а от знака * у него случается segmentation fault. Никак не могу понять, почему это происходит? Программа в http://zalil.ru/31918731 в терминале make ./DNF < da.txt
C++ Помогите исправить ошибку Условие задачи Из входного потока вводится произвольное число строк. Каждая строка представляет собой последовательность слов , разделенных одним или несколькими пробелами и/или знаками табуляции. Длина каждой строки не превышает 80 символов . Конец ввода определяется концом файла Для каждой строки сформировать строку , поместив в нее слова исходной строки , буквы в которой записаны в... http://www.cyberforum.ru/cpp-beginners/thread371193.html
C++ задача на С++
найти все углы треугольника по известным сторонам.предусмоттерть перевод радианной меры угла в градусы,минуты и секунды
C++ Выравнивание структур
Подскажите пожалуйста, как в Си++ задать структуру/класс/тип данных, чтобы она/её поля были выровнены на одределённую границу в памяти, например 8 байт? И как сделать, чтобы функция malloc/new тоже выдавала результат с выравниванием?
C++ Если все элементы «двусвязного списка» отрицательны, то удалить элемент «стека» http://www.cyberforum.ru/cpp-beginners/thread371171.html
помогите,пожалуйста... -Если все элементы «двусвязного списка» отрицательны, то удалить элемент «стека». Результат проверить.
C++ vs--2010 1. Программа для книжного магазина. Компьютер запрашивает стоимость книг, сумму денег, внесенную покупателем. Если сдачи не требуется, выводит сообщение «Спасибо»; если денег внесено больше, чем необходимо, то выводит «Возьмите сдачу» и указывает сумму сдачи; если денег недостаточно, то печатает сообщение об этом и указывает размер недостающей сдачи. 2. Программа запрашивает целое число от 2 до... подробнее

Показать сообщение отдельно
C1keu
1 / 1 / 0
Регистрация: 19.02.2010
Сообщений: 32
24.10.2011, 12:46     Задача со строками
Есть задача с 4 условиями.2 из них сделал,но 2 не правильно работает.Еще нужно сделать 2.Помогите пожалуйста=)
1)Определить минимальную длину слова.2)Проверить есть ли в указанном слове согласные буквы.3)Выдаьть на печать все слова начинающиеся с гласной буквы.4)Заменить на ps первое вхождение x.
Код по частям
Здесь я разбил текст на слова
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
#include <string.h>
main()
{
 char A[100],B[30][20],C[6]={'e','y','u','i','o','a'};
 char D[20]={'q','w','r','t','p','s','d','f','g','h','j','k','l','z','x','c','v','b','n','m'};
 int i,j,m,l,n,min,k;
 puts("Введите текст");
 gets(A);
 n=strlen(A);
 i=0;j=0;
 for(l=0;l<n;l++)
 if(A[l]!=' '){B[i][j]=A[l];j++;}
 else{B[i][j]='\0';i++;j=0;}
 B[i][j]='\0';i++;
 m=i;
Нашел и вывел минимальное
C++
1
2
3
4
5
6
7
8
 min=1000;
 for(i=0;i<m;i++)
 {
  n=strlen(B[i]);
  printf("n=%d\n",n);
  if(n<min)min=n;
 }
 printf("min=%d\n",min);
Проверяю на согласные буквы(как раз не правильно работает)
C++
1
2
3
4
5
6
7
8
 printf("Введите номер слова=");
 scanf("%d",&k);
 n=strlen(B[k]);
 l=0;
 for(i=0;i<n;i++)
 for(j=0;j<20;j++)
 if(B[k][i]==D[j])l=1;
 if(l==0) puts("Нет согласных");else puts("Есть согласные");
Просто выводит текст уже разбитый на слова
C++
1
2
3
4
 puts("Полученный текст");
 for(i=0;i<m;i++)
 puts(B[i]);
}
Добавлено через 18 часов 29 минут
Ребят,проблемма все еще актуальна =)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 03:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru