Главная » Просмотр файлов » Задачник и решебник

Задачник и решебник (1087980), страница 16

Файл №1087980 Задачник и решебник (Задачник и решебник) 16 страницаЗадачник и решебник (1087980) страница 162018-01-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

д.e l s e s t [ i ~ ] = г + 55; / / (int)'А'==65, (int)'В»==б6/ / и т. д.} while ( п > 0) ;Часть II. Решения// удалим начальные пробелыi++;int j = 0;while( st[i] )st[j++] = st[i++];st[j] = 4 0 ' ;printf("%s\n", St);printf("\пДля завершения нажмите <Enter>");getch();}Задача 181// Вычисление значения арифметического выраженияiinclude <stdio.h>#include <conio.h>#include "stdlib.h"void main (){char St[40]; // строкаchar buf[10]; // изображение очередного числаchar op;// операторint rez;// значение выраженияint n;// очередное числоint i,j;printf("ХпВведите арифметическое выражение,\n");printf("например, 45+5-3-125+2 и нажмите <Enter>");printf("(пробелы и другие знаки недопустимы)\п");printf("->");scanf("%s", &st);rez == 0; // значение выраженияop = ' »;i = j = 0;while( st[i] ){// выделить число153154С/С+-^- в задачах и примерахj = 0;while (st[i] >= 'О' && st[i] <= '9Мbuf[j++] = st[i++];buf[j] = 40\n = atoi(buf); // преобразовать строку в целое// выполнить действиеswitch ( op ){case ' + ': rez += n; breadt;case '-': rez ~= n; breakscase ' ': rez = n; break; // первое число примера}// выделить знак операцииор = St [i++];}printf("Значение введенного выражения: %d", rez);printf("\пДля завершения нажмите <Enter>");getch();}Задача 182// Итоги летней Олимпиады 2000 года#include "stdio.h"#include "conio.h"#include "string.h"#define NC 10//количество стран-участницvoid main(){char *strana[] = {"Австрия\0","ГерманияХО","КанадаХО", "Китай\0", "Кс3рея\0","НорвегияХО","РоссияХО","СШАХО","ФранцияХО","ЯпонияХО"};// таблица результатовint result[NC+1][5];// NC+1-ая строка используется как буфер// при сортировке таблицыЧасть IL Решений155int i,j;int max;// номер строки таблицы, в которой// количество очков максимальноchar buf[9]; // используется при сортировкеprintf("\п*** Сидней 2000 ***\п");printf("Введите в одной строке количество золотых,\п");printf("серебряных и бронзовых медалейХп");// ввод исходных данныхfor (i = 0; i < NC; i4-+){printf("%s ->", strana[i]);scanf("%i%i%i", ^result[i][0],Sresult [i] [1],&result[i][2]);}// золотых// серебряь1ых// бронзовых// вычислим общее количество медалей и очковfor (i = 0; i < NC; i++){result[i] [3] =result[i][0]+result[i][l]+result[i][2];result[i] [4] =result[i][0]*7+result[i][1]*6+result[i][2]*5;}// сортировка массива в соответствии с количеством очков// методом простого выбораfor (i = 0; i < NC-1; i++){/ / в части таблицы, начиная со строки i,// найти j-ую строку, в которой элемент// result [j] [5] максимальныйmax = i; // пусть это строка с номером ifor (j = i+1; j < NC; j+-b)if (result[j][4] > result[max][4]) max = j;// обменяем 1~ую строку со строкой с номером max/ / в качестве буфера используем последнюю// строку таблицы.156С/С+-^ в задачах и примерахstrcpy(buf,strana[i]);strcpy(strana[i],strana[max]);strcpy(strana[max],buf);for (j = 0; j < 5; j++)result[NC][j] = r e s u l t [ i ] [ j ] ;f o r (j = 0; j < 5; j++)r e s u l t [ i ] [ j ] = result[max][j];f o r (j = 0; j < 5; j4-+)result[max][j] = result[NC][j];}// здесь таблица упорядоченаprintf("Итоги летней Олимпиады в Сиднее, 2000 г.\п");printf("%12s%8s%8s%8s%8s%8s","Страна","Золото","Серебро","Бронза","Всего","Очков");for (i = 0; i < NC; i++){printf("\n%12s", strana[i]);for (j = 0; j < 5; j+4-)printf("%8i", result[i][j]);}printf("\пДля завершения нажмите <Enter>");getcli () ;}Задача 183// Игра "Угадай число"#include "stdio.h"#include "conio.li"#include "stdlib.li"#include "time.li"#define N 3#define DEBUG// уровень сложности - количество цифр в числе// режим отладкамvoid main(){char igro]c[N];char comp[N];// комбинация игрока// комбинация компьютераЧасть II.

Решенияint a[N];157// a[i] == 1, если i-ая цифра// компьютера совпала с одной из цифр игрокаint ugad;int mesto;// угадано чисел//из них на своих местахint i,j;time__t t;// индексыprintf ("\пКомпьютер задумал трехзначное числоЛп");printf("Bbi должны его отгадать.\п");printf("После ввода очередного числа вам будет " ) ;printf("сообщено, сколько цифр угадано, и сколько");printf ("из них находится на своих местахЛп");printf("После ввода числа нажимайте <Enter>\n");srand((unsigned)time(&t) );for (i = 0; i < N; i++) // компьютер "задумывает" числоcomp[i] = rand О % 10 + 48; // 48 - код символа 'О*#ifdef DEBUGprintf("Компьютер задумал: " ) ;for (i == 0; i < N; i++)printf("%c", comp[i]);printf("\n");#endifdo {printf("\nBam вариант-> " ) ;scanf("%s", &igrok);// массив вводим как строкуfor (i = 0; i < N; i++) a[i] = 0;// проверим, сколько цифр угаданоugad = 0;for (i = 0 ; i < N; i++)// каждую цифру игрокаfor (j = 0; j < N; j++) // сравним с цифрами// компьютера{if ((igrok[i] == comp[j]) && !a[j]){ugad++;158C/C++ в задачах и примерахa[j] = 1; // запретим сравнивать// эту цифру компьютера с оставшимися,// еще не проверенными, цифрами игрокаbreak;}}// проверим, сколько на своих местахmesto = 0;for (i = 0; i < N; i++)if (igrok[i] == comp[i]) inesto++;printf("Угадано: %i.

Ha своих местах: %i", \ugad, mesto);} while ((ugad < N) || (mesto < N));printf("\n*** ВЫ УГАДАЛИ ЧИСЛО! ***\n");printf("\пДля завершения нажмите <Enter>");getch();}Задача 184// Телеграф - передача сообщений при помощи азбуки Морзе#include "stdio.h"#include "conio.h"#include "string.h" // strlen#include "dos.h"// delay// параметры передачи#define TONE 100 // частота сигнала (гц)#defineLI50 // длительность (мс) "точки"#defineL2 100 // длительность (мс) "тире"#defineL350 // пауза (мс) между точками и тире одной// буквы#defineL4 100 // пауза (мс) между буквами#defineL5 150 // пауза (мс) между словамиvoid main О{// кодировка букв русского алфавитаchar *morse[] = {I»__I»if_IIIIIIIIII/ /7\•nnT159Часть II. РешенияfltlипII_«„^11»_"'_ — "IIIIII_•// Д,Е,Ж,3// И,Й,К,Л•II /// м,н,о,пII// Р,С,Т,УIIиП_„II1IIIIIIIIII•_"IIIIIIII|__IIIIIIIIII_|||_М _IIIIII_____f_II1^11IIII__ 1 |//Ф,Х,Ц,Ч/ // ш,щ,ъ,ы// ь,э,ю,я};lansigned char mes[80]; // сообщениеchar sim[4];// символ в кодировке Морзе // последовательность точек и тиреchar znak;// "передаваемый" знак - тире или точкаint i,j;// номер символа и знакаputs("\n*** Телеграф * * * " ) ;puts("Введите сообщение, которое надо передать");puts("(используйте только заглавные русские буквы)");printf("->");gets(mes);f o r ( i = 0; i < s t r l e n ( m e s ) ; i++){if(mes[i] >= 'A* &&mes[i] <='ЯМ{/ / опр>еделим код очередной буквы (ф-я Ord) сообщения/ / и получим из таблицы кодировки соответствующий/ / элемент массива - последовательность точек и тиреstrcpy(Sim, morse[mes[i]-128]);j = 0;doi f ( s i m [ j ] == ' - ' 11 s i m [ j ] == ' .

' ){putch(sim[j++]);sound(1000);if (sim[j] == '.Mdelay(LI);else delay(L2);nosound;delay(L3);}160C/C++ в задачах и примерахwhile ( sim[j] ! = » ' & & j <4 ) ;delay(L4); // пауза между буквами}elseif (mes[i] == ' ») // пробел между словами{printf(" " ) ; // пробел между словами сообщенияdelay(L5);}}puts("ХпСообщение передано!");puts("Для завершения работы нажмите <Enter>");getch();}Задача 185#include <stdio.h>#include <conio.h>#include <math.h> // для доступа к M_PI// объем цилиндраfloat veil(float h, float r){return(M_PI*r*r*h);}void mainO{float r,h; // высота и радиус основания цилиндраfloat v;// объем цилиндраputs("Вычисление объема цилиндра");printf("Введите высоту и радиус основания ->");scanf("%f%f", &h, &r)/V = veil (h, r) ;printf("Объем цилиндра %3.2f\n", v ) ;printf("Для завершения нажмите <Enter>");getch();}Часть II.

Решения161Задача 186// Функция max возвращает максимальное из двух чиселint max(int а, int b){if (a > b)return(a);elsereturn (b) ;}Задача 187// Функция compare возвращает результат сравнения/ / в виде символа отношенияtinclude "stdio.h"#include "conio.h"чиселchar compare(int a, int b){char res;if (a > b) res = '>';else if (a < b) res = *<';else res = *=';return(res);}void mainO{int xl,x2;cheu: res;// сравниваемые числа// результат сравненияputs("Введите два целых числа и нажмите <Enter>");printf("->");scanf("%i%i", &xl, &x2);res = compare(xl,x2); // вызов функции программистаprintf("%i %c %i\n", xl, res, x2);puts("\nДля завершения работы программы \нажмите <Enter>");getch();162С/С-^+ в задачах и примерахЗадача 188// Вычисляет сопротивление электрической цепиfloat sopr( float rl, float г2, int t)(// rl,r2 - величины сопротивлений// t - тип соединения://1 - последовательное;//2 - параллельное.// если тип соединения указан неверно,//то функция возвращает -1f l o a t г;i f ( t==l) г = rl + г2;e l s e i f (t== 2) г = г1*г2/(г1+г2);else г = -1;return(г);}Задача 191// Функция "факториал"#include "stdio.h"#include "conio.h"unsigned int factor(int x){unsigned int f = 1;for (int i = 2; i <= x; i++)f *= i;return(f);}void main(){unsigned int f;puts("ХпТаблица факториалов");for (int n = 1; n <= 8; n++){f = factor(n);printf("%2i %u\n", n, f);}Часть 11.

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

Тип файла
PDF-файл
Размер
5,39 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

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