![]() Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву ![]() Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Ниже решается та же проблема, что что и в предыдущей задаче , но реализация осуществлена в VIsual Studio 2008Содержание книги
Поиск на нашем сайте
// управление курсором // Программа отлажена в Visual Studio 2008 16.03.2010г #include "stdafx.h" #include<conio.h> #include<stdio.h> #include <windows.h> // обязательно!
#include<iostream> using namespace std; // функция устанавливает цвет текста и подложки в консоли (локальное) void SetColor(int text, int background) { HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleTextAttribute(hStdOut, (WORD)((background << 4) | text)); }
// функция позиционирует курсрор в точку (х, у) void goto_xy (int x, int y) { COORD cd;// координаты курсора HANDLE hd = GetStdHandle(STD_OUTPUT_HANDLE); cd.X=x; cd.Y=y; SetConsoleCursorPosition(hd,cd); }
int main() { int x,y,k; int i,j,si,sj,maxx=79,maxy=24; unsigned char c='\006', ch; // Управление цветом - глобальное и локальное
//const int NotUsed = system("color 20"); // 2 - значение цвета фона, 0 - значение цвета текста system("color 17");// 1-синий фон, 7-серые буквы глобально i=maxx/2;j=maxy/2; x=0;y=0; system("cls"); // очистка экрана SetColor(14,1); // (локальное текст и фон) goto_xy(2,24); cprintf("ESC to Exit"); goto_xy(i,j); putch(c);
si=i; sj=j; //старые координаты while((ch=getch())!=27) { if(ch==0) //&& kbhit()) ch=getch(); switch(ch) { case 72: x=0;y=-1; break; case 75: x=-1; y=0; break; case 77: x=1; y=0; break; case 80: x=0; y=1; break; case 71: x=-1; y=-1; break; case 73: x=1; y=-1; break; case 79: x=-1; y=1; break; case 81: x=1; y=1; break; } i+=x; j+=y; if(i<1) {i=1; j++;} if(i>maxx-1) {i=maxx-1;j++;} if(j<1) {j=1;i++;} if(j>maxy-1) {j=maxy-1;i++;} goto_xy(si,sj); putch(' '); goto_xy(i,j); putch(c); si=i; sj=j; //старые координаты } //getch(); return 0; }
Задача 128. Программа позволяет рисовать на экране разные фигуры, перемещая по экрану символ ª с кодом 006 (см. предыдущую задачу). Esc — конец.
//Программа отлажена в Borland C++ Builder 6 5.04.2008 #include <stdio.h> #include <conio.h> #include <dos.h> #include <iostream.h>
int x, y, i, j, maxx=79, maxy=24; unsigned char c='\002'; // функция рисования фигур, // используя клавиши управления put_mord(char ch) { switch (ch) { case 72: x=0; y=-1; break; // стрелка вверх case 75: x=-1; y=0; break; // стрелка влево case 77: x=1; y=0; break; // стрелка вправо case 80: x=0; y=1; break; // стрелка вниз case 71: x=-1; y=-1; break; // Home case 73: x=1; y=-1; break; // Page Up case 79: x=-1; y=1; break; // End case 81: x=1; y=1; break; // Page Down
} i+=x; j+=y; if (i<1) {i=1; j++;} if (i>maxx-1) {i=maxx-1;j++;} if (j<1) {j=1;i++;} if (j>maxy-1) {j=maxy-1;i++;} gotoxy(i,j); putch(c); Sleep(400); } void main() { unsigned char ch; i=maxx/2;j=maxy/2; x=0;y=0; textbackground(6); textcolor(5); clrscr(); gotoxy(i,j); putch(c); while ((ch=getch())!= 27) { if (ch==0) ch=getch(); put_mord(ch); } getch(); }
Задача 129. Программа расставляет в случайно выбранных точках экрана ”фишки” — разноцветные символы с кодом 03. Далее программа дает возможность перемещать клавишами “стрелка влево ” и “стрелка вправо” вдоль нижней строки экрана “пушку” — символ с кодом 02 и сбивать фишки нажатием клавиши “стрелка вверх”. По завершении игры (нажать Esc) выдается сообщение о затраченном времени. Для генерации случайных чисел в среде Borland C++ Builder использована пара функций randomize() и random().
// Программа отлажена в Borland C++ Builder 6 // «стрелялка» на время!!! // сбивать фишки, используя клавиши управления // стрельба — по стрелке вверх #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <dos.h> int main() { int x,y,k; int i,j,si,sj, maxx=79, maxy=24; unsigned char c='\002', ch, c1='\03';
struct time t; int s1, m1, h1,s2, m2, h2;
randomize(); textbackground(6); i=maxx/2;j=maxy-1; x=0; y=0; clrscr();
for (k=1;k<18;k++) { textcolor(random(15)); gotoxy(random(79)+1,random(24)+1); putch(c1); } textcolor(1); gotoxy(i,j); putch(c); si=i; sj=j; //старые координаты gettime(&t); s1=t.ti_sec; m1=t.ti_min; h1=t.ti_hour; while ((ch=getch())!=27) { if (ch==0) ch=getch(); switch (ch) { case 72: for (k=24;k>+0;k--) { gotoxy(i,k); //puts("Бабах");} putch(' '); Sleep(120); } break; case 75: x=-1; y=0; break; case 77: x=1; y=0; break; } i+=x; if (i<1) i=1; if (i>maxx-1) i=maxx-1; gotoxy(si,sj); putch(' '); gotoxy(i,j); putch(c); si=i; sj=j; //старые координаты } gettime(&t); s2=t.ti_sec; m2=t.ti_min; h2=t.ti_hour; printf("\nGAME START:\n %2d час %02d мин %02d сеk\n",h1, m1, s1); printf("\nGAME OVER:\n %2d час %02d мин %02d сеk\n",h2, m2, s2); getch();return 0;
}
Задача 130. Вычислить, сколько раз в строке встречается каждый ее символ. Каждый протестированный символ удаляется функцией delchr().
// Программа отлажена в Visual Studio 2008 #include "stdafx.h" #include<conio.h> #include <iostream> #include <string.h> using namespace std;
int delchr(char s1[],char ch) { int i=0,k=0; while (s1[i]) { if(s1[i]!=ch) s1[k++]=s1[i]; i++; } s1[k]=0; return (i-k); //количество удаленных символов }
int main() { char s1[30],ch; char s2[30]; // Устанавливаем локализацию для выходного потока wcout.imbue(locale("rus_rus.866")); // Выводим строку на русском! wcout<< L"Введите строку "; gets(s1); strcpy (s2, s1); while (ch=s1[0]) //символы "наплывают" на 0 после удаления { wcout<<L"символ "<<ch<<L" встречается " <<delchr(s1, ch)<<L" раз\n"; } puts(s2); getch();return 0; }
Задача 131. Программа определяет, какой из символов строки встречается в ней наиболее часто. Каждый протестированный символ удаляется функцией delch().
// какая из букв встречается наиболее часто // Программа отлажена в Visual Studio 2008
#include<conio.h> #include<stdio.h> #include <iostream> using namespace std;
void delch (char s1[],char ch) { int i=0,k=0; while (s1[i]) { if(s1[i]!=ch) { s1[k]=s1[i]; k++; } i++; } s1[k]=0; }
int main() { char s1[80]; int max=0; int i,k; char ch,c;
puts("Введи строку"); gets(s1); while ((ch=s1[0])!='\0') { i=0; k=0; while (s1[i]) { if(s1[i]==ch) k++; i++; } if (k>max) { max=k; c=ch; }
delch (s1,ch); } if(max!=1) cout<<"Символ "<<c<<" встречается наибольшее число раз-"<<max; else cout<<"Все символы равноправны" ; getch();return 0; }
Задача 132. Программа определяет в строке самую длинную цепочку повторяющихся подряд символов. // Программа отлажена в Visual Studio 2008 #include<conio.h> #include<stdio.h> #include <iostream> using namespace std;
int main() { int i,m,j; char s1[80]; i=j=m=1; printf("введи cтроку\n"); gets(s1); while(s1[i]) { if(s1[i]==s1[i-1]) j++; else { if(j>m) m=j; j=1; } i++; } printf(" max = %d raz\n", (j>m)? j: m); getch(); return 0; }
Задача 133. Вводится строка, состоящая из 5 разных символов. Вывести на экран все их возможные перестановки и количество таких перестановок.
// Программа отлажена в Visual Studio 2008 #include<conio.h> #include<stdio.h> #include <iostream> using namespace std;
int main() {
char s[6]="12345"; int i, j, k, l, m, n=0; char a, b, c, d, e; for(i=0; i<5; i++) { a=s[i]; for(j=0; j<5; j++) { b=s[j]; for(k=0; k<5; k++) { c=s[k]; for(l=0; l<5; l++) { d=s[l]; for(m=0; m<5; m++) { e=s[m]; if(a!=b&&a!=c&&a!=d&&a!=e&&b!=c&& b!=d&&b!=e&&c!=d&&c!=e&&d!=e) { n++; cout<<a<<b<<c<<d<<e<<"\n"; } } } } } } cout<<" Всего вариантов: "<<n;
getch(); return 0; }
Задача 134. Вводится строка, начинающаяся, может быть, с пробелов. Посчитать, сколько букв содержит её первое слово. Вывести на экран это слово и количество букв. #include <stdlib.h> #include <iostream.h> #include <conio.h> #include <stdio.h> #include <math.h> #include <dos.h> void main() { clrscr(); char s1[40]; int k=0, i=0; cout<<"Введи строку "; gets(s1); while (s1[i]==' ') i++; while (s1[i]!=' '&&s1[i]!=0) { k++; i++; } s1[i]=0; puts(s1); cout<<"В первом слове "<<k<<" букв!"; getch(); }
Задача 135. Слова в заданной фразе отделены друг от друга несколькими пробелами. Программа позволяет найти и выдать на экран слова, которые начинаются на заданную букву (здесь — «s»). #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <dos.h> void main() { char s1[30]; int i; char ch; clrscr(); puts("Введи строку с пробелами между словами "); gets(s1); puts(s1); ch='s'; i=0; while (s1[i]!='\0') { while (s1[i] == ' ') i++; if (s1[i]==ch) while (s1[i]!=' '&& s1[i]!=0) putchar(s1[i++]); Else while (s1[i]!=' '&& s1[i]!=0) i++; } getch(); }
Задача 136. Слова в заданной фразе отделены друг от друга несколькими пробелами. Программа печатает те слова, которые заканчиваются заданной буквой. # include<stdio.h> # include<conio.h> main() { char S[80]; int i=0; char ck,c; clrscr(); puts("Введи строку с пробелами"); gets(S); i=0; puts("Введи букву"); c=getchar(); while (S[i]) i++; while (--i>0) //i>=0 не работает для одного слова { while (S[i]==' ') i--; S[i+1]='\0'; ck=S[i]; while (S[i]!=' ' && i>0) // первое слово! i--; if (ck==c) puts(&S[i]); // с ведущим пробелом... } getch(); }
Задача 137. Слова в заданной фразе отделены друг от друга несколькими пробелами. Программа печатает те слова, которые начинаются и заканчиваются одинаковой буквой. #define L 80 #include <stdio.h> #include <conio.h> void main() { char S1 [L]; int k,i=0,nw,kw; clrscr(); puts ("Введи фразу, слова отделены пробелами"); gets (S1); while (S1[i]) { while (S1[i]==' ') i++;
nw=i;
while (S1[i]!=' '&& S1[i]!='\0') i++;
kw=i-1; if (S1[nw]==S1[kw]) { for (k=nw;k<=kw;k++) putchar(S1[k]); putchar ('\n'); } } getch(); }
Задача 138. Слова в заданной фразе отделены друг от друга несколькими пробелами Программа меняет в каждом слове заданной строки порядок букв на противоположный (обращает в строке каждое слово).
// Программа отлажена в Visual Studio 2008 #include <iostream> using namespace std; #include <stdio.h>
int main() { char r, s1[80]; int nw,kw,i=0; puts ("INPUT STRING "); gets(s1); while(s1[i]) { //пропуск пробелов до слова while(s1[i]==' ') //&&s1[i])-не обязательно! i++; nw=i; //пропуск слова while(s1[i]!=' ' && s1[i]!='\0') i++; kw=i-1; //переворот while(kw>nw) { r=s1[nw];s1[nw]=s1[kw]; s1[kw]=r;kw--;nw++; } } puts(s1); return 0; }
Задача 139. Программа пересылает из заданной строки S1 цифры в строку S2, а латинские буквы - в строку S3. Используется функция. #include <iostream.h> #include <conio.h> #include <stdio.h> void buk_zufr(char s1[], char s2[], char s3[]) { int i=0,k=0,t=0; while (s1[i]!='\0') { if (s1[i]>'0' && s1[i]<'9') s2[k++]=s1[i]; Else if ((s1[i]>'A' && s1[i]<'Z') || (s1[i]>'a' && s1[i]<'z')) s3[t++]=s1[i];
i++; } s2[k]='\0'; s3[t]='\0'; } void main() { char s1[20],s2[20],s3[20]; clrscr(); puts("Vvedi ctroky"); gets(s1); buk_zufr(s1,s2,s3); puts(s2); puts(s3); getch(); }
Задача 140. Программа пересылает символы строки S1 в строку S2 в обратном порядке, а затем сцепляет S1 и S2, образуя палиндром. #include <iostream.h> #include <conio.h> #include <stdio.h> #include <string.h> void make_palindrom(char s1[], char s2[]) { int i=0,k=0; while (s1[i]!='\0') i++; i--; while (i>=0) s2[k++]=s1[i--]; s2[k]='\0'; strcat(s1,s2); } void main() { char s1[80],s2[20]; clrscr(); puts("Vvedi ctroky"); gets(s1); make_palindrom(s1,s2); puts(s1); getch(); }
Задача 141. Программа использует собственную функцию del() и стандартную функцию strcat() для удаления из заданной строки S[ ] подстроки длиной L символов, начиная с символа с номером K.
// Программа отлажена в Visual Studio 2008 #include<conio.h> #include<stdio.h> #include <iostream> using namespace std;
void del(char s[], int k, int l) { int n=strlen(s); if(k>n) return; s[k]='\0'; //начало удаляемой подстроки if(k+l>=n) return; //удаляем "хвост" строки strcat(s,&s[k+l]); //сцепление }
int main() { int k,l; char s[40]; // Устанавливаем локализацию для выходного потока wcout.imbue(locale("rus_rus.866")); // Выводим строку на русском! wcout << L"Введи строку "; gets(s); wcout << L"Введи k и l "; scanf("%d %d",&k,&l); del(s,k-1,l); puts(s); getch();return 0; }
Задача 142. Решается та же проблема, что и в предыдущей задаче, но функция strcat() не используется. // Программа отлажена в Visual Studio 2008 #include "stdafx.h" #include<conio.h> #include<stdio.h> #include <iostream> using namespace std;
void del(char s[], int k, int l) { int n=strlen(s),i,j; if(k>n) return; s[k]='\0'; //начало удаляемой подстроки if(k+l>=n) return; //удаляем "хвост" строки i=k; j=k+l; while(s[i++]=s[j++]); //сцепление }
int main() { int k,l; char s[40]; // Устанавливаем локализацию для выходного потока
wcout.imbue(locale("rus_rus.866")); // Выводим строку на русском! wcout << L"Введи строку "; gets(s); ///endl; wcout << L"Введи k и l "; scanf("%d %d",&k,&l); del(s,k-1,l); puts(s); getch();return 0; }
Задача 143. Программа вводит последовательно целые десятичные числа (Q-конец работы) и с помощью функции itobs() преобразует последовательность двоичных цифр числа в эквивалентную строку символов. Программа не зависит от размера данных типа int и может без всяких переделок использоваться в операционных системах, где данные типа int имеют различную длину. // Программа отлажена в Visual Studio 2008
#include<stdio.h> #include <iostream> using namespace std;
const int size=8*sizeof(int); //заполнение строки с конца void itobs(int n, char bs[]) { for (int i=size-1; i>=0; i--) { bs[i]=(n & 1)+'0'; n>>=1; } bs[size]='\0'; }
int main() {
char str1[size+1]; setlocale(NULL, ".1251"); int num; printf("Введи число или Q "); while (scanf("%d",&num)==1) { itobs (num,str1); printf ("%d будет %s \n",num,str1); printf("Введи число или Q "); } return 0; }
Задача 144. Слова в заданной фразе отделены друг от друга несколькими пробелами. Удалить из строки те слова, в которых есть одинаковые буквы. Проверку наличия в слове одинаковых букв реализует функция YES_NO().
// Программа отлажена в Visual Studio 2008 #include "stdafx.h" #include <stdio.h> #include <string.h> #include <iostream> #include <conio.h> using namespace std; int YES_NO(char s[]) { int i,j,k; char c; k=strlen(s); for(i=0;i<k-1;i++) { c=s[i]; for(j=i+1;j<k;j++) if(c==s[j]) //буква повторяется return(0); } return(1); }
int main() { int i=0,j,n; char s1[]=" мама мыла раму мылом ", word[15]; static char s2[]=""; puts(s1); while(i < strlen(s1)) { //пропуск пробелов перед словом while(s1[i]==' ') i++; j=0; //выделение слова while(s1[i]!= ' ' && s1[i]!= '\0') word[j++]=s1[i++]; //конец слова word[j++]=' '; word[j]='\0'; puts(word); //если нет повторяющихся букв if(YES_NO(word)) strcat(s2,word); //сцепление слов } puts(s2); getch();return 0; }
Задача 145. Создать функцию, определяющую, состоят ли два заданных слова из одинаковых литер и отличаются, быть может, только их порядком (таковы, например, слова абракадабра и барадакбара).
// Программа отлажена в Visual Studio 2008 #include <stdio.h> #include <conio.h> #include <string.h>
// Сортировка литер void ch_sort(char a[]) { int i,k,n=strlen(a);char p; for(i=0; i<n-1; i++) for(k=i+1; k<n; k++) if(a[i]>a[k]) { p=a[i]; a[i]=a[k]; a[k]=p; } }
// Функция проверяет, состоят ли 2 слова из одинаковых букв // возвращает значение типа bool
bool twoword(char s1[], char s2[]) { ch_sort(s1); ch_sort(s2); // puts(s1); puts(s2); if (strcmp(s1,s2)) return false; else return true; }
//основная int main() { char s1[]="арбадакарба", s2[]="барадакбара";
if(twoword(s1,s2)) puts("cлова из одинаковых литер_YES"); else puts("cлова из неодинаковых литер_NO"); getch();return 0; }
Массивы строк
Для создания массива строк используется двумерный символьный массив, в котором размер левого индекса определяет количество строк, а размер правого - максимальную длину каждой строки. Например, при выполнении следующей инструкции объявляется массив, предназначенный для хранения 10 строк длиной 80 символов.
char str_mas[10][80];
Для доступа к отдельной строке достаточно указать только левый индекс. Например, следующая инструкция вызывает функцию gets() для записи третьей строки массива str_mas.
gets(str_mas[2]);
Для получения доступа к четвертому символу третьей строки достаточно написать
cout<<str_mas[2][5];
Задача 146. В следующей программе демонстрируется использование массива строк при реализации расчета зарплаты служащих с повременной оплатой и вывода ведомости на получение зарплаты с сортировкой их фамилий по алфавиту. #include <stdlib.h> #include <iostream.h> #include <conio.h> #include <stdio.h> #include <math.h> #include <dos.h> #include <string.h> const int m=5, int L=40; void main() { clrscr(); int k, i, j; char rab[L]; char fio[m][L]={"Иванов", "Андреев", "МакДональд", "Петров", "Ващенко"}; float tarif[m], salary[m]; int work[m]; // Сортировка списка фамилий по алфавиту. for (i=0; i<m-1; i++) for (j=i+1; j<m; j++) if (strcmp(fio[i], fio[j])>0) { strcpy(rab, fio[i]); strcpy(fio[i], fio[j]); strcpy(fio[j], rab); } for (k=0; k<m; k++) cout<<fio[k]<<"\n"; // Расчет зарплаты по тарифу и отработанным часам. k=0; puts(" Введи тариф и количество отработанных часов "); while (k<m) { puts(fio[k]); cout<<" Тариф: "; cin>>tarif[k]; cout<<" Отработанно часов: "; cin>>work[k]; salary[k]=tarif[k]*work[k]; k++; } puts(""); puts(" Ведомость на выдачу зарплаты "); puts(""); for (k=0; k<m; k++) printf(" %-25s %12.2f\n", fio[k], salary[k]); getch(); }
Задача 147. Программа осуществляет статистическую обработку сведений о сдаче сессии студентами группы. Фамилии студентов хранятся в массиве строк fio[M][Lstr], а оценки каждого по N (N=4) предметам — в двумерном массиве session [M][N]. Программа, в частности, печатает фамилии тех, у кого есть двойки и их количество, а также предмет, по которому студенты имеют наибольшее количество двоек. // Программа отлажена в Visual Studio 2008 #include "stdafx.h" #include<conio.h> #include<stdio.h> #include <iostream> #include<string.h> using namespace std; const int M=5, N=4, LStr=20; // сортировка строк использование strcpy(),strcmp() void sor(char fio[][LStr], int count) { char rab[LStr]; int i,k; for (i=0; i<count-1; i++) for (k=i+1; k<count; k++) if (strcmp(fio[i],fio[k])>0) { strcpy(rab, fio[i]); strcpy(fio[i], fio[k]); strcpy(fio[k], rab); } }
int main() { // Устанавливаем локализацию для выходного потока wcout.imbue(locale("rus_rus.866")); char fio[M][LStr]={"IVANOV","PETROV","WASECHKIN","SIDOROV","AKSAKOV"}; float mark[M][N]; int i,k,test, max, p[N-1], predmet; //******************** sor(fio,M); //******************** for (i=0; i<M; i++) { wcout<<L"Введи оценки студента по фамилии "<<fio[i]<<"\n"; wcout<<L"математика: "; cin>>mark[i][0]; wcout<<L"информатика: "; cin>>mark[i][1]; wcout<<L"экономика: "; cin>>mark[i][2]; } for (i=0; i<M; i++) mark[i][N-1]=(mark[i][0]+mark[i][1]+mark[i][2])/(N-1);
wcout<<L"\n\n Результаты сдачи экзаменов"; wcout<<L"\n\nФамилия Матем Информ Эконом Ср.балл \n"; for (i=0; i<M; i++) printf ("\n%-15s %-10.0f %-10.0f %-10.0f %-10.2f",fio[i], mark[i][0],mark[i][1],mark[i][2],mark[i][3]); wcout<<L"\n\nЭти cтуденты позорят наш ВУЗ:"; for (i=0; i<M; i++) { test=0; for (k=0;k<N-1;k++) if (mark[i][k]==2) test++; if (test!=0) wcout<<"\n\t"<<L"У "<<fio[i]<<L"а двоек - "<<test; } for (k=0; k<N-1; k++) { p[k]= 0; max = 0; for (i=0;i<M;i++) if (mark[i][k]==2) p[k]=p[k]+1; if (p[k]>max) { max=p[k]; predmet=k; } } wcout<<L"\n\nБольше всего двоек "; switch (predmet) { case 0:wcout<<L" по математике"; break; case 1:wcout<<L" по информатике"; break; case 2: wcout<<L" по экономике"; break; } wcout<<L", а именно "<<max<<L" шт.\n"; getch();return 0; }
Задачи для самостоятельного решения
1. Ввести два слова. Напечатать их в алфавитном порядке.
2. В заданной строке символов удалить разделители: пробелы, запятые, тире.
3. Дан текст, содержащий не более 120 символов. Напечатать сначала все цифры, входящие в него, затем прописные латинские и русские буквы, а потом все остальные символы.
4. Составить программу, которая в заданной строке символов подсчитывает количество вхождений: а) каждой из букв латинского (русского) алфавита; б) каждой из цифр.
5. Определить, сколько раз в заданном тексте встречается каждая из его литер.
6. Удалить из заданного текста «лишние» пробелы, оставив между словами по одному пробелу.
7. Удалить из заданной фразы текст, заключённый в круглые скобки (вместе со скобками). Результат выдать на экран.
8. Ввести текст, в котором слова отделяются друг от друга пробелами. Вывести на экран последнее слово наоборот.
9. Дан текст, содержащий только буквы. Определить, симметричен ли он, т.е. читается ли он одинаково слева направо и справа налево (например, текст «пилвино онивлип» симметричен).
10. Составить программу, которая в заданной строке удваивает каждую его букву (например, из слова ‘база’ должно получиться ‘ббааззаа’).
11. Ввести строку символов S1. Построить новую строку S2, полученную из S1 добавлением после каждого символа ‘ * ’ цепочки символов из k пробелов. Считается, что натуральное число k > 0 задано.
12. Составить программу для игры в ‘поле чудес’ (угадывание слова путём постепенного добавления по одной букве).
|
|||||||||
Последнее изменение этой страницы: 2016-12-16; просмотров: 404; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.118.82.168 (0.01 с.) |