Поиск и сортировка

Строки

5. Нарисовать схему алгоритма и объяснить, что делает программа.

a)

void main()

{

char stroka[100],c;

int i,j;

puts("Введите строку");

gets(stroka);

for(i=0,j=strlen(stroka)-1;i<j;i++,j--)

{

c=s[i];

s[i]=s[j];

s[j]=c;

}

puts("Результат");

puts(stroka);

}

b)

void main()

{

char stroka[100];

int n;

puts("Введите строку");

gets(stroka);

for(n=strlen(stroka)-1;n>=0;n--)

if(stroka[n]!=' ' && stroka[n]!='\t')

break;

stroka[n+1]='\0';

puts("Результат");

puts(stroka);

}

c)

void main()

{

char stroka[100],podstroka[100];

int i,j,k;

puts("Введите строку");

gets(stroka);

puts("Введите подстроку");

gets(podstroka);

for(i=0;stroka[i]!='\0';i++)

{

for(j=i,k=0;podstroka[k]!='\0' && stroka[j]==podstroka[k];j++,k++);

if(k>0 && podstroka[k]=='\0')

{

printf("%d",i);

break;

}

}

}


Массивы и указатели

6. Есть три массива (a,b,c), первых два (a,b) заполняем данными.

int a[20], b[10], c[40];

int i,j;

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

{

a[i]=i;

}

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

{

b[i]=i*100;

}

Нужно поместить в третий массив (c)

a) элементы первых двух массивов (a,b) в следующем порядке a[0],b[0],a[1],b[1],a[2],b[2]….

b) элементы первых двух массивов (a,b) в следующем порядке a[0],a[1],b[0],b[1],a[2],a[3],b[2],b[3]….

c) элементы первых двух массивов (a,b) в следующем порядке b[0],a[0],b[1],a[1],b[2],a[2]….

d) элементы первых двух массивов (a,b) в следующем порядке b[0],b[1],a[0],a[1],b[2],b[3],a[2],a[3]….

т.е. написать код программы, используя циклы.

7. Есть массив заполненный данными.

int massiv[10][10];

int i,j;

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

{

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

{

massiv[i][j]=i*j;

}

}

a) Нужно удалить из массива элемент massiv[A][B].

Пример удаления элемента [1][1].

                 
                 
                 
                 

b) Нужно вставить в массив число 1 в позицию [A][B].

Пример вставки 1 в позицию [1][2]

                 
                 
                 
                 

Решить задачу, используя адрес, а не доступ к элементу массива по индексу, т.е. вместо massiv[4][5] нужно использовать *(massiv+10*4+5).


Поиск и сортировка

8. По схеме алгоритма реализовать часть программы

a) бинарного поиска элемента key в массиве a[n], используя цикл while.

b) бинарного поиска элемента key в массиве a[n], используя цикл for.

Рис.1. – Схема алгоритма бинарного поиска


c) сортировки массива a[n] методом пузырька, используя цикл while.

d) сортировки массива a[n] методом пузырька, используя цикл for.

Рис.2. – Схема алгоритма сортировки методом пузырька


e) сортировки массива a[n] методом выбора, используя цикл while.

f) сортировки массива a[n] методом выбора, используя цикл for.

Рис.3. – Схема алгоритма сортировки методом выбора


g) сортировки массива a[n] методом вставки, используя цикл while.

h) сортировки массива a[n] методом вставки, используя цикл for.

Рис.4. – Схема алгоритма сортировки методом вставки


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: