|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Помогите, срешением задач! С++ |
|
|
Помогите, срешением задач! С++
|
Мичуринский ученик Сообщения: 740 |
1)Написать программу, которая отображает у левого края экрана сплошной треугольник из звездочек, высота которого указана целым параметром side. Например,если side = 4 на экран должно выводиться
* * * * * * * * * * * * * * * * 2)С помощью перегрузки функций создайте функцию convert(), переводящую гривни в доллары и наоборот. 3)Написать программу, которая получает в качестве параметра целое число и возвращает число с обратным порядком цифр 4)Вывести на экран все числа кратные 11 в диапазоне, заданном пользователем. 5)Игра «кубики». Условие: имеется два игральных кубика со значениями от 1 до 6. Игра происходит с компьютером, кубики бросаются поочередно. Побеждает тот, у кого сумма выпавших очков по итогам пяти бросков больше. Предусмотрите возможность получения первого хода человеком или компьютером. Кубики отображаются с помощью символов. В конце игры необходимо выводить среднюю сумму по броскам для обоих участников. 6)Создать программу, которая выводит на экран простые(тЕ КОТОРЫЕ ДЕЛЯТЬСЯ тоько само на себя и на 1) числа в диапазоне от 2 до 1000. |
|
------- Отправлено: 03:16, 08-12-2001 |
Инет-администратор Сообщения: 550
|
Профиль | Сайт | Отправить PM | Цитировать Apis.NET
Треугольник Паскаля? |
Отправлено: 05:00, 08-12-2001 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Мичуринский ученик Сообщения: 740
|
Профиль | Отправить PM | Цитировать Цитата:
|
|
------- Отправлено: 12:28, 08-12-2001 | #3 |
Призрачный админ Сообщения: 5254
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 14:14, 08-12-2001 | #4 |
Модер Сообщения: 1716
|
Профиль | Сайт | Отправить PM | Цитировать 3)Написать программу, которая получает в качестве параметра целое число и возвращает число с обратным порядком цифр
Напишу, так сказать, логику. А то мало ли как процент отобразится. SOURCE - дано BASE - основание исчисления (по умолчанию 10) RESULT=0 - результат i - вспомогат. переменная while (SOURCE) { i = (остаток от деления SOURCE на BASE) RESULT увеличиваем на i RESULT умножаем на BASE SOURCE целочисленно делим на BASE } |
|
------- Отправлено: 16:04, 08-12-2001 | #5 |
редкий гость Сообщения: 1696
|
Профиль | Сайт | Отправить PM | Цитировать Цитата:
надеюсь в коде сами разберётесь: #include <iostream> void draw_triangle( unsigned int size ); int main() { * *draw_triangle( 5 ); * *draw_triangle( 10 ); * *return 0; } inline void out_chars( unsigned int num, char ch ) { * *for( ; num ; --num ) * * * *std::cout << ch; } void draw_triangle( unsigned int size ) { * *unsigned int to_draw = 1; * *for( ; size ; --size ) * *{ * * * *out_chars( size - 1, ' ' ); * * * *out_chars( to_draw, '*' ); * * * *std::cout << "\n"; * * * *to_draw += 2; * *} } Цитата:
Цитата:
#include <iostream> unsigned int reverse( unsigned int in ); int main() { * *std::cout << reverse( 12345 ) << "\t" << reverse( 67890 ); * *return 0; } unsigned int reverse( unsigned int in ) { * *unsigned int out = 0; * *while( in ) * *{ * * * *out += in % 10; * * * *out *= 10; * * * *in /= 10; * *} * *return out; } Цитата:
Цитата:
(Отредактировал(а) ivank - 14:11 - 8 Дек., 2001) (Отредактировал(а) ivank - 15:12 - 8 Дек., 2001) |
|||||
------- Отправлено: 17:05, 08-12-2001 | #6 |
Студент Сообщения: 445
|
Профиль | Отправить PM | Цитировать Apis.NET
Ну не знаю я Си, хотя было бы полезно. По этой самой причине привожу тексты программ на Паскале. В принципе понять, что делает программа нетрудно, тебе остаётся только перевести в код на Си. 1. var *side, i, j : byte; *s : string; begin *readln(side); *for i := 0 to (side-1) do begin * *s := '*'; * *for j := 1 to (side - i - 1) do s := ' ' + s; * *for j := 1 to i do s := s + '**'; * *writeln(s); *end; end. {$N+} const Kypc = 1; {Здесь нужно вместо 1 подставить курс доллара в гривнах} Function Griven_to_dollar(Grivens : Double) : double; begin *Griven_to_dollar := Grivens / Kypc; end; Function Dollar_to_griven(Dollars : Double) : double; begin *Dollar_to_griven := Dollars * Kypc; end; var *l : longint; *res : longint; *code : integer; begin *val(paramstr(1), l, code); {Это просто получение параметра в переменную L} *res := 0; *while l > 0 do begin * *res := res*10 + (l mod 10); * *l := l div 10; *end; *halt(res); { Тот же return (res) в си... } End. Вариант 1: var *d, u : longint; *l : longint; begin *write('From: '); *readln(d); *write('To: '); *readln(u); *for l := d to u do * *if (l mod 11) = 0 then writeln(l); end. var *d, u : longint; *l : longint; begin *write('From: '); *readln(d); *write('To: '); *readln(u); *if (d >= 0) and ((d mod 11) = 0) then writeln(d); *l := (d div 11); *if L < 0 then l := l * 11 else l := (l + 1) * 11; *while l <= u do begin * *writeln(l); * *inc(l, 11); *end; end. 6. Вариант 1(сложность алгоритма - O(N*Log(N))): var *i, j : integer; *s : boolean; *simple : array[0..168] of integer; {в данном диапазоне именно 168 простых чисел} begin *for i := 2 to 1000 do begin * *s := true; * *for j := 1 to simple[0] do if (i mod simple[j]) = 0 then begin * * *s := false; * * *break; * *end; * *if s then begin * * *inc(simple[0]); * * *simple[simple[0]] := i; * *end; *end; *for i := 1 to simple[0] do writeln(simple[i]); end. var *i, j : integer; *s : boolean; begin *for i := 2 to 1000 do begin * *s := true; * *for j := 2 to (i - 1) do if (i mod j) = 0 then begin * * *s := false; * * *break; {прервать цикл} * *end; * *if s then writeln(i); *end; end. Цитата:
![]() Треугольник Паскаля это примерно следующее * * *1 * * 1 1 * *1 2 1 *1 *3 3 1 1 4 *6 *4 1 1 5 10 10 5 1 Каждое число считается как сумма двух вышестоящих. Используется при вычислении количества сочетаний (например). Ну и для других вещей - ![]() (Отредактировал(а) noname00.pas - 12:40 - 8 Дек., 2001) |
|
------- Отправлено: 17:55, 08-12-2001 | #7 |
редкий гость Сообщения: 1696
|
Профиль | Сайт | Отправить PM | Цитировать noname00.pas
Код с отступом в один пробел это ИМХО извращение. И кстатит лучше пользовать тэги [ code] и [ /code] ( буз пробелов ) -- моноширный текст лучше читается. |
------- Отправлено: 18:08, 08-12-2001 | #8 |
Студент Сообщения: 445
|
Профиль | Отправить PM | Цитировать ivank
Цитата:
![]() |
|
------- Отправлено: 18:45, 08-12-2001 | #9 |
Призрачный админ Сообщения: 5254
|
Профиль | Отправить PM | Цитировать noname00.pas
Я в школе тоже с 2 писал.. ![]() ![]() |
------- Отправлено: 18:52, 08-12-2001 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - [решено] Как сделать активным пункт вызова Диспетчера задач в контекстном меню Панели задач? | iron felix | Microsoft Windows 2000/XP | 3 | 29-11-2013 07:43 | |
Разное - SP2 , нет понели задач и значков на рабочем столе + диспечер задач не открывается | McIntosh | Лечение систем от вредоносных программ | 6 | 10-04-2010 13:08 | |
Интерфейс - [решено] помогите с панелью задач ) | azanny | Microsoft Windows 2000/XP | 6 | 20-09-2009 09:38 | |
C/C++ - Помогите с решнием задач:) | DruOleg | Программирование и базы данных | 3 | 25-02-2009 01:22 | |
Доступ - Помогите с правами доступа в Диспетчере задач. | NFS_Daemon | Microsoft Windows 2000/XP | 0 | 08-01-2009 11:26 |
|