Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 29.05.2008, 19:44   #1 (permalink)
Plushevuy
Новичок
 
Регистрация: 29.05.2008
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Здравствуйте, Дорогие!!! Помогите, пожалуйста решить парочку задачек по строкам.

1. Написать программу которая вводит с клавиатуры повествовательное предложение в Present Continious и преобразовывает его в вопросительное. Предложение простое.

2. Пользователь с клавиатуры вводит Ф.И.О.(неограниченное кол-во). Упорядочить по алфавиту.Проверить (и исправить, если нужно) написание собственных имен с больших букв.
Plushevuy вне форума   Ответить с цитированием

Старый 29.05.2008, 19:44
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Найдены схожие обсуждения, рекомендую ознакомиться

Строки в С
Строки
Строки
Строки
Строки
Строки

Старый 30.05.2008, 10:27   #2 (permalink)
bubuka
Member
 
Аватар для bubuka
 
Регистрация: 23.01.2008
Сообщений: 1,110
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 141
По умолчанию

хйац
если актуально еще то напищи
так же устроит ли тебя это на паскале/delphi?
а так же
1. I am (=I'm) playing ---- Am I playing? (т.е надо только переставить 2 и 1 слово не очем больше не задумываясь, ну и поменять на заглавную букву) подвохов некаких? типа сокращения (=I'm)
2. Что значит неограниченное? Т.е надо использовать динамическую память или скажем достаточно ограничения в 32000 позиций?
bubuka вне форума   Ответить с цитированием
Старый 30.05.2008, 18:08   #3 (permalink)
Plushevuy
Новичок
 
Регистрация: 29.05.2008
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Здравствуйте!!!! Спасибо огромное что ответили!!!!!! Да еще даже очень актуально!!!!!
чесно говоря не знаю ни паскаль ни delphi, было бы лучше на С++. Но если без варинтов, то устроит.

1. Не, подвохов нет. ТОлько переставить, поменять заглавную и вконце на згак вопроса. ДумаюЮ что сокращения не стоит рассматривать.
2. Т.е программа спрашивает сколько будете вводить Ф.И.О. -ответ например 4 и тогда только вводятся, вот так.
Plushevuy вне форума   Ответить с цитированием
Старый 30.05.2008, 23:33   #4 (permalink)
bubuka
Member
 
Аватар для bubuka
 
Регистрация: 23.01.2008
Сообщений: 1,110
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 141
По умолчанию

Так основной смысл этих задач замена срочной буквы на заглавную
все остальное не проблема (хотя замена тоже не проблема через АСКИИ ))))

Итак завтра напишу - а щас спать после трудовых будней
bubuka вне форума   Ответить с цитированием
Старый 31.05.2008, 13:43   #5 (permalink)
Plushevuy
Новичок
 
Регистрация: 29.05.2008
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Ой, спасибо огромное!!!!!!!!!!!!!!!!!!!!!! Это же так прекрасно!!!!! На языке с++???? Бывают же такие люди, которые готовы помочь....Супер!! А можно понаглеть и еще одну задачку по строкам выставтиь?
Написать программу, пользователь с клавиатуры вводит текст до 20 символов, максимальное кол-во строк 10, и подсчитывает сколько раз стречается заданное слово.
Есть текст программы-можно ли его упростить ло самого примитивног образа-до обычных циклов и самых начальны параметров ввода??
вот :
# include <iostream.h>
# include <conio.h>
# include <string.h>
# include <stdio.h>

const int SIZE = 20;
char text[ SIZE + 1 ];
char word[ SIZE + 1 ];

void main()
{
char buf[ SIZE + 1 ];
char big_buf[ 3*SIZE ];

clrscr();

// забиваем нулями строки
memset( big_buf, 0, 3*SIZE );
memset( buf, 0, SIZE + 1 );
memset( text, 0, SIZE + 1 );

// ввод текста
cout << "Text: ";
while ( !cin.eof() && strlen( big_buf ) <= SIZE )
{
cin >> buf;
strcat( big_buf, buf );
}
strncpy( text, big_buf, SIZE );
fflush( stdin );

// ввод слова
cout << "Word: ";
cin >> word;

// Поиск кол-ва вхожденй
int i = 0;
char * p = text;
while ( p = strstr( p, word ) )
{
++p;
++i;
}

cout << "Words count = " << i << endl;
cout << endl << "Press any key to exit...";
getch();
}
Plushevuy вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 01.06.2008, 18:06   #6 (permalink)
Plushevuy
Новичок
 
Регистрация: 29.05.2008
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

эй... bubuka...ну, где же ты....
Plushevuy вне форума   Ответить с цитированием
Старый 02.06.2008, 00:45   #7 (permalink)
Plushevuy
Новичок
 
Регистрация: 29.05.2008
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

С горем пополам решила задачу первую-про фамилии-единственно, что не исправляет написание Ф.И.О с больших букв Как это сделать, чтоб работало?
вот она:
# include <iostream.h>
# include <ctype.h>
# include <stdlib.h>
# include <string.h>
# include <conio.h>

int main()
{
int i,j,m,nom,t=0;
char c[101][101], x[101], min[101];
double p;
clrscr();
do
{
cout<<"vvedite kolichestvo F.I.O (strok)\n";
cin>>m;
m++;

cout<<"vvedite F.I.O (stroki)\n";
for (i=1;i<=m;i++)
cin.getline (c[i],sizeof(c[i]));

for (i=1;i<=m-1;i++)
{j=i;
strcpy (min,c[i]);
nom=i;
for (j=i+1;j<=m;j++)
{p=strcmp(c[j],min);
if (p<0)
{strcpy (min,c[j]);
nom = j;}}
strcpy (x,c[i]);
strcpy (c[i],c[nom]);
strcpy (c[nom],x);}
for (i=1;i<=m;i++)
cout<<c[i]<<"\n";
cout<<"eshche? 1/0\n";
cin>>t;}
while (t==1);

return 0;}
Plushevuy вне форума   Ответить с цитированием
Старый 02.06.2008, 18:49   #8 (permalink)
Alive_UA
Member
 
Аватар для Alive_UA
 
Регистрация: 01.06.2008
Сообщений: 305
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 886
По умолчанию

http://www.opennet.ru/docs/RUS/glibc/glibc-4.html
особенно - подпункт 4.2 Замена регистра
перед for (i=1;i<=m-1;i++) надо че-то с c[1] сделать

Ошибка.
Код:
cout << "vvedite kolichestvo F.I.O (strok)\n";
cin >> m;
заменить на
Код:
do{
cout << "vvedite kolichestvo F.I.O (strok)\n";
cin >> m;
}while( m > 100 && m < 1 );
и еще: юзайте endl, английские слова и структурируйте как-нть свой код, чтобы самой потом проще разбираится( если пишите "{" на отдельной строке, то и пишите так везде) - предыдущий Ваш пример был красивее
Alive_UA вне форума   Ответить с цитированием
Старый 02.06.2008, 20:04   #9 (permalink)
Plushevuy
Новичок
 
Регистрация: 29.05.2008
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Спасибо ВАм огромное!!!!!!!за совет!!!!!!!!и ответ!!!!!!
Plushevuy вне форума   Ответить с цитированием
Старый 02.06.2008, 20:10   #10 (permalink)
Plushevuy
Новичок
 
Регистрация: 29.05.2008
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Про с[1] я поняла-это на счет первого слова, а как быть со вторыми? В фаимилии, имени и отчестве 3 слова же...
Plushevuy вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 02:05.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.