Jump to content
СофтФорум - всё о компьютерах и не только

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


Recommended Posts

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

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

Вот задание

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

- фамилия;

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

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

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

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

- курс;

- группа;

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

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

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

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

Link to comment
Share on other sites

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

Вьівести на екран побайтно число типа 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();
}

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

Link to comment
Share on other sites

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

Edited by Тролль
Link to comment
Share on other sites

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

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

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;  }}}}
Link to comment
Share on other sites

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

Link to comment
Share on other sites

  • 2 weeks later...

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

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

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

Link to comment
Share on other sites

Батник:

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

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

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

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

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

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

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

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

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

Link to comment
Share on other sites

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

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

Edited by Тролль
  • Upvote 1
Link to comment
Share on other sites

  • 2 weeks later...

Перехожу на 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?

Link to comment
Share on other sites

Здравствуйте! Это задачка по Паскалю из моей контрольной (я на 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.
Link to comment
Share on other sites

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

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

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

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

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

Edited by Тролль
Link to comment
Share on other sites

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

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

Link to comment
Share on other sites

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

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

2i9tvnb.jpg

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

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

Link to comment
Share on other sites

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

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

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

Link to comment
Share on other sites

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();}

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

Edited by Тролль
Link to comment
Share on other sites

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 написать.\

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

Link to comment
Share on other sites

C1keu:

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

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

Link to comment
Share on other sites

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

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

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

Link to comment
Share on other sites

C1keu:

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

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

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

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

#include<iostream>

using namespace std;

на

#include<iostream.h>

#include<stdio.h>

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

Link to comment
Share on other sites

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

Но 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();}

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

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

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

Link to comment
Share on other sites

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

Edited by Тролль
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.



×
×
  • Create New...