X

Скопируйте код и вставьте его на свой сайт.

Ширина px

Вы можете уменьшить размер презентации, указав свой размер!

Типичные задачи по программированию

Работа над ошибками контрольной. Задача 1. Дана матрица X[0:n-1][0:m-1] и мас...
#include void input_mass(int b[], int *k) //k передаём по адресу {int i; puts...
void count (int k, int Y[], int n, int m, int X[][10], int Z[], int *nz) { in...
if (nch!=-1&&nmax!=-1) //если оба найдены { if (nch>nmax) //упорядочиваем что...
void output_c(int nc, int c[]) { int i; if (nc==0) puts("No array c"); else {...
Задача 2. Дана символьная строка. Заменить каждую подстроку, заключенную в кр...
{ f=1; //строка преобразовывалась n=*s1-'0'; //вычисляем количество цифр for(...
int main () { char str[maxln]; int f; puts("input string"); gets(str); f=zame...
Задача 1. Дана символьная строка. Написать функцию для выделения подстрок, за...
Структуры Задача 2. Даны структуры вида Ввести структуры в массив и найти в н...
Рассмотрим два варианта ввода 1) Книга # 1 Автор................ Название.......
#include #define lmax 200 //пропуск символов до конца строки #define CLR whil...
//Функция ввода массива структур (каталога) void readcat(int *kol, book cat[]...
//Функция поиска самой дорогой книги book *dorog(int kol, book cat[]) { int i...
Класс
Автор

Типичные задачи по программированию

Описание презентации по отдельным слайдам:

1 слайд

Работа над ошибками контрольной. Задача 1. Дана матрица X[0:n-1][0:m-1] и массив Y[0:k-1]. Написать программу, которая вычисляет массив Z, состоящий из элементов X, расположенных между первым четным и максимальным нечетным элементами каждого столбца, если все эти элементы присутствуют в массиве Y. Ввод данных и вычисления оформить в виде отдельных функций.

2 слайд

#include void input_mass(int b[], int *k) //k передаём по адресу {int i; puts("Input k"); scanf("%d",k); puts("Input array"); for(i=0;i

3 слайд

void count (int k, int Y[], int n, int m, int X[][10], int Z[], int *nz) { int i,j,t,nch,nmax,flag; *nz=0; //длина нового массива for(j=0;j

4 слайд

if (nch!=-1&&nmax!=-1) //если оба найдены { if (nch>nmax) //упорядочиваем чтобы nmax >= nch t=nmax, nmax=nch, nch=t; if (nmax-nch>1) //между ними есть элементы { flag=1; //признак присутствия всех for(i=nch+1; i

5 слайд

void output_c(int nc, int c[]) { int i; if (nc==0) puts("No array c"); else { puts("array c"); for(i=0;i

6 слайд

Задача 2. Дана символьная строка. Заменить каждую подстроку, заключенную в круглые скобки и состоящую из цифр, звездочками. Количество звездочек равно первой цифре в подстроке. Преобразование строки оформить как отдельную функцию. #include #include #define maxln 81 int zamena(char s[]) { char *s1,*s2; int i,n,f=0; while (*s) //пока не конец строки if (*s=='(') //найдено начало подстроки, этот адрес заносим в s1 { s1=++s; while (*s&&isdigit(*s))s++; //пропускаем цифры if (*s==')'&&s1!=s) //если за цифрами скобка и скобки не рядом

7 слайд

{ f=1; //строка преобразовывалась n=*s1-'0'; //вычисляем количество цифр for(s2=s1;*s;*s2++=*s++); //удаляем подстроку *s2='\0'; for(;s1

8 слайд

int main () { char str[maxln]; int f; puts("input string"); gets(str); f=zamena(str); if (f==0) puts("No changes"); else { puts("Modified string "); puts(str); } return 0; }

9 слайд

Задача 1. Дана символьная строка. Написать функцию для выделения подстрок, заключенных в комментарии /* … */ и содержащих только латинские буквы. Привести вызов функции. Вывести полученные подстроки на экран. Ввод данных и вывод результата осуществить в главной функции. Выделение подстрок оформить как отдельную функцию с параметрами. Задача 2. Дана символьная строка. Написать функцию для выделения подстрок, содержащих только латинские буквы и/или цифры и имеющих чётную длину. Привести вызов функции. Вывести полученные подстроки на экран. Домашнее задание (0.3 балла) Задачу 1 решают студенты с нечётными номерами вариантов по лабораторным, задачу 2 - с чётными. Сдача д/з на ближайшей лекции.

10 слайд

Структуры Задача 2. Даны структуры вида Ввести структуры в массив и найти в нем самую дорогую книгу. Ввод данных и поиск оформить как отдельные функции. Функция поиска вернет указатель на самую дорогую книгу. Книга Год Название Автор Цена

11 слайд

Рассмотрим два варианта ввода 1) Книга # 1 Автор................ Название........... Год издания....... Цена................... Продолжаете ввод? (y/n) ... 2) Число книг в каталоге = Книга # 1 Автор............... Название.......... Год издания..... Цена................. Книга # 2 ... Будем использовать 1-й вариант ввода.

12 слайд

#include #define lmax 200 //пропуск символов до конца строки #define CLR while (getchar()!='\n') struct book { char author[20], name[60]; int year, price; };

13 слайд

//Функция ввода массива структур (каталога) void readcat(int *kol, book cat[]) { char ch; *kol=0; do { printf("Book # %d\n", ++(*kol)); printf("Author..........."); gets(cat->author); printf("Title............"); gets(cat->name); printf("Publishing year.."); scanf("%d", &cat->year); printf("Price............"); scanf("%d", &cat->price); CLR; printf("Continue ? (y/n) "); ch=getchar(); CLR; cat++; } while ((ch=='Y' || ch=='y')&&*kol

14 слайд

//Функция поиска самой дорогой книги book *dorog(int kol, book cat[]) { int i, max=0; book *dorkn; for (i=0; iprice>max) max=cat->price, dorkn=cat; return (dorkn);} int main() { int kolknig; book catalog[200], *dorkniga; readcat(&kolknig, catalog); dorkniga=dorog(kolknig, catalog); printf("Most expensive book:\n"); printf("Author...........%s\n", dorkniga->author); printf("Title............%s\n", dorkniga->name); printf("Publishing year..%d\n", dorkniga->year); printf("Price............%d\n", dorkniga->price); return 0;}