|
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
| Компьютерный форум 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 |
|
Призрачный админ Сообщения: 5256
|
Профиль | Отправить 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 |
|
Призрачный админ Сообщения: 5256
|
Профиль | Отправить PM | Цитировать noname00.pas
Я в школе тоже с 2 писал.. А на Фортране с 6!!! надо.. Такой суксь......... Слушайте, а похелпить сможете с одной сложной прогой??? Или если будет на Паскале, то перевести в СИ, а? |
|
------- Отправлено: 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 | |
|