Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Заказы "Сделайте все за меня"


Рекомендуемые сообщения

MakentoIII:

var t:string; i,j,k:integer;beginwriteln('Vvedite tekst '); readln(t); t:=' '+t; k:=0; for i:=length(t) downto 1 do if t[i]>='0' then inc(k) else begin for j:=i+1 to i+k do write(t[j]); if k<>0 then write(' '); k:=0 end;writeln; readlnend.
Ссылка на комментарий
Поделиться на другие сайты

Большое спасибо очень помогли

есть еще одна задачка и тоже на паскале

Вот задание

Составить список, содержащий сведения об N студентах. Для каждого учащегося указать:

- фамилия;

- ИНН (идентификационный номер налогоплательщика);

- дата выдачи Свидетельства о постановке на учет в налоговом органе;

- дата рождения;

- год поступления в университет;

- курс;

- группа;

- количество семестров обучения;

- оценки каждой сессии по всем семестрам.

Информацию о каждом студенте оформить в виде записи. Совокупность записей объединить в массив. Составить программу, которая обеспечивает ввод исходных данных, обработку и вывод на экран информации

Упорядочить список студентов по году рождения и вывести его на экран. N = 6.

Ссылка на комментарий
Поделиться на другие сайты

Загвоздочка из заданием...

Вьівести на екран побайтно число типа float введенное с клавиатурьі. Думал так:

#include <iostream>
using namespace std;
struct bit {unsigned char x1:4, x2:4,x3:4,x4:4;};
union  {bit n;float c;} x;
main()
{
scanf ("%f",&x.c);
printf("\n%d\n%d\n%d\n%d",x.n.x4,x.n.x3,x.n.x2,x.n.x1);
getchar();getchar();
}

но програма просто вьірубается и ничего не делает

Ссылка на комментарий
Поделиться на другие сайты

union  {float f; unsigned char c[4];} x;

int main(int argc, _TCHAR* argv[])
{
cin >> x.f;
cout << endl << hex;
for (int i=0; i < 4; i++)
cout << int(x.c[i]) << endl;
system("pause");
}

Ссылка на комментарий
Поделиться на другие сайты

MakentoIII:

Задача в основном на тренировку печатания на клавиатуре. Делать нечего, только перепечатывать названия из условия. Такие надо самому делать, собственно программирования тут практически нет.

const n=6;var i,j:integer; a:array[0..n]of record f:string[20]; inn,d:string[10]; p,k,g,s:integer; o:array[1..20]of byte; end;beginfor i:=1 to n do with a[i] do beginwrite('familia '); readln(f);write('INN '); readln(inn);write('data rozd. '); readln(d);write('god post. '); readln(p);write('kurs '); readln(k);write('gruppa '); readln(g);write('semestrov '); readln(s);write('ozenki '); for j:=1 to s do read(o[j]); readln; writeln; end;for i:=1 to n-1 do for j:=1 to n-i do  if copy(a[j].d,length(a[j].d)-4,4)>copy(a[j+1].d,length(a[j+1].d)-4,4) thenbegin a[0]:=a[j]; a[j]:=a[j+1]; a[j+1]:=a[0] end;writeln('familia				 INN	 data rozd.	  post kurs gr. sem.  ozenki');for i:=1 to n do with a[i] do begin write(f,'':20-length(f),inn:10,'  ',d:10,' ',p:9,k:4,g:4,s:6); for j:=1 to s do write(o[j]:2); writeln; end;readlnend.

Названия писал транслитом, слова на русском у меня Pascal искажает (имитатор DOS не русифицирован).

Дата рождения вводится в виде 18.12.1980

Оценки по семестрам вводятся друг за другом через пробел или Enter, их должно быть столько, сколько указано семестров. Для проверки, чтобы не мучиться с вводом данных для шести студентов, можно временно заменить n=6 на n=2

Изменено пользователем Тролль
Ссылка на комментарий
Поделиться на другие сайты

Народ помогите плиз. Требуется сделать плагин для граф редактора. По функциям как ластик из пейнта.

Я его сделал как простую кисть белого цвета, но отрисовки не происходит хотя ошибок вроде нет, посмотрите пожалуйста

using System;using System.Drawing;using System.Windows.Forms;using Oop.Tasks.Paint.Interface;namespace Oop.Tasks.Paint.Plugins{ [PluginForLoad(true)]public class Polygon: IToolPaintPlugin{private IPaintPluginContext pluginContext=null;private Cursor cursor=null;private Image icon=null;public bool doDraw = false;private IPaintApplicationContext ApplicationContext{  get   {	if(pluginContext==null) return null;	else return pluginContext.ApplicationContext;  }}public void AfterCreate(IPaintPluginContext pluginContext) {  this.pluginContext=pluginContext;  string imageDir=pluginContext.PluginDir;  if(imageDir!=null) {	imageDir+=@"\Images\";	try 	{	  icon=Image.FromFile(imageDir+"Icon.bmp");	}	catch 	{	  // подавление исключения	}	try 	{	  cursor=new Cursor(imageDir+"Cursor.cur");	}	catch 	{	  // подавление исключения	}  }}public void BeforeDestroy() {  if(cursor!=null) cursor.Dispose();  if(icon!=null) icon.Dispose();}public void Select(bool selection) {  if(selection)   {	ApplicationContext.Cursor=cursor;  }  else   {	ApplicationContext.Cursor=null;  }}public string Name {  get   {	return this.GetType().Name;  }}public string CommandName {  get   {	  return "Ластик";  }}private Point[] points = new Point[0];public void MouseDown(MouseEventArgs me, Keys modifierKeys){	doDraw = true;}public void MouseUp(MouseEventArgs me, Keys modifierKeys){	doDraw = false;}public void MouseMove(MouseEventArgs me, Keys modifierKeys){	if (doDraw)	{		Graphics g = Graphics.FromImage(ApplicationContext.Image);		SolidBrush whiteBrush = new SolidBrush(Color.Red);		g.FillEllipse(whiteBrush, me.X, me.Y, 10, 10);	}}public void Escape(){}public void Enter(){}public void ColorChange(){}public void ImageChange() {}public string ToolName {  get  {	return "";  }}public Image Icon{  get  {	return icon;  }}}}
Ссылка на комментарий
Поделиться на другие сайты

Помогите пожалуйста написать программу. Задание: функция вставляет в строку другую строку, начиная с заданной позиции. При реализации функции запрещается пользоваться функциями библиотек языка C.

Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

Сил моих больше нет. Не хочет корректно срабатывать отключение дисплея: отключится через установленные ему десять минут и сразу снова включается. Спать мне жутко через это. Беда обычно происходит после работы просмотровщиков видео или ТВ-программы (BeholdTV у меня) в полноэкранном режиме. Может быть дрова не те, а может ещё что-то. Но я уже, и дрова менял, и все настройки, и экрана, и дров, и софта перепробовал.

Помогает одно: два раза (одного бывает мало) залезть в «Свойства экрана — Заставка — Питание» и выставить уже итак выставленное Отключение дисплея через десять минут. Вот тогда срабатывает как надо и ночью мне становится счастье в виде сна под чёрный экран и плавно закачиваемые фильмы с торрентов.

Поэтому просьба: а напишите мне пожалуйста батник, выполняющий действия по отключению дисплея через те десять минут. А уж я его тогда себе на кнопку пульта повешу, буду этак удалённо гасить монитор и вас добром вспоминать. А не напишите — шмальнусь с дула и записку оставлю.

Ссылка на комментарий
Поделиться на другие сайты

Батник:

Подойти к монитору

Нажать кнопку Power (или как там она называется)

Отойти от монитора

Упасть в койку

Наслаждаться некоторое время выключенным монитором

Проснуться, нажать кнопку Power (или как там она называется)

посмотреть, что же там этакого офигительного на машинку закачалось...

P.S. Это в том случае, ежели не удастся овладеть скиллом "Настройка автовыключения монитора", прописанного в свойствах. системы.

P.P.S. А ежели серьёзно - то описанная Вами ситуация случается в том случае, ежели Вы не проследили за теми Событиями, на кои монитор должен срабатывать. И, опять же - никто не отменял законодательно кнопку Power.

Ссылка на комментарий
Поделиться на другие сайты

Ну, сон под дистанционное включение черного экрана легко реализовать. Хотя, конечно, тушить самопроизвольно включающийся свет - это, как говорят, "туши свет"... :(

Однако в батнике для тушения экрана будет всего одна строка: scrnsave.scr

Изменено пользователем Тролль
Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

Перехожу на Qt. в связи с етим решил таки немного поучить с++. Есть пример задания свойства для класа:

#ifndef CORE_H#define CORE_H#include <QObject>class Core : public QObject{Q_PROPERTY (bool readOnly READ isReadOnly WRITE setReadOnly)private: bool m_bReadOnly;public:Core(QObject* pobj=0):QObject (pobj), m_bReadOnly(false) {}public:void setReadOnly (bool bReadOnly) {m_bReadOnly=bReadOnly;}bool isReadOnly () const {return m_bReadOnly;}};#endif // CORE_H

Пожалуйста кто может обьясните дураку вот ету строчку:

Core(QObject* pobj=0):QObject (pobj), m_bReadOnly(false) {}

ну инициализация m_bReadOnly(false) понятна. А вот к чему там pobj , зачем его равнять 0 и что такое QObject (pobj) ?

ой. дико извиняюсь. Во дурак. Как же то юзать фукнции надо. pobj просто переменная типа QObject. и там так же осуществляется ее инициализация. Токо вот в че вопрос почему QObject* pobj=0 здесь равно 0?

Ссылка на комментарий
Поделиться на другие сайты

Здравствуйте! Это задачка по Паскалю из моей контрольной (я на 1 курсе): "В компьютер вводится одно натуральное число, состоящее не более чем из пяти цифр. Составить программу, выводящую на экран значение этого числа словами". Контрольную я сдала, но преподаватель сказал, что очень большой исходный код. Подскажите, как его уменьшить?

program NADPIS3;var n,k,a:integer;procedure edinica(a:integer);  begin  case a of   1: write('один ');   2: write('два ');   3: write('три ');   4: write('четыре ');   5: write('пять ');   6: write('шесть ');   7: write('семь ');   8: write('восемь ');   9: write('девять ');   0: write('десять ');   end;  end;procedure odinnad(a:integer);  begin  case a of   1: write('одиннадцать ');   2: write('двенадцать ');   3: write('тринадцать ');   4: write('четырнадцать ');   5: write('пятнадцать ');   6: write('шестнадцать ');   7: write('семнадцать ');   8: write('восемнадцать ');   9: write('девятнадцать ');   0: write('десять ');  end;  end;procedure sotni(a:integer);  begin  case a of   1: write('сто ');   2: write('двести ');   3: write('триста ');   4: write('четыреста ');   5: write('пятьсот ');   6: write('шестьсот ');   7: write('семьсот ');   8: write('восемьсот ');   9: write('девятьсот ');   0: write('');  end;  end;procedure decyatki(a:integer);  begin  case a of   1: write('');   2: write('двадцать ');   3: write('тридцать ');   4: write('сорок ');   5: write('пятьдесят ');   6: write('шестьдесят ');   7: write('семьдесят ');   8: write('восемьдесят ');   9: write('девяносто ');   0: write('');  end;  end;procedure tysyachi(a:integer);  begin  case a of   1: write('одна тысяча ');   2: write('две тысячи ');   3: write('три тысячи ');   4: write('четыре тысячи ');   5: write('пять тысяч ');   6: write('шесть тысяч ');   7: write('семь тысяч ');   8: write('восемь тысяч ');   9: write('девять тысяч ');   0: write('');  end;  end;procedure opred(var n,k:integer);  begin n:=n mod k; k:=k div 10; a:=n div k; odinnad(a);  end;procedure razryad(var k:integer);  begin  case k of   10000: if a=1 then   begin	opred(n,k);	write('тысяч ');   end   else decyatki(a);   1000 : tysyachi(a);   100  : sotni(a);   10   : if a=1 then opred(n,k) else decyatki(a);   1	: edinica(a);  end;  end;begin  writeln('‚Введитечисло, состоящее не более чем из 5 знаков');  readln(n);  k:=10000;  while (n>0) and (k>0)  do  begin	 a:=n div k;	 razryad(k);	 n:=n mod k;	 k:=k div 10;  end;  readln;end.
Ссылка на комментарий
Поделиться на другие сайты

прошупомощи:

Простейший путь сокращения - сделай вместо процедур с оператором case массивы строк. Например, объяви вместо процедуры decyatki в начале программы

const decyatki:array[0..9]of string[12]=(' ',' ','двадцать ','тридцать ','сорок ','пятьдесят ','шестьдесят ','семьдесят ','восемьдесят ','девяносто ');

и вместо decyatki(a) вызывай write(decyatki[a])

И так же с остальными процедурами, выбирающими нужное слово.

Изменено пользователем Тролль
Ссылка на комментарий
Поделиться на другие сайты

Тролль: лучше многомерный, так будет ещё короче. А можно все слова засунуть в текстовый файл и считать :D

PS Преподаватель - извращенец :blush2:

Ссылка на комментарий
Поделиться на другие сайты

Помогите плз создать калькулятор в C++ Builder 6.0

Вот что у меня получилось , нужно еще добавить "+" , "-" , "*" , "/" , "=" , "c"

2i9tvnb.jpg

Исходник - http://rapidshare.com/files/348309700/Calculator.rar.html

http://rapidshare.de/files/49126248/Calculator.rar.html

Ссылка на комментарий
Поделиться на другие сайты

Помогите пожалуйста решать задание.Си++

Написать и протестировать функцию для решения следующей задачи.

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

Ссылка на комментарий
Поделиться на другие сайты

C1keu:

#include<iostream>using namespace std;float fun(float b[], int n){int i,t=1; float min,max,r;min=b[0]; for(i=0;i<n;i+=2)if(b[i]<min)min=b[i]; max=b[1]; for(i=1;i<n;i+=2)if(b[i]>max)max=b[i];if(min*max<0){r=0; for(i=0;i<n;i++)r+=b[i];} else {r=1; for(i=0;i<n;i++)if(b[i]>0){r*=b[i]; t=0;}if(t)r=0;} return r;}	  main(){float a[100]; int i,n;cout<<endl<<"n="; cin>>n;for(i=0;i<n;i++){cout<<"a["<<i<<"]="; cin>>a[i];}cout<<"result="<<fun(a,n)<<endl; getchar(); getchar();}

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

Изменено пользователем Тролль
Ссылка на комментарий
Поделиться на другие сайты

C1keu:

#include<iostream>using namespace std;float fun(float b[], int n){int i,t=1; float min,max,r;min=b[0]; for(i=0;i<n;i+=2)if(b[i]<min)min=b[i]; max=b[1]; for(i=1;i<n;i+=2)if(b[i]>max)max=b[i];if(min*max<0){r=0; for(i=0;i<n;i++)r+=b[i];} else {r=1; for(i=0;i<n;i++)if(b[i]>0){r*=b[i]; t=0;}if(t)r=0;} return r;}	  main(){float a[100]; int i,n;cout<<endl<<"n="; cin>>n;for(i=0;i<n;i++){cout<<"a["<<i<<"]="; cin>>a[i];}cout<<"result="<<fun(a,n)<<endl; getchar(); getchar();}

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

Мм, но там есть про разные знаки,это значит что нужно начать например с -13? Не важно что получится при произведении,нужно просто вывести результат который получется от произведения найденных компонент вектора.И можна пожалуйсто под Borland написать.\

Спасибо за помощь и труд! :)

Ссылка на комментарий
Поделиться на другие сайты

C1keu:

но там есть про разные знаки,это значит что нужно начать например с -13?
13 - чертова дюжина, с нее начинать не рекомендуется :blink: Откуда взялось это число? В условии сказано: "Найти наименьшую из нечетных компонент вектора и наибольшую из четных компонент. Если они имеют разные знаки..." Так и сделано.
Не важно что получится при произведении,нужно просто вывести результат который получется от произведения найденных компонент вектора.
А если найдено 0 компонент, что выводить? Я вывожу 0.
можна пожалуйсто под Borland написать
Тут нет ничего специально для какого-то компилятора. На всякий случай проверил в Борландовском, работает.

P.S. Не надо целиком цитировать в ответе предыдущее сообщение. И так ясно, о чем речь. Если вопрос или замечание по какой-то части сообщения, можно процитировать именно ее.

Ссылка на комментарий
Поделиться на другие сайты

Хорошо,насчет целиком понял.

Наверно надо было сразу сказать,что код нужно написать для старенького Borland 3.1

А то он данный код не принимает.

Ссылка на комментарий
Поделиться на другие сайты

C1keu:

код нужно написать для старенького Borland 3.1

А то он данный код не принимает.

Ну и переделал бы сам - тут-то уж и делать нечего.

Надо заменить в начале программы строки

#include<iostream>

using namespace std;

на

#include<iostream.h>

#include<stdio.h>

Полезно еще убрать один из двух операторов getchar(); в конце программы - из-за него в 3.1 придется нажимать Enter дважды, чтобы выйти из программы.

Ссылка на комментарий
Поделиться на другие сайты

Спасибо,понятно.

Но Borland 3.1

Не понимает cout и т.д

cout<<endl<<"n="; cin>>n;for(i=0;i<n;i++){cout<<"a["<<i<<"]="; cin>>a[i];}cout<<"result="<<fun(a,n)<<endl; getchar(); getchar();}

Можно тоже самое только под борланд.

Я просто только начал изучать(в вузе с него)

А до этого, не изучал никакой язык.

Ссылка на комментарий
Поделиться на другие сайты

C1keu:

Borland 3.1 прекрасно понимает cout и т.д.

1.jpg

2.jpg

Если не понимает, значит, неправильно установлен.

Но нетрудно переписать ввод-вывод и в варианте чистого C.

#include<stdio.h>float fun(float b[], int n){int i,t=1; float min,max,r;min=b[0]; for(i=0;i<n;i+=2)if(b[i]<min)min=b[i]; max=b[1]; for(i=1;i<n;i+=2)if(b[i]>max)max=b[i];if(min*max<0){r=0; for(i=0;i<n;i++)r+=b[i];} else {r=1; for(i=0;i<n;i++)if(b[i]>0){r*=b[i]; t=0;}if(t)r=0;} return r;}	  main(){float a[100]; int i,n;printf("n="); scanf("%d",&n);for(i=0;i<n;i++){printf("a[%d]=",i+1); scanf("%f",&a[i]);}printf("result=%f",fun(a,n)); getchar(); getchar();}

Проверил в том же Borland C++ 3.1, хотя этот вариант должен уже и в самом первом борландовском Turbo C идти (конечно, если он правильно установлен...).

post-1208-1265979913_thumb.jpg

post-1208-1265979951_thumb.jpg

Изменено пользователем Тролль
Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу



×
×
  • Создать...