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

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


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

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

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

  • 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

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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

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

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



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