Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Programmirovanie_-_1_kurs / Основы С++.doc
Скачиваний:
117
Добавлен:
09.06.2015
Размер:
1.44 Mб
Скачать

46. Дано n целых чисел. Напечатать k целых чисел в каждой строке.

Обозначения: n - количество целых чисел выводимых на печать; k - количество чисел в строке.

//Программа №46

//Заданы целые числа k и n;

//n - количество чисел;

//k - количество чисел в строке:

//Напечатать n чисел по k чисел в каждой строке.

#include<iostream.h>

#include<stdlib.h>

int s,n,k,t,i,j,a[10][10],b[10];

main()

{

cout << "Введите количество чисел n=";

cin >> n;

for (i=0; i<n; i++)

b[i]=rand()%30;

cout << "\nВведите количество чисел в строках k=";

cin >> k;

s=n/k;

t=n;

for (i=0; i<s; i++)

for (j=0; j<k; j++)

{

a[i][j]=b[t];

t--;

}//for (j=0; j<k; j++)

cout << "\nРезультат:\n";

for (i=0; i<s; i++)

{

for (j=0; j<k; j++)

cout << a[i][j] << " ";

cout << "\n";

}//for (i=0; i<s; i++)

if (n!=(s*k))

{

t=n-s*k;

for (j=0; j<t; j++)

{

a[s+1][j]=b[t];

t--;

cout << a[s+1][j] << " ";

}//for (j=0; j<t; j++)

}

cout << "\n\n";

return 0;

}

VIII. Обработка символьной информации

47. Напечатать ASCII- код символа вводимого с клавиатуры.

Обозначения: ch - символ вводимый с клавиатуры; n - ASCII-код символа.

//Программа №47

//Программа выводит на экран ASCII код латинских символов.

#include "iostream.h"

#include "string.h"

#include "stdio.h"

int main(void)

{

char ch;

cout << "Введите символ - ";

cin >> ch;

printf("\nASCII - код символа \"%c\" = %d",ch,*strchr(&ch,ch));

//*strchr(&ch,ch) функция возрощает данные хранящиеся по адре-

//су ch

//Функция strchr возвращает указатель на первое вхождение сим-

//вола в строку, если его нет, то возвращает NULL.

cout << "\n\n";

return 0;

}

48. Задан массив слов. Опpеделить количество символов в этих словах.

Обозначения: a[n] - массив слов; n - количество слов; i - номер слова; b[i] - массив, элементы которого есть количество символов в словах.

//Программа №48

//Задан массив слов. Определьть колиество символов в этих словах.

#include<iostream.h>

#include<string.h>

int i,n,b[10];

char a[10][10];

main()

{

cout << "Введите количество слов n=";

cin >> n;

cout << "\nВведите список слов; после каждого слова Enter:\n";

for (i=0; i<n; i++)

cin >> a[i];

for (i=0; i<n; i++)

b[i]=strlen(a[i]);

cout << "\nРезультат: ";

for (i=0; i<n; i++)

cout << "\nВ слове " << a[i] << " - " << b[i] << " cимволов";

cout << "\n\n";

return 0;

}

49. Задан текст. Cлова pазделены пpобелами; в конце - точка. Определить количество слов в заданном тексте и количество символов в каждом слове.

Обозначения: s - заданный текст (стpока символов); a[n] - массив, элементами которого являются слова заданного текста ; b[n] - массив, элементами которого являются целые числа - количество символов в словах; n - количество слов в тексте; i - поpядковый номеp символа в заданном тексте; l - количество симво-

лов в заданном тексте.

//Программа №49

#include "iostream.h"

#include "string.h"

#include "stdio.h"

main()

{

char s[255];

//Инициализация массива все элементы массива присваеваентся пустота.

char a[80][255]={0};

int b[80];

int l,n,i;

//cout << "\nВведите текст, в конце - точка и Enter:";

printf("Введите текст, в конце - точка и Enter:");

gets(s);

l=strlen(s);

cout << "\nВы ввели следующий текст: ";

for (i=0; i<l; i++)

cout << s[i];

i=0;

n=0;

int z=-1;

strcpy(a[n],"");

b[n]=0;

while (s[i]!='.')

{

if (s[i]!=' ')

{

z++;

a[n][z]=s[i];

b[n]++;

}

else

{

a[n][z+1]='\0';

z=-1;

n++;

strcpy(a[n],"");

b[n]=0;

}

i++;

}

cout << "\n\nВ тексте - " << n+1 << "слов(а).";

for (i=0; i<n+1; i++)

cout << "\nВ слове " << a[i] << " - " << b[i] << " символов.";

cout << "\n\n";

return 0;

}

50. Задан массив слов. Определить количество слов, в котоpых встpечается буква, вводимая с клавиатуpы.

Обозначения: a[n] - заданный массив слов; n - количество слов; c - символ; i,j - параметры цикла; l - длина i-го слова; m - количество слов, в которых встречается символ - c.

//Программа №50

//Задан массив слов. Определьть колиество символов в которых

//встречается буква, вводимая с клавиатуры.

#include<iostream.h>

#include<string.h>

int i,j,l,m,n;

char a[30][10],c;

main()

{

cout << "Введите количество слов n=";

cin >> n;

cout << "\nВведите список слов; после каждого слова Enter:\n";

for (i=0; i<n; i++)

cin >> a[i];

cout << "\nВведите символ c=";

cin >> c;

m=0;

for (i=0; i<n; i++)

{

l=strlen(a[i]);

for (j=0; j<=l; j++)

if (a[i][j]==c)

{

m++;

break;//Прервать цикл по j

}

}//for (i=0; i<n; i++)

cout << "\nРезультат:";

cout << "\nКол-во словб в которых есть буква '" << c << "'=" << m;

cout << "\n\n";

return 0;

}

51. Задан текст; слова pазделены запятой; за последним словом - точка. Определить количество слов, в котоpых встpечается буква, вводимая с клавиатуpы.

Обозначения: s[i] - строка символов (заданный текст); с - символ; i - номер символа в строке s[i]; m - количество слов, в которых встречается символ - с.

//Программа №51

//Задан текст, слова разделены запятой, за последним словом - точка. Определить количество слов, в которых встречается буква,

//вводимая с клавиатуры.

#include "iostream.h"

#include "string.h"

char s[255];

char c;

int i,m;

main()

{

cout << "\nВведите строку символов, между словами - запятая, в \nконце точка:";

cin >> s;

cout << "\nВведите символ c=";

cin >> c;

m=i=0;

do

{

i++;

if (s[i]==c)

{

m++;

do

i++;

while (s[i]!=',');

}

}

while(s[i]!='.');

cout << "\nРезультат:";

cout << "\nКол-во слов, в которых встречается буква <<" << c << ">>=" << m << "\n\n";

return 0;

}

52. Задан текст; между словами - запятая, за последним словом - точка. Hапечатать слова текста в обpатном поpядке.

Обозначения: a[i] - заданный текст (строка символов); i - номер символа в строке a[i]; b[m] - массив слов, сфоpмиpованный из заданного текста; m - количество слов в тексте; h - количество символов в заданном тексте;

//Программа 52

//Задан список слов, между соседними слованми - запятая, за

//последним словом точка. напечатать слова текста в обратном

//порядке.

#include<iostream.h>

#include<string.h>

char a[255],b[30][255];

int i,l,k,m,h,c;

main()

{

cout << "Введите список слов\n";

cin >> a;

h=strlen(a);

m=0;

for (i=0; i<=h; i++)

if ((a[i]=='.')||(a[i]==','))

{

m++;

c=0;

}

else

{

b[m][c]=a[i];

c++;

}

cout << "\nРезультат: ";

for (i=(m-1); i>=0; i--)

cout << b[i] << " ";

cout << "\n\n";

return 0;

}