- •Министерство образования и науки российской федерации
- •Содержание
- •Лабораторная работа 1. "Одномерные массивы"
- •Пример решения задачи
- •Лабораторная работа 2. "Двумерные массивы (с использованием указателей)"
- •Пример решения задачи
- •Лабораторная работа 3. "Символьные строки. Подпрограммы"
- •Выбор варианта
- •Пример решения задачи
- •If(*s)//как только обнаружена русская буква,
- •Лабораторная работа 4. "Структуры. Файлы "
- •Примеры решения задач
- •Void input (tv *tv, int *k) //ввод массива телевизоров
- •Input(tv, &k);//ввод массива телевизоров
- •Void input (tv *tv, int *k)//чтение данных из файла
- •Input(tv, &k);//ввод массива структур из файла
- •Лабораторная работа 5. "Списки. Динамические переменные"
- •Выбор варианта
- •Пример решения задачи
- •Void vivod(stul* stack, char name[])//вывод списка в файл
- •Vivod(first,name2);//вывод результата в файл
- •Лабораторная работа 6. "Рекурсия"
- •Примеры решения задач
- •Void setleft(node*p, int X)//присоединение числа X к узлу p слева
- •Void setright(node*p, int X) //присоединение числа X к узлу p справа
- •Int max,min;//максимальное и минимальное число в дереве
- •Int numb;//искомое число
- •If (!der) puts("дерево пустое");
- •Пример использования рекурсии для проверки правильности записи арифметического выражения
- •If (fae () || *pf ) /* то есть в выражении есть ошибка,
- •109028 Москва, б. Трехсвятительский пер., 3/12.
- •113054 Москва, ул. М. Пионерская, 12.
Пример решения задачи
Задача 1.Сформировать массив С, состоящий из повторяющихся нечетных элементов массива А, отсутствующих в массиве В. Элементы в массиве С не должны повторяться.
#include <stdio.h>
#include <conio.h>
void main ()
{int a[10],b[10],c[10],na,nb,nc=0,i,j;//na,nb,nc-длины массивов a,b,c
clrscr();
printf ("введите длину массива А:"); scanf("%d",&na);
printf ("введите массив А\n");
for (i=0;i<na;i++) scanf("%d",&a[i]);
// ввод (nb, b[0:nb-1]) - аналогично
for(i=0;i<na;i++)
if (a[i] % 2 == 1)// можно записать условие в виде if (a[i] % 2)
{//проверка повторения a[i]
for(j=0;j<na&&(a[i]!=a[j]||i==j);j++);//цикл закрыт
if (j<na)//если элемент a[i] повторяется
{//проверка отсутствия a[i] в b
for (j=0;j<nb&&a[i]!=b[j];j++);//цикл закрыт
if (j==nb)//условие отсутствия a[i] в b
{//проверка отсутствия a[i] в c
for (j=0;j<nc&&a[i]!=c[j];j++);
if (j==nc)//если a[i] нет в с заносим его в этот массив
c[nc++]=a[i];
}
}
}
//вывод результата
if (nc==0)
printf("массив C пуст\n");
else
{ printf("Массив C\n");
for (i=0;i<nc;i++)
printf("%7d",c[i]);
printf ("\n");
}
printf("Нажмите любую клавишу\n");
getch();
}
Лабораторная работа 2. "Двумерные массивы (с использованием указателей)"
В заданном двумерном массиве целых чисел поменять местами следующие два элемента:
Минимальный и максимальный.
Два наименьших.
Первый положительный и последний положительный.
Два наибольших.
Два первых положительных.
Два последних отрицательных.
Два первых четных.
Два последних нечетных.
Минимальный среди положительных и максимальный среди отрицательных.
Два наибольших среди отрицательных.
Два наименьших среди положительных.
Минимальный и максимальный по абсолютной величине.
Два наибольших по абсолютной величине.
Минимальный среди элементов, расположенных выше главной диагонали и максимальный среди элементов, расположенных ниже главной диагонали.
Два наименьших среди элементов, расположенных выше главной диагонали.
Первый и последний положительные среди элементов, расположенных ниже главной диагонали.
Два первых отрицательных среди элементов, расположенных выше главной диагонали.
Два наибольших по абсолютной величине среди элементов, расположенных ниже главной диагонали.
Минимальный и первый нулевой.
Максимальный и последний отрицательный.
Первый положительный и последний отрицательный.
Последний нулевой и максимальный по абсолютной величине.
Минимальный по абсолютной величине и пятый нулевой.
Второй и пятый среди отрицательных элементов.
Минимальный четный и последний положительный среди элементов, расположенных ниже главной диагонали.
Первый и четвертый среди положительных элементов, расположенных выше главной диагонали.
Минимальный и максимальный среди элементов, расположенных в четных столбцах.
Два наибольших по абсолютной величине среди элементов, расположенных в нечетных строках.
Минимальный среди элементов, расположенных в четных строках и максимальный среди элементов, расположенных в нечетных строках.
Максимальный четный и последний нулевой среди элементов, расположенных в нечетных столбцах.
ПРИМЕЧАНИЕ: Номер варианта выбирается равным номеру по журналу.