Строки
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. – Схема алгоритма сортировки методом вставки