ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

13.12.2008, 01:26
|
|
Участник форума
Регистрация: 03.01.2008
Сообщений: 156
Провел на форуме: 414311
Репутация:
110
|
|
2HencH_MaN
Уважай тех к кому обращаешься за помощью. Код, который ты привел, просто нечетабелен. Мне реально влом напрягаться, вчитываясь в эту кашу. Раставь нормально отступы, сгруппируй определения и тд. Тебе же самому будет приятно смотреть, на красиво структурированный код.
Да и в чём собственно вопрос?
|
|
|

13.12.2008, 21:51
|
|
Новичок
Регистрация: 08.02.2008
Сообщений: 19
Провел на форуме: 63941
Репутация:
0
|
|
Сообщение от izlesa
2HencH_MaN
Уважай тех к кому обращаешься за помощью. Код, который ты привел, просто нечетабелен. Мне реально влом напрягаться, вчитываясь в эту кашу. Раставь нормально отступы, сгруппируй определения и тд. Тебе же самому будет приятно смотреть, на красиво структурированный код.
Да и в чём собственно вопрос?
Вопрос в том что упорядочивание не производиться
PHP код:
#include<iostream>
#include<alloc.h>
#include<conio.h>
using namespace std;
int main()
{
int i,j,x;
cout<<endl<<"m=";
int m;
cin>>m;
cout<<endl<<"n=";
int n;
cin>>n;
if(m<1||n<1) return -1;
double**a=new double*[m];
for(i=0;i<m;i++)
{
a[i]=new double[n];
for(int j=0;j<n;j++)
{
cout<<"a["<<i<<"]["<<j<<"]=";
cin>>a[i][j];
}
}
int k;
int*b=new int[m];
int min,l;
i=0;x=0;
while(i<m)
{
int min=a[i][0],max=a[i][0],l;
for(int j=1;j<n;++j)
{
if (a[i][j]<min) min=a[i][j];
if (a[i][j]>max) max=a[i][j];
}
l=(2*m-i);
b[l]=max;
b[i]=min;
++i;
}
int p;
for (p=0;p<m;p++){
cout<<"b["<<p<<"]="<<b[p];}
getch ();
return 0;
}
Последний раз редактировалось HencH_MaN; 13.12.2008 в 21:53..
|
|
|

13.12.2008, 03:12
|
|
Banned
Регистрация: 08.04.2005
Сообщений: 446
Провел на форуме: 2187381
Репутация:
518
|
|
наверно у него утечка памяти 8))) так активно new использует что даже забыл что есть и delete!
|
|
|

13.12.2008, 11:55
|
|
Banned
Регистрация: 02.01.2008
Сообщений: 195
Провел на форуме: 523549
Репутация:
301
|
|
задачи на паскале:
Код:
_http://contest.samara.ru/ru/contests/139/
ps: не для слабонервных 
|
|
|

13.12.2008, 13:00
|
|
Постоянный
Регистрация: 15.07.2008
Сообщений: 444
Провел на форуме: 1417964
Репутация:
665
|
|
Сообщение от N1K70
задачи на паскале:
Код:
_http://contest.samara.ru/ru/contests/139/
ps: не для слабонервных 
и что ты этим хотел сказать?
|
|
|

13.12.2008, 22:26
|
|
Постоянный
Регистрация: 08.04.2007
Сообщений: 853
Провел на форуме: 5812656
Репутация:
1540
|
|
Если кому-нибудь когда-нибудь понадобится построение ПОЛИЗ(польской инверсной записи - парсинг выражений). То вот вам моя его реализация на c#:
Код:
public void Parse(string text)
{
Stack<char> stack = new Stack<char>(); //рабочкий стек
string ret = ""; //собственно сам полиз
for (int i = 0; i < text.Length; i++)
{
if (text[i] == '(') stack.Push('(');
if (char.IsLetter(text[i]) || char.IsDigit(text[i])) ret += text[i];
if (text[i] == '-'||text[i]=='*'||text[i]=='/'||text[i]=='+')
{
while (stack.Count!=0 && stack.Peek() != '(') // выталкиваем все с большим приоритетом
{
char a = stack.Pop(); //вынимаем...
if (GetOperationPriory(text[i]) < GetOperationPriory(a)) ret += a;
}
stack.Push(text[i]);
}
if (text[i] == ')')
{
while(stack.Count!=0&&stack.Peek()!=')')
{
char k = stack.Pop();
if (k != ')'&&k!='(') ret += k;
}
}
}
if (stack.Count != 0)
{
while (stack.Count != 0)
{
if (stack.Peek() != '(') ret += stack.Pop();
else stack.Pop();
}
}
label2.Text = ret;
}
private int GetOperationPriory(char sym) //приоритет операций
{
if (sym == '+') return 1;
if (sym == '-') return 2;
if (sym == '*') return 3;
if (sym == '/') return 4;
else return 0;
}
|
|
|

13.12.2008, 22:51
|
|
Постоянный
Регистрация: 04.11.2007
Сообщений: 303
Провел на форуме: 811764
Репутация:
119
|
|
2 HencH_MaN, прогу не компилил, но вроде это
for (p=0;p<m;p++)
{
cout<<"b["<<p<<"]="<<b[p];
}
выводит одну строку из массива, попробуй добавить еще один цикл.
Последний раз редактировалось criz; 14.12.2008 в 00:08..
|
|
|

13.12.2008, 23:24
|
|
Участник форума
Регистрация: 03.01.2008
Сообщений: 156
Провел на форуме: 414311
Репутация:
110
|
|
2HencH_MaN
Башка не рабатает, так что вот тебе немножечко моего говнокода;
На что стоит обратить внимания:
1. Нет никакой обработки случаев когда malloc возвращает нулевые указатели вместо валидных. Это фигово, но мне влом.
2. В задании нет указания на то, что надо обменивать элементы - первый с минимальным, последний с максимальным. Так что я сделал затирание максимальным и минимальным значением последнего и первого элемента строки.
3. Костыли в виде инициализации iMax, iMin максимально и минимально возможными значениями для int сделаны по причине нулевой мотивации облагораживать код и вводить дополнительные if. Так, что если хочешь сделать не машиннозависимый код, то вперёд ^____^
Код:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int iRowsSize, iColsSize, iMin, iMax;
int i, j;
int **pCol;
int *pRow;
iRowsSize = iColsSize = 0;
iMax = 0x80000000;
iMin = 0x7FFFFFFF;
printf("Input number of rows : ");
scanf("%d", &iRowsSize);
printf("Input number of columns :");
scanf("%d", &iColsSize);
pCol = (int **)malloc(iColsSize * sizeof(int **));
for(i = 0; i < iColsSize; i++)
{
pRow = (int *)malloc(iRowsSize * sizeof(int));
pCol[i] = pRow;
for(j = 0; j < iRowsSize; j++)
{
printf("Input [%d][%d] element : ", i, j);
scanf("%d", &pCol[i][j]);
}
}
for(i = 0; i < iColsSize; i++)
{
for(j = 0; j < iRowsSize; j++)
{
iMax = (pCol[i][j] > iMax) ? pCol[i][j] : iMax;
iMin = (pCol[i][j] < iMin) ? pCol[i][j] : iMin;
}
pCol[i][0] = iMin;
pCol[i][iRowsSize - 1] = iMax;
iMax = 0x80000000;
iMin = 0x7FFFFFFF;
}
for(i = 0; i < iColsSize; i++)
{
for(j = 0; j < iRowsSize; j++)
{
printf("[%d][%d] element : %d ", i, j, pCol[i][j]);
}
free(pCol[i]);
printf("\n");
}
free(pCol);
return 0;
}
Последний раз редактировалось izlesa; 14.12.2008 в 00:26..
|
|
|

14.12.2008, 12:10
|
|
Новичок
Регистрация: 08.02.2008
Сообщений: 19
Провел на форуме: 63941
Репутация:
0
|
|
Спасибо,izlesa,помог студенту =)
|
|
|

14.12.2008, 14:01
|
|
Новичок
Регистрация: 03.02.2005
Сообщений: 5
Провел на форуме: 48301
Репутация:
0
|
|
подкиньте плиз, исходник простой программы(любой) написанной на FLTK/FLUID
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|