Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь 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; просмотров: 391; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.15.208.238 (0.008 с.) |