Содержание
-
Работа над ошибками контрольной.Задача 1. Дана матрица X[0:n-1][0:m-1] и массив Y[0:k-1]. Написать программу, которая вычисляет массив Z, состоящий из элементов X, расположенных между первым четным и максимальным нечетным элементами каждого столбца, если все эти элементы присутствуют в массиве Y. Ввод данныхи вычисления оформить в виде отдельных функций.
-
#include void input_mass(int b[], int *k)//k передаём по адресу {int i; puts("Input k");scanf("%d",k); puts("Input array"); for(i=0;i
-
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;jX[nmax][j]) nmax=i;/* если не первый – сравниваем с максимумом */ }
-
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
-
void output_c(int nc, int c[]) { int i; if (nc==0) puts("No array c"); else { puts("array c"); for(i=0;i
-
Задача 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)//если за цифрами скобка и скобки не рядом
-
{ f=1; //строка преобразовывалась n=*s1-'0'; //вычисляем количество цифр for(s2=s1;*s;*s2++=*s++); //удаляем подстроку *s2='\0'; for(;s1
-
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; }
-
Задача 1. Дана символьная строка. Написать функцию для выделения подстрок, заключенных в комментарии /* … */ и содержащих только латинские буквы. Привести вызов функции. Вывести полученные подстроки на экран.
Ввод данных и вывод результата осуществить в главной функции. Выделение подстрок оформить как отдельную функцию с параметрами. Задача 2. Дана символьная строка. Написать функцию для выделения подстрок, содержащих только латинские буквы и/или цифры и имеющих чётную длину. Привести вызов функции. Вывести полученные подстроки на экран. Домашнее задание (0.3 балла)Задачу 1 решают студенты с нечётными номерами вариантов по лабораторным, задачу 2 - с чётными.Сдача д/з на ближайшей лекции.
-
Структуры
Задача 2. Даны структуры вида Ввести структуры в массив и найти в нем самую дорогую книгу. Ввод данных и поиск оформить как отдельные функции. Функция поиска вернет указатель на самую дорогую книгу. Книга Год Название Автор Цена
-
Рассмотрим два варианта ввода
1) Книга # 1 Автор................ Название........... Год издания....... Цена................... Продолжаете ввод? (y/n) ... 2) Число книг в каталоге = Книга # 1 Автор............... Название.......... Год издания..... Цена................. Книга # 2 ... Будем использовать 1-й вариант ввода.
-
#include #define lmax 200 //пропуск символов до конца строки #define CLR while (getchar()!='\n') struct book { char author[20], name[60]; int year, price; };
-
//Функция ввода массива структур (каталога) 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
-
//Функция поиска самой дорогой книги 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;}
Нет комментариев для данной презентации
Помогите другим пользователям — будьте первым, кто поделится своим мнением об этой презентации.