TWINc

Помощь в решении заданий по программированию.

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

Помогите плZ с решением задач... На C++

 

1) Дан массив целых чисел размерностью n. Записать в этот же массив сначала все отрицательные числа, затем нули, затем все положительные числа, сохраняя порядок их следования.

 

2) Дана матрица N*N, состоящая из натуральных чисел. Упорядочить элементы в каждом столбце по убыванию и прибавить число введеное с клавитуры к каждому элементу 1 строки.

Поделиться сообщением


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

Помогите плZ с решением задач... На C++

 

1) Дан массив целых чисел размерностью n. Записать в этот же массив сначала все отрицательные числа, затем нули, затем все положительные числа, сохраняя порядок их следования.

 

2) Дана матрица N*N, состоящая из натуральных чисел. Упорядочить элементы в каждом столбце по убыванию и прибавить число введеное с клавитуры к каждому элементу 1 строки.

 

Бред какой-то! Зачем "записать в этот же массив" и при этом "сохраняя порядок их следования" - так получается, что исходный массив остается без изменения и результирующего массива тоже нет! И потом, "все ... числа" - это как бы на бесконечность претендует.

 

Как меня бесят "задачки" подобного вида! Кто и зачем их придумывает !? <_<

Поделиться сообщением


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

Бред какой-то! Зачем "записать в этот же массив" и при этом "сохраняя порядок их следования" - так получается, что исходный массив остается без изменения и результирующего массива тоже нет! И потом, "все ... числа" - это как бы на бесконечность претендует.

 

Как меня бесят "задачки" подобного вида! Кто и зачем их придумывает !? :)

Не знаю кто и зачем их придумывает... :) Это мне в технаре дали по практике...

Поделиться сообщением


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

PASCAL

Исходная информация: строка, содержащая, булевскую функцию от переменных А,В,..., для определения которой использованы только операции +, * и скобки.

Задание: преоброзовать функцию к нормальной форме.

 

Помогите пожалуйста. <_< не справляюсь с этой задачей :blink:

 

P.S.

"преобразовать булевскую функцию к нормальной форме" значит перевести из совершенной конъюнктивно Формы (или дизъюнктивной) в нормальную. Теория-здесь(мне подсказал один оч хороший человек <_< )

Изменено пользователем miasnik_yk

Поделиться сообщением


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

Если кто может помогите по Delfi

Вот задания

Мне можно или прогу или просто типо реферата (лутше прогу а если реферат то дайте ссылку где можно скопировать материал )

Поделиться сообщением


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

Нужен реферат по системному программированию

ТЕма : Методы обьектного моделирования OOSE, OMT и UML.

Если кто знает где взять материал хелпаните plz

Изменено пользователем chi1i

Поделиться сообщением


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

Системное Программирование

 

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

платы АЦП PC-LabCard 812PG

 

 

Помогите хотябы чем нибудь очень надо

Поделиться сообщением


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

Кто может помогите надо к завтра срочно решить вот эту задачку:

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

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

разумеется на паскале'

Поделиться сообщением


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

Кто может помогите надо к завтра срочно решить вот эту задачку:

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

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

разумеется на паскале'

 

Type 
  TSentenceWord = record
	 AWord : String;
	 Count : Byte;
  end;

Var
   SourceSentence, ResultSentence : String;
   Words : array of TSenteceWord;
   CurWord : String;
   I, CurPos, PrevWordEndPos, LastUniqWordIndex: Byte;
   UniqWord : Boolean;

BEGIN

 // [i]get SourceSentence and init Words array!!![/i]

 SourceSentence := Trim ( SourceSentence );
 PrevWordEndPos := 1;
 LastUniqWordIndex := Low ( Words );

 For CurPos := 0 to Length ( SourceSentence ) do Begin
If SourceSentence[CurPos] = #32 then begin
   CurWord := CopyStr ( SourceSentence, PrevWordEndPos, PrevWordEndPos - (CurPos - 1) );
   UniqWord := True;
   for I := 0 to LastUniqWordIndex do begin
	 if Words[I].AWord = CurWord then begin
		Inc ( Words[I].Count, 1);
		UniqWord := False;
		Break;		 
	 end;
   end; // [i]words matching[/i]
   if UniqWord then begin
	  Words[LastUniqWordIndex] := CurWord;
	  Inc ( LastUniqWordIndex, 1);
   end; // [i]add uniq word[/i]
   PrevWordEndPos := CurPos;	
end;
 End;  // [i]Create uniq words array[/i]

 ResultSentence := '';
 For I := 0 to LastUniqWordIndex do begin
ResultSentence := ResultSentence + Words[I].AWord + #32;
 End; // [i]build result sentence[/i]

END.

 

Я зачем-то также считал и количество вхождений слов в предложении (AWord.Count). ;)

 

P.S. Учти, я писал "по наитию", т.к. под рукой нет компилятора и средств отладки.... :P

Изменено пользователем RuForce

Поделиться сообщением


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

Приветствую всех и прошу о помощи !

Решить нужно либо на Си либо Паскаль либо Бейсик (желательно)

 

Олимпиада по информатике

http://11-a-forever.polubomu.ru/stuff/zadania.doc

 

Заранее спасибо

 

P.S Это срочно !!!

Изменено пользователем ShadoWBikeR

Поделиться сообщением


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

PASCAL

Исходная информация: строка, содержащая, булевскую функцию от переменных А,В,..., для определения которой использованы только операции +, * и скобки.

Задание: преоброзовать функцию к нормальной форме.

 

Помогите пожалуйста. :) не справляюсь с этой задачей :)

 

P.S.

"преобразовать булевскую функцию к нормальной форме" значит перевести из совершенной конъюнктивно Формы (или дизъюнктивной) в нормальную. Теория-здесь(мне подсказал один оч хороший человек :wacko: )

Если кому интересно, я решил, спасибо, если кто-то пытался её делать.

uses crt;
var s:string;
by:char;
procedure one;
Begin
readln(s);
End;
function ymnog(a,b:string):string;
var i,j:longint;
OutS,a1,b1,s1:string;  {S-string}
Begin
OutS:='';
i:=1;
while i<=length(a) do
 begin
  j:=1;
  a1:='';
  if (a[i+1]<>'*') or (i+1>length(a)) then
	  a1:=a[i]
  else
  while a[i+1]='*' do
   begin
  		a1:=a1+a[i]+a[i+1];
	inc(i,2);
   end;
  if a[i-1]='*' then a1:=a1+a[i];
 	while j<=length(b) do
	   begin
	 	b1:='';
		if (b[j+1]<>'*') or (j+1>length(b))then
			b1:=b[j]
		else
		while b[j+1]='*' do
   		 begin
			  b1:=b1+b[j]+b[j+1];
			inc(j,2);
   		 end;
		  if b[j-1]='*' then b1:=b1+b[j];
		 OutS:=OutS+a1+'*'+b1+'+';
		inc(j,2);
	   end;
	inc(i,2);
 end;
delete(OutS,length(OutS),1);
i:=1;
while i<=length(OutS) do
 begin
 	if OutS[i]='+' then s1:=''
	else
	 begin
		if (OutS[i]<>'*') and (Pos(OutS[i],s1)<>0) then
		 begin
		 	delete(OutS,i-1,2);
			dec(i,2);
		 end;
	 	s1:=s1+OutS[i];
	 end;
	inc(i);
			if OutS='' then break;
 end;
ymnog:=OutS;
End;
procedure two;
var i,j:longint;
OutS,s1,s2:string;{s1,s2-tempstring}
FP,LP,LP2:longint;					   {LastPos,ferpost}
Begin
 while pos('(',s)<>0 do
 begin
  FP:=Pos('(',s);
  LP:=Pos(')',s);
  OutS:='';
  s1:=copy(s,FP+1,LP-FP-1);
  if s[LP+2]<>'(' then
   begin
	if (s[FP-1]<>'*') and (s[LP+1]<>'*') then
	 begin
		OutS:=s1;
		delete(s,FP,LP-FP+1);
		insert(OutS,s,FP);
	 end
	else
	 begin
	 if (s[FP-1]='*') and (s[LP+1]='*') then
		 begin
			OutS:=OutS+ymnog(ymnog(s[FP-2],s1),s[LP+2]);
			delete(s,FP-2,LP-FP+5);
			insert('('+OutS+')',s,FP-2);
		 end;
   		if (s[FP-1]='*') then
		 begin
			  OutS:=OutS+ymnog(s[FP-2],s1);
			delete(s,FP-2,LP-FP+3);
		 	insert('('+OutS+')',s,FP-2);
		 end;
		  if (s[LP+1]='*') then
		 begin
			  OutS:=OutS+ymnog(s[LP+2],s1);
			delete(s,FP,LP-FP+3);
			insert('('+OutS+')',s,FP);
		 end;
	 end;
   end
  else
   begin
		delete(s,FP,LP-FP+1);
		LP2:=Pos(')',s);
		LP:=FP+1;
		s2:=copy(s,LP+1,LP2-LP-1);
		delete(s,LP-1,LP2-LP+2);
		insert('('+ymnog(s1,s2)+')',s,FP);
   end;
 end;
 writeln;
writeln('OTBET: ',s);
End;

Поделиться сообщением


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

помогите кто чем может пожалуйсто

 

 

На языке ассемблера разработать подпрограмму управления ЦАП. Исходные данные – максимальное и требуемое выходное напряжение. Результат работы подпрограммы – полученный код для заданного напряжения.

АЦП PC-LabCard 812PG

вот задачка

Поделиться сообщением


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

Помогите с прогой разобраться...: Элемент матрицы называется локальным минимумом, если он строго меньше всех имеющихся у него соседей. Подсчитать колво локальных минимумов заданой матрицы размером 3 на 3.

Найти сумму модулей элементов, расположенных выше главной диагонали...

Подскажите пожалуста как сделать По модулю...

 #include<stdio.h>
#include<conio.h>
#include<string.h>
main()
{
int mas[100][100];
int i,j,n,s,m,k,min;
k=0;
s=0;
clrscr();
printf ("vvedite kol-vo ctrok\n");
scanf("%d",&n);
printf("vvedite kol-vo ctolbcov\n");
scanf("%d",&m);
printf("vvedite e‹emeHT MaTrici \n");
for(i=0;i<n;i++)
for(j=0;j<m;j++)
{
scanf("%d",&mas[i][j]);
}
min=mas[0][0];
{
for(i=0;i<n;i++)
for(j=0;j<m;j++)
if(mas[i][j]<min) min=mas[i][j];
printf("min= %d\n",min);
for(i=0;i<n;i++)
for(j=0;j<m;j++)
if(min==mas[i][j]) k=k+1;
printf("kol-vo lokaJlbhblx minimymoB= %d\n",k);
}
s=0;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
if(i<j) s=s+mas[i][j];
printf("cyma modyleu paBHa= %d\n",s);
return 0;
}

Поделиться сообщением


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

1.Вывести все представления натурального числа N суммой натуральных чисел. Считается, что перестановка слагаемых нового способа представления числа N не дает.

 

2.Заданы, декартовы координаты вершины треугольника: A (x1, y1), B (x2, y2), C (x3, y3). Определить находится ли заданная точка P(x, y) внутри треугольника.

 

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

Поделиться сообщением


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

2.Заданы, декартовы координаты вершины треугольника: A (x1, y1), B (x2, y2), C (x3, y3). Определить находится ли заданная точка P(x, y) внутри треугольника.

Знаешь такую вещь как уравнение плоскости? короче вычисляешь нормаль к плоскости ( просто умножай к примеру [AB,AC] ) точку можешь использовать например вершину, тогда у тебя будет такое уравнение:

Nx(x - x0) + Ny( y - y0) + Nz( z - z0) = 0

,где Nx, Ny, Nz - это координаты нормали ( которую ты векторным произведением получил ), а x0, y0, z0 - координаты вершины ( к примеру точка А), если ты подставишь в это уравнение координаты твоей точки ( любой ), то если уравнение будет равно 0, значит точка лежит на плоскости ( а если не равно, значит не лежит). А вообще почитай учебник по векторной алгебре... А вообще у тебя тут программирования почти нет...

ЗЫ чтоб вычислить нормаль нужно вот что:

Nx = vy1*vz2 - vz1*vy2

Ny = vx1*vz2 - vz1*vx2

Nz = vx1*vy2 - vy1*vx2

где vx1, vy1, vz1 - координаты первого вектора; vx2, vy2, vz2 - координаты второго вектора.

чтоб вычислить вектор, если есть 2 точки, то нужно из начала вычитать конец.

Изменено пользователем Laster

Поделиться сообщением


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

Помогите пожалуста...

нужна прога на С++:

 

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

 

помогите если кому не трудно...

Поделиться сообщением


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

Народ ещё раз help plz! B)

С++

Условие: Задан массив целых чисел.Переменной z присвоить значение true, если в массиве нет нулевых эллементов и false в противном случае.

 

Заранее спс. :)

Поделиться сообщением


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

Народ ещё раз help plz! :bang:

С++

Условие: Задан массив целых чисел.Переменной z присвоить значение true, если в массиве нет нулевых эллементов и false в противном случае.

 

Заранее спс. :bang:

Ну вообще наглеж... слабо цикл написать и если встретился 0ой элемент сделать флаг в false и до цикла сделать этот флаг true

 

Помогите пожалуста...

нужна прога на С++:

 

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

 

помогите если кому не трудно...

#include <stdio.h>

void main()
{
char* str = new char[128];
char count = 0;
gets( str );//128 символов максимум вводим
char prev = 0, last = 0;
for( int i = 0; i < 128; i++ )
{
	if (str[i]= ' ')
	{
		if (i > 0) 
			last = str[i-1];

		if ( prev && last && (prev==last)&&(prev!=' ') && ( last != ' ') )
			count++;

		if (i < 128)
			prev = str[i + 1];
	}
}
printf( "Program found %d words\n",count );
delete[] str;
}

А если у тебя еще встречаются какие-то символы, а тебе нужны только буквы, то пиши так

if ( ((prev > 'A') && ( prev < 'z' ) ) && ((last > 'A') && ( last < 'z' )) && (prev == last ) )
		   count++;

Изменено пользователем Laster

Поделиться сообщением


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

Ну вообще наглеж... слабо цикл написать и если встретился 0ой элемент сделать флаг в false и до цикла сделать этот флаг true

 

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

Изменено пользователем klaus_

Поделиться сообщением


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

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

.....
#define N 100

void main()
{
 int mas[N];
 char flg = 1;
 //делай ввод сам
 for( int i = 0; i < N; i ++)
{
 if ( !mas[i] ) flg = 0;
} 
 //и вывод тоже
}
.....

Изменено пользователем Laster

Поделиться сообщением


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

.....
#define N 100

void main()
{
 int mas[N];
 char flg = 1;
 //делай ввод сам
 for( int i = 0; i < N; i ++)
{
 if ( !mas[i] ) flg = 0;
} 
 //и вывод тоже
}
.....

Огромное спасибо, а что означает #define N 100 ?

Поделиться сообщением


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

Народ нужно 3 проги на бейсике к 1 числу, проги такого типа

 

50. Известна следующая информация о продажах товаров: номер месяца, название товара, объем продаж, цена за единицу товара. Определить месяцы, в которые была получена максимальная прибыль. Если таких месяцев несколько, то вывести все найденные значения. При решении задачи учесть, что в одном месяце может быть продано несколько разных товаров. Составить список проданных товаров. Исходные данные и полученные результаты вести на форму. Для решения задачи составить следующие подпрограммы:

? процедуру ввода массива из n записей, 3 ? n ? 20;

? процедуру вывода массива;

? функцию подсчета прибыли за один месяц. Номер месяца передается в качестве параметра подпрограммы;

? процедуру формирования списка проданных товаров

 

 

естественно за вознагрождение. Кому интересно стучите в аську 479149103, договоримся

Поделиться сообщением


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

Огромное спасибо, а что означает #define N 100 ?

Это означает определение константы с имянем N и значением 100 =)

Изменено пользователем 0ops

Поделиться сообщением


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

Может вы и мне поможете!? мое задание звучало как : написать формулу y=z/x+x*x-16z в машинном коде (на тетрадном листе ) :)

Поделиться сообщением


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

Может вы и мне поможете!? мое задание звучало как : написать формулу y=z/x+x*x-16z в машинном коде (на тетрадном листе ) <_<

ты имеешь ввиду ассемблер или именно в виде чисел, как это выглядет в скомпиленной проге?

Поделиться сообщением


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

Здравствуйте, уважаемые програмисты.

 

Такой вот вопросик. Не поможете ли составить на Delphi програмку суть которой сводится к следующему.

Нужен массив, в который ручками (whriteln, readln) вводятся 5 параметров для 5-ти объектов.

Например:

operator_1, количество принятых звонков за понедельник, вторник, среду, четверг, пятницу.

operator_2 и т.д.

 

Затем все это все выводится на экран в виде таблички, после чего делается действие по выводу на экран объектов (operator'oв) которые, к примеру приняли более 100 звонков каждый день, или тех, у кого общее количество принятых звонков за 5 дней, например не менее 100.

 

Графики никакой не надо =)

 

Код целиком, это было бы шикарно, так как я в этом деле не особа опытна, но хватило бы и наводок со смыслом..

 

Большое спасибо, и простите за наглость =)

Поделиться сообщением


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

Laster, я имею ввиду в виде чисел, и нам сказали что ассемблер в данном случае использовать нельзя!

Ща что-нить придумаю... а есть привязка к архитектуре???

 

Вот что я нашел, я сделал прогу, и сделал логгирование, и нашел это:


; 4	: 	y=z/x+x*x-16*z;

 00026	0f be 45 ef		movsx	 eax, BYTE PTR _z$[ebp]
 0002a	0f be 4d e3	movsx	 ecx, BYTE PTR _x$[ebp]
 0002e	99		 		cdq
 0002f	f7 f9		 		idiv	 ecx
 00031	0f be 55 e3	movsx	 edx, BYTE PTR _x$[ebp]
 00035	0f be 4d e3	movsx	 ecx, BYTE PTR _x$[ebp]
 00039	0f af d1	 		imul	 edx, ecx
 0003c	03 c2	   		add	 eax, edx
 0003e	0f be 55 ef		movsx	 edx, BYTE PTR _z$[ebp]
 00042	c1 e2 04   		shl	 edx, 4
 00045	2b c2	   		sub	 eax, edx
 00047	88 45 fb		mov	 BYTE PTR _y$[ebp], al  

Изменено пользователем Laster

Поделиться сообщением


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

Ща что-нить придумаю... а есть привязка к архитектуре???

 

Вот что я нашел, я сделал прогу, и сделал логгирование, и нашел это:


; 4	: 	y=z/x+x*x-16*z;

 00026	0f be 45 ef		movsx	 eax, BYTE PTR _z$[ebp]
 0002a	0f be 4d e3	movsx	 ecx, BYTE PTR _x$[ebp]
 0002e	99		 		cdq
 0002f	f7 f9		 		idiv	 ecx
 00031	0f be 55 e3	movsx	 edx, BYTE PTR _x$[ebp]
 00035	0f be 4d e3	movsx	 ecx, BYTE PTR _x$[ebp]
 00039	0f af d1	 		imul	 edx, ecx
 0003c	03 c2	   		add	 eax, edx
 0003e	0f be 55 ef		movsx	 edx, BYTE PTR _z$[ebp]
 00042	c1 e2 04   		shl	 edx, 4
 00045	2b c2	   		sub	 eax, edx
 00047	88 45 fb		mov	 BYTE PTR _y$[ebp], al  

А ты уверен, что в задании рассматриваются целые числа?

Поделиться сообщением


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

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас