Семинары (1171138), страница 3

Файл №1171138 Семинары (Семинары) 3 страницаСеминары (1171138) страница 32020-04-27СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 3)

буква, то преобразовать c к прописной букве;если c -- лат. буква, то преобразовать c к строчной букве.Функции, начинающиеся с префикса is, возвращают ненулевое значение (т.е. истину),если символ с кодом c принадлежит указанному классу, и нулевое значение (ложь) впротивном случае.Пример 4: Работа с файлами: подсчет числа символом, строк и слов в текстовомфайле.// Подсчет числа символов, слов и строк в текстовом файле//#include <stdio.h> // Описания функций ввода-вывода#include <ctype.h> // Описания типов символовint main() {char fileName[256]; // Путь к файлуFILE *f;// Структура, описывающая файлint c;// Код введенного символа5int numChars = 0;// Суммарное число символов := 0int numLines = 0;// Суммарное число строк := 0int numWords = 0;// Суммарное число слов := 0bool readingWord = false; // Читаем слово := falseprintf("Введите имя файла: ");scanf("%s", fileName);f = fopen(fileName, "rb"); // Открываем файлif (f == 0) { // При ошибке открытия файла// Напечатать сообщение об ошибкеperror("Не могу открыть файл для чтения");return 1; // закончить работу программы с кодом 1}while ((c = fgetc(f)) != EOF) { // Читаем символ// Цикл продолжается, пока c != -1 (конец файла)++numChars; // Увеличиваем число символов// Подсчитываем число символов перевода строкиif (c == '\n') {++numLines; // Увеличиваем число строк}}// Подсчитываем число словif (!isspace(c)) {// если c не пробелif (!readingWord) { // если не читаем слово++numWords;//увеличить число словreadingWord = true; // читаем слово:=true}// конец если} else {// иначеreadingWord = false;// читаем слово:=false}// конец еслиfclose(f);// Печатаем результатprintf("Число символов в файле = %d\n", numChars);printf("Число слов = %d\n", numWords);printf("Число строк = %d\n", numLines);}return 0; // Возвращаем код успешного завершенияРезультат выполнения6Задание 1:1.

Составьте программу, которая распечатывает последние n строк файла ввода.2. Напишите программу, которая читает 2 файла и печатает их вперемежку: одна строка изпервого файла, другая - из второго. Придумайте, как поступить, если файлы содержатразное число строк.3. Дан текстовый файл f. Найти и pаспечатать самую длинную стpоку этого файла.Исходный кодРезультат выполненияЗадание 2:1. Пусть файл содержит записи о сотрудниках некоторого учреждения.

Каждая записьвключает порядковый номер записи, фамилию, имя сотрудника, его номер телефона ивозраст:1 Иванов Иван 1234567 252 Петров Петр 2345678 27…Напишите программу, которая выводит меню с доступными операциями:1 – добавить новую запись (при добавлении новой записи проверять нет ли ужетакой записи в файле)2 – редактировать запись (вводится номер записи)73с45– искать запись по фамилии (если имеются однофамильцы, выводить все записиодинаковыми фамилиями)– удалить запись по порядковому номеру– завершить работу программыКаждую из операций оформить в виде отдельной функции.2. Пусть файл содержит информацию о наличии книг в магазине. Каждая запись включаетномер ISBN книги, автора, название, количество книг:9666965348 Стругацкие Град обреченный 2585845908914 Керниган, Ритчи Язык программирования C 129…Напишите программу, которая выводит меню с доступными операциями:12345–––––добавить новую книгу (при добавлении проверять нет ли уже такой книги)редактировать запись (вводится номер ISBN)поиск книг одного автора (вывести все книги по введенной фамилии автора)изменить количество книг (по введенному номеру ISBN)завершить работу программыКаждую из операций оформить в виде отдельной функции.Исходный кодТестовые данныеРезультат выполнения8Контрольные вопросы1.2.3.4.5.6.Типы файлов?Работа с файлами: открытие файла?Работа с файлами: чтение данных из файла?Работа с файлами: запись данных в файл?Подсчет символов и строк в текстовом файле?Подсчет символов, строк слов в текстовом файле?СПИСОК ЛИТЕРАТУРЫ1.

Дейтел Х. М. Как программировать на С++: Пер. с англ. – М.: ЗАО «ИздательствоБИНОМ», 2000 г. – 1024 с.: ил.2. Страуструп Б. Язык программирования С++. Специальное издание: ++: Пер. с англ.– М.: ЗАО «Издательство БИНОМ», 2008 г. – 1104 с. :ил.3. Шилдт Г. Полный справочник по С++: ++: Пер. с англ. – М.: Изд-во Вильямс, 2007г. – 800 с.: ил.4. Шилдт Г.

С++: Базовый курс: ++: Пер. с англ. – М.: Изд-во Вильямс, 2008 г. – 624с.: ил.5. Джонсон Б., Скибо К., Янг М.: Основы Microsoft Visual Studio .NET 2003: - М.:Изд-вр Русская редакция, 2003 г. – 464 с.: ил.9датаОтчет по лабораторной работе №4«Основы C++, массивы и указатели»ОценкаБонус за(max 5)сложностьподписьЦели работы:Изучение базовых операций работы с указателями и массивами в С++.Задачи работы:-знакомство с указателями в С++-написание программ работы с массивами через указателиКраткий конспект теоретической части (ответы на контрольные вопросы)Объявление массива?______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________Определение размера массива?______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________Понятие указателя?______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________Объявление указателей?____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________Представление массивов через указатели?_____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________1Основы языка С++.

Массивы, указатели.Пример 1: Объявление массива:#define Nmax 50/*директива define указывает процессору на то, что встречающееся вкоде обозначение Nmax следует заменить на значение 50 */int main (){char a1[20],a2[2][80];int b1[25],b2[Nmax];char a[7]="Привет";char b[7]={'П','р','и','в','е','т',0x0};char c[]="Привет";float d[10]={1.,2.,3.,4.};int q[2][3]={{1,2,3},{4,5,6}};printf(“a = %s”,a[7]);printf("b = %s", b);printf("c = %s",c);for(int i = 0; i<10; i++)printf("d[ %d ] = %3.2f \n", i, d[i]);for (int i = 0; i < 2; i++)for (int j = 0; j < 3; j++)printf("q[ %d ] [ %d ] = %d \n", i, j, q[i][j]);}Результат выполненияПример 2: Определение размера массива:/*Оператор sizeof возвращает размер всего массива в байтах, а не в элементах массива.Допишите в предыдущую программу следующие строки: */printf("sizeof a = %d \n", sizeof(a));printf("sizeof d = %d \n", sizeof(d));printf("sizeof q = %d \n", sizeof(q));Результат выполнения2Задание 1:1.

Написать программу поиска минимального элемента массива из n элементов.2.Дана последовательность из 20 целых чисел. Определить количество инверсий в этойпоследовательности (то есть пар таких элементов, в которых большее число находится слеваот меньшего: x[i] > x[j] при i<j).3. Вычислить скалярное произведения двух векторов.Исходный кодРезультат выполненияДля ввода чисел используйте оператор scanf(“%format”,a), гдеformat: %d – для переменных типа int, %3.2f – для переменных типа double, float (первоечисло – количество символов целой части, второе число – количество десятичных разрядов),%c – для переменных типа char, %s – для строковых переменных (массивов из элементовтипа char).Пример 3: Описание указателей:#include "stdlib.h"#include "iostream" //подключение заголовочного файла с описанием//функций cout, cinusing namespace std;int main ()3{double **a; //Адрес массива указателейint m, n;// Размеры матрицы: m строк, n столбцовint i,j;m = 2;n = 2;// Захватывается память под массив указателейa = new double* [2];for( i = 0; i < 2; i++ )a[i] = new double [2];for(i = 0; i < 2; i++)for(j = 0; j < 2; j++)cin >> a[i][j];for(i = 0; i < 2; i++)for(j = 0; j < 2; j++)cout << a[i][j] << endl;delete []a;int *p, *q;int b[15] = {5,7,9,11,13,15,17,19,21,23,25,27,29,31,33};p = &(b[2]); // записываем в p адрес 3-го//элемента массива bp += 7;// p будет содержать адрес 12-го эл-таq = &(a[10]);--q;// q содержит адрес элемента a[9]return 0;}Результат выполненияЗадание 2:Работу с массивами организовать через указатели.1.Переворот одномерного целочисленного массива – перестановка его элементов в обратномпорядке.

Выделить в отдельную функцию процедуру инвертирования.2.Перестановка головы и хвоста массива без использования промежуточного массива.Алгоритм этой процедуры заключается он в том, что надо последовательно выполнить 3инвертирования – головы массива, хвоста массива и всего массива целиком. Инвертированиевыделить в отдельную функцию.1 2 3 4 5 6 7 8 9 10Голова: 1 2 3 4 5 6Хвост: 7 8 9 104Результат: 7 8 9 10 1 2 3 4 5 63.Определить количество разных элементов в целочисленном массиве.

Алгоритм,выполняющую основную задачу выделить в отдельную функцию.Исходный кодРезультат выполнения5Контрольные вопросы.1.2.3.4.5.Объявление массива?Определение размера массива?Понятие указателя ?Объявление указателей?Представление массивов через указатели?СПИСОК ЛИТЕРАТУРЫ1. Г. Шилдт Теория и практика С++: пер. с анг. – СПб.: BHV – Санкт-Петербург, 1996ю– 416 с., ил.2. Кормен, Т., Лейзерсон, Ч., Ривест, Р., Штайн, К. Алгоритмы: построение и анализ =Introduction to Algorithms / Под ред. И. В.

Характеристики

Тип файла
PDF-файл
Размер
788,91 Kb
Материал
Тип материала
Высшее учебное заведение

Список файлов семинаров

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6455
Авторов
на СтудИзбе
305
Средний доход
с одного платного файла
Обучение Подробнее