Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на C / C++ / Задачи по С++.doc
Скачиваний:
203
Добавлен:
02.05.2014
Размер:
201.22 Кб
Скачать

Void main()

{

clrscr();

k=1;

l=k;

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

if(a[i]>a[i+1])

{

k++;

if(l<k) l=k;

}

else k=1;

printf("The Array:\n");

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

if(i!=n-1)

printf("%d,",a[i]);

else

printf("%d.\n",a[i]);

printf("The lagest lenth of ZEPOCHKA of elements's PO UBIVANIIY %d.",l);

getch();

}

*************************************27 - 3

Напишите функцию сравнения двух строк.

//sravnenie 2 strok

int strcmp(char *s1, char *s2)

{

int i=0;

while (s1[i] == s2[i] && s1[i] && s2[i])

i++;

if (s1[i]>s2[i])

return 1;

else if(s1[i]<s2[i])

return -1;

else

return 0;

}

*************************************27 - 4

Из заданного натурального числа n удалить все четные цифры.

#include<stdio.h>

#include<conio.h>

#include<math.h>

int n=10;

int k;

int ost,i;

Void main()

{

clrscr();

printf("%d\n",n);

k=0;i=0;

while(n!=0)

{

ost=n%10;

n=(n-n%10)/10;

if(ost%2==1)

{

k=k+ost*pow(10,i);

i++;

}

}

printf("%d",k);

getch();

}

*************************************28 - 3

Напишите функцию поиска подстроки в строке.

int posfor(char*s,char*sub)

{

int ls=strlen(s);

int lsub=strlen(sub);

int iold; //переменная, являющаяся здесь позицией sub в s

printf("Мы имеем строку: %s\n",s);

printf("И подстроку: %s\n",sub);

int i=0,i1=0; //i-элемент строки s; i1-элемент строки sub

for (;i<=ls && i1<lsub;) //пока не просмотрится вся строка s и sub, будут

{ //выполняться след. действия

if (s[i]==sub[i1]) //если найдены одинаковые элементы

{

iold=i;i1++;i++;//позиции iold присваивается значение позиции на

}//которой элементы совпали; i и i1 (элементы s и sub) увел. на 1

else//если одинаковые элементы не найдены

{//выплоняется следующий цикл

if (s[i]<sub[i1] || s[i]>sub[i1])//если элементы не совпдают

{

if (i1>0)//и если в это время позиция просмотра строки sub не 0

{

i1=0;//позиция просмотра строки sub принимает 0 значение

}

else//если же в это время позиция просмотра строки sub - 0

i++;//тогда позиция строки s увеличивается на единицу

}; //это нужно для того, чтобы: если *непервый* элемент строки

}; //sub не совпадёт с каким-либо элементом строки s, то вдруг *первый*

} //элемент sub совпадёт с ним. Поэтому i1 присваевается значение 0.

iold=i-lsub+1;//iold присваевается значение первого совпадения элементов

if (i==ls+1 && i1<lsub)//если промотрена вся s, в то время как i1 просмотрен

{

printf("Такого символа нет в данной строке\n");//не до конца

return -1;}

else//если всё в порядке

{ printf("Подстрока входит в строку в первый раз начиная с %d позиции\n",iold);

return iold;}

}

*************************************28 - 4

Известно, что число делится на 3, когда сумма его цифр делится на 3. Проверить этот признак на примере заданного натурального числа n.

#include<stdio.h>

#include<conio.h>

int n=100;

int s=0;

int ost;