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

Презентация:



Advertisements
Похожие презентации
ЕГЭ информатика Алгоритмизация и программирование Консультация 4.
Advertisements

Работа с файлами FILE НГТУ ИРИТ кафедра ИСУ Ольга Пронина.
Лекция 9 Функции. Массивы-параметры функции Передача массива в функцию Пример: void array_enter(int a[], int size) { int i; for (i = 0; i < size; i++)
Часть 1: «Основы программирования». Содержание Основные понятия. Структура программы. Ввод-вывод Программирование циклов. Операторы цикла while, for и.
Лекция 2Лекция 2Структура программы Директивы препроцессора main () { Описания переменных Операторы }
1 Лекция 3 Разработка алгоритмов и программ сверху вниз.
1. a=? b=? c=? {int a, b, c; a=(b=2+3)/2 - 4+(c=5%2); printf("%d %d %d \n", a, b, c); }
ЕГЭ 2011 Информатика и ИКТ Консультация 3 18 марта.
СТРОКИ Строковой называется последовательность символов определённой длины. Идентификатор типа – слово String Примеры описания: Var Str1 : String[10];
ЕДИННЫЙ ГОСУДАРСТВЕННЫЙ ЭКЗАМЕН Часть С демо-варианта 2009.
ЕГЭ 2012 Информатика и ИКТ Консультация 4ЕГЭ 2012 Информатика и ИКТ Консультация 4.
ПОДГОТОВКА К СДАЧЕ ЕДИНОГО ГОСУДАРСТВЕННОГО ЭКЗАМЕНА Часть С Автор-составитель - Демержеева Т.В.
Лекция 4 Области видимости и структуры в языке С.
ЕГЭ 2012 Информатика и ИКТ Консультация 3. Пример.
Строки в Pascal
Лабораторная работа 4. Подпрограммы. Задание на лабораторную работу Написать программу, реализующую хранение информации, указанной в вариантах индивидуальных.
Лекция 3 Массивы и Функции.. Массивы Массив – набор данных, связанных одним именем, расположенных последовательно в памяти. Каждому элементу массива присвоен.
Указатели Динамические структуры данных. 2 Статические данные переменная (массив) имеет имя, по которому к ней можно обращаться размер заранее известен.
Строки Алтайский государственный университет Математический факультет Кафедра информатики Барнаул 2013.
1. a=? b=? c=? {int a, b, c; a=(b=2+3)/2 - 4+(c=5%2); printf("%d %d %d \n", a, b, c); }
Транксрипт:

Даная матрица Задача 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;j X[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 #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;}