Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 938 • Страница 6 из 47<  1 ... 3  4  5  6  7  8  9 ... 47  >
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Пожайлуста, очень нужна программка рисования и вращения звезды на Паскале



Партнер
 

Member
Статус: Не в сети
Регистрация: 03.01.2004
Откуда: Питер
AN Подробней напиши, какой звезды (пятиконечной)? Какое вращение?
2All ЗЫ На одном сайте, который занимается написанием прог, курсовиков и т.д. под заказ видел условие: "При заказе обязательно приводите полный текст задания, а т.ж. все методические и др. материалы ... " и т.д. (думаю мысль ясна), так вот в этой теме нужно сделать это обязательным и за невыполнение ЖК давать. ИМХО

_________________
Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)


 

Спасибо, что хоть кто-то откликнулся. Я вообще первый раз общаюсь таким образом, поэтому строго не судите. Учусь в Севастопольском университете на третьем курсе.Если не сдам эту контрольную по ООП выгонят. Задание такое:Написать программу на Паскале и на С рисующую пятиконечную звезду, которая потом должна вращаться по часовой стрелке. Эта программа пишется на базе модуля figures.pas, но я не знаю как его Вам переслать, если он нужен.


 

Member
Статус: Не в сети
Регистрация: 17.10.2003
Откуда: Киев
AN
Набросал программку, правда до того, как прочитал твое последнее сообщение, поэтому в ней не используется figures.pas. На всякий случай вот код, вдруг пригодится.

Код:
program star;
uses graph,crt;
var gr,gm:integer;
const a=320;b=240;r1=90;r2=220;n=5;
var i:integer;fff,f,st:real;

procedure draw(fi,rad:real;line:boolean);
var x,y:integer;
begin
x:=a+trunc(sin(fi)*rad);
y:=b+trunc(cos(fi)*rad);
if line then lineto(x,y) else moveto(x,y);
end;

procedure drawstar(del:boolean);
var i:integer;flag:boolean;
begin

for i:=0 to n*2  do
begin
if del then f:=f+fff;
if i=0 then flag:=false else flag := true;
if odd(i) then draw(f,r1,flag) else draw(f,r2,flag);
if not del then f:=f-fff;
end;

end;


begin
initgraph(gr,gm,'');
i:=n*2;
fff:=Pi*2/i;
st:=Pi/590;
f:=0;

repeat
f:=f-st;
setcolor(4);
drawstar(true);
delay(800);
setcolor(0);
drawstar(false);
until keypressed;
end.


 

Большое спасибо!Эта программка мне подойдёт. Я её немного подкорректирую и будет нормально.Самое главное есть основа, остальное додумаю сама.Ура!


 

Member
Статус: Не в сети
Регистрация: 04.01.2005
Откуда: Москва
Люди, помогите, кто и C++ чего понимает. Надо сделать консольную прогу, которая принимает строку текста и переписывает в ней каждое слово наоборот, т.е. было "это текст.", стало "отэ тскет." Точка показывает на конец строки. Что намудрил я, привожу ниже, юсал VC++ .NET (7.0)

// Invertor.cpp : Defines the entry point for the console application.
// *** КОНСОЛЬНОЕ ПРИЛОЖЕНИЕ ***

#include "stdafx.h"
#include <iostream>
using namespace std;

char InputText[128];
char OutputText[128];
char TempText[128];
double NewWord=0;
int i=0;
int x=0;
int y=0;
int _tmain(int argc, _TCHAR* argv[])
{
// Вывод запроса на ввод строки
cout << "Enter a test text:" << endl;
cin.getline(InputText,128,'\n');
while (i<128)
{
if (InputText[i]=' ')
{
NewWord=1;
}
if (NewWord=1)
{
NewWord=0;
while (y>=0)
{
OutputText[x]=TempText[y];
x++;
y--;
}
TempText=' ';
OutputText[x]=' ';
y=0;
}
else
{
TempText[y]=InputText[i];
y++;
}
i++;
if (InputText[i]='.')
{
//OutputText[i]='.';
cout << ".";
break;
}
}
cout << "Output text is:";
cout << endl;
cout << OutputText;
return 0;
}

результатом этого всего всегда является несколько пробелов и точка. Что делать? И еще ошибка синтаксиса: TempText=' '; как опустошить массив?

_________________
Win XP - если бы не этот отстой, то сидели бы сейчас в DOS...


 

Member
Статус: Не в сети
Регистрация: 17.10.2003
Откуда: Киев
HofD
Вроде работает, Turbo C++ 3.0:
Код:
#include <stdio.h>
#include <conio.h>
void main()
{
clrscr();
printf("text  >");
char s1[30],s2[30];
gets(s1);

int i=0,k=0,n;
for(;i<30;i++) s2[i]='#';
s2[29]='\0';
i=0;
do
{
if((s1[i]==' ')||(s1[i]=='.'))
 {
 n=i-1 ;
 for(;k<i;k++,n--)
 s2[k]=s1[n];
 k=i+1;
 s2[i]=s1[i];
 }
i++;
}
while(s1[i]!='\0');
s2[i]='\0';
printf("\nresult>%s",s2);
getch();
}


 

Member
Статус: Не в сети
Регистрация: 04.01.2005
Откуда: Москва
LS И правда! Огромное спасибо! :applause: :applause: А не можешь дать пару пояснений, как это работает, если не трудно, что я не так намудрил? :?: :writer:

_________________
Win XP - если бы не этот отстой, то сидели бы сейчас в DOS...


 

[skip]
if (InputText[i]=' ')
// Только что ты затёр символ
// Операция выполнилась успешно, проц не повис, поэтому результат true
{
NewWord=1;
}
if (NewWord=1)
// Опять присваивание
{
NewWord=0;
while (y>=0)
{
OutputText[x]=TempText[y];
x++;
y--;
}
TempText=' ';
// Здесь ошибка: ты пытаешься char[128] присвоить char
// Уже после этого нифига не должно компилиться
// Цикл сделал всего одну итерацию.
OutputText[x]=' ';
// Круто, теперь у нас есть пробел. Один.
if (InputText[i]='.')
// Прекратить мучения. Поставить точку.
// Дальше неинтересно. Полная ерунда
[skip]

Это не Паскаль, здесь оператор сравнения "==", а не "=". Соответственно неравенство будет "!=". Ты, когда свой буфер парсишь, то вместо сравнения пишешь в него пробелы - столько раз сколько у тебя символов (128?), а в конце ставишь точку. Короче, алгоритм необходимо переделать - это просто ужас какой-то. У K&R есть этот пример - читайте классику.


 

Member
Статус: Не в сети
Регистрация: 04.01.2005
Откуда: Москва
deepred А по подробней можно про K&R? И чем же надо было заменить строку TempText=' '; ?

Добавлено спустя 1 минуту, 54 секунды:
P.S. Да... долго мне самому до Си доходить... эх...

_________________
Win XP - если бы не этот отстой, то сидели бы сейчас в DOS...


 

Member
Статус: Не в сети
Регистрация: 29.11.2004
Откуда: Уфа
Народ помогите составить прогу в Паскале, а то ниче не соображаю..
:insane:вам же это ничего не стоит как я понимаю.. буду очень благодарен

условие:
Написать программу, которая позволит ввести данные о товарах магазина и выдаст следующие запросы: 1. по сроку хранения (до 1 мес), 2. по кол-ву наименований

мы прошли множества, массивы и записи.
на прошлом уроке решали задачу чем-то похожую, учитель сказала ориентироваться на эту задачу... если есть необходимость могу ее написать..

срок нам дали до след среды

заранее спасибо!!


 

Member
Статус: Не в сети
Регистрация: 03.01.2004
Откуда: Питер
**[3R]**Mast3R]
Цитата:
если есть необходимость могу ее написать..
пиши

_________________
Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)


 

Member
Статус: Не в сети
Регистрация: 04.02.2004
Откуда: Москва|СВАО
**[3R]**Mast3R] Среда то сегодня? Привидите текст предыдущий программы.
Раскажите подробнее чего там должно быть, с файлами Вас работать учили? Чем больще сведений тем лучше.

_________________
Счастье - это когда тебя понимают.
Разыскиваю (куплю) оригинальный USB-kit для Chaintech 5AGM2 (подробности в Л.С.).


 

Member
Статус: Не в сети
Регистрация: 29.11.2004
Откуда: Уфа
условие этой задачи (из учебника все): дан массив записей, содержащий сведения о работнике предприятия (Ф.И.О., должность, дата рождения, зарплата). напечатать:
1. список бухгалтеров
2. список работников от 30 до 50
3.среднюю зарплату по предприятию

program e37
const n=10;
type date_of_birth=record
day: 1..31;
month: string [10];
year: integer
end;
worker=record
name: string [20];
position: string [10];
date: date_of_birth;
salary: real
end;
var x:array [1..n] of worker; w: worker; i,j,g: integer; S: real; p: string [10];
begin
for i:=1 to n do
with x[i] do
begin
writeln ('сведение о',i , работнике');
writeln ('фамилия, инициалы');
readln (name);
writeln ('долность');
readln (position);
writeln ('число, месяц и год рождения');
readln (date.day, date.month, date.year);
writeln ('зарплата');
readln (salary);
end;
{решение 1 задачи -список бухгалтеров}
p:='бухгалтер';
j:=0; {счетчик строк списка - кол-во бухгалтеров}
for i:= to n do
if p=position
then begin
j:=j+1;
writeln (j,'.', name); {после номера в списке печатается точка и фамилия}
end;
{решение подзадачи 2 - список работников от 30 до 50}
writeln ('список работников от 30 до 50 лет');
j:=0;
writeln ('введите текущий год в виде четырехзачного числа');
readln (g);
for i:=1 to n do
write x[i] do
if (g-date.year<50) and (g-date.year>30)
then begin
j:=j+1
writeln (j,'.', name)
end;
{решение задачи 3 - вычисление средней зарплаты}
S:=0
for i:=1 to n do
S:=S+x[i].salary;
write ('средняя зарплата = ', S/n:10:2)
end.

задание сегодня дали, к следующей среде..
файлы сегодня первый раз конспектировали, их использовать нельзя

Добавлено спустя 3 минуты, 36 секунд:
Peter_P
у меня кстати на тетради оп информатике Roy makaay - FC Bayern Munchen EV ))) совпадение блин


 

Member
Статус: Не в сети
Регистрация: 25.12.2004
Народ, может кто сообразит, как написать прогу по С++.

Задача. Определить класс-строку. В класс включить два конструктора: для определения класса строки строкой символов и путем копирования другой строки (объекта класса строки). Предусмотреть функции сортировки слов в строке по-алфавиту и подсчёта количества слов.

Первая часть задачи вроде готова. Но как написать "жирные" функции?


 

Member
Статус: Не в сети
Регистрация: 03.01.2004
Откуда: Питер
**[3R]**Mast3R] ГЫ, лол просто! Там же все сделано уже! Или это объединить надо в одно целое, в этом то и все задание?

_________________
Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)


 

Member
Статус: Не в сети
Регистрация: 29.11.2004
Откуда: Уфа
Lord_of_Darkness
это прога которую мы просто переписали и опробовали.. оп ней нам сказали ориентироваться..

Цитата:
условие:
Написать программу, которая позволит ввести данные о товарах магазина и выдаст следующие запросы: 1. по сроку хранения (до 1 мес), 2. по кол-ву наименований


а это и есть задание на дом..


 

Member
Статус: Не в сети
Регистрация: 03.01.2004
Откуда: Питер
**[3R]**Mast3R]
Все допер. Просто вчера ночью уже не в состоянии был посмотреть внимательно пост. Счас слабаю.

Добавлено спустя 55 минут, 22 секунды:
вот с запросом №1
Код:
program Shop_and_Goods;
uses crt;
const
  GoodsCount = 100;
type
 TGoods = record
   GoodsName: string [15];
   StoragePeriod: 1..31; { Дни }
 end;
var
  GoodsList: array [1..GoodsCount] of TGoods;
  i, RealGoodsCount, Period: integer;
begin
  clrscr;
  write('Введите количество товаров: ');
  readln(RealGoodsCount);
  for i:=1 to RealGoodsCount do
  begin
    write('Введите наименование ',i,'-ого товара: ');
    readln(GoodsList[i].GoodsName);
    write('Введите срок хранения  ',i,'-ого товара (дней): ');
    readln(GoodsList[i].StoragePeriod);
  end;
  write('Введите требуемый срок хранения товара: ');
  readln(Period);
  writeln('Товары, со сроком хранения ',Period,' дней: ');
  for i:=1 to RealGoodsCount do
  begin
    if GoodsList[i].StoragePeriod = Period then
      writeln(GoodsList[i].GoodsName);
  end;
  readln;
end.

А насчет второго, че-то недогоняю чего надо. Подсчитать кол-во уникальных наименований??

_________________
Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)


 

Member
Статус: Не в сети
Регистрация: 29.11.2004
Откуда: Уфа
Lord_of_Darkness

Спасибо большое!! Выручил страшно!!
кстати кинте пожалуйста ссылочку на Паскаль нормальный, хоть дома по тренюсь..

Цитата:
А насчет второго, че-то недогоняю чего надо. Подсчитать кол-во уникальных наименований??


да сам не пойму... завтро пойду к ней разбираться... узнаю-обязательно сообщу
еще раз огромный респект!!


 

Member
Статус: Не в сети
Регистрация: 03.01.2004
Откуда: Питер
**[3R]**Mast3R]
Цитата:
кстати кинте пожалуйста ссылочку на Паскаль нормальный
а поиск на что? в теме Вопросы по Borland/Turbo/Free Pascal на первой странице ссылочка на паскаль есть.

_________________
Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 938 • Страница 6 из 47<  1 ... 3  4  5  6  7  8  9 ... 47  >
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan