Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

10.12.2008, 17:20
|
|
Познающий
Регистрация: 03.07.2008
Сообщений: 65
Провел на форуме: 170237
Репутация:
4
|
|
Сообщение от jawbreaker
PHP код:
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
string vowels = "aeiou";
int countvowels(const string& s)
{
int res = 0;
for(int i = 0; i < s.length(); i++)
for(int j = 0; j < vowels.length(); j++)
if (s[i] == vowels[j])
res++;
return res;
}
int main()
{
string a, res;
int max = -1;
while(getline(cin, a)) // читаем строку пока не встречаем символ перевода строки
{
if(a == "end")// end означает конец ввода
break;
cout << a << "\n";
cout << countvowels(a) << "\n";
if (countvowels(a) > max)
{
max = countvowels(a);
res = a;
}
}
cout << max << "\n" << res;
cin.get();
return 0;
}
О спс прямо то,что надо!!!=))
|
|
|

10.12.2008, 21:51
|
|
Познающий
Регистрация: 03.07.2008
Сообщений: 65
Провел на форуме: 170237
Репутация:
4
|
|
Еще по строкам
Возник еще вопрос.
Вот есть код:
PHP код:
#include<stdio.h>
#include<string.h>
#include<conio.h>
#include<iostream>
#define YES 1
#define NO 0
void main()
{
const int m=10;
char string[m][80],d;
int n,i,j,beg;
int inword=NO;
i=0;
while (gets(string[i])!=NULL)
i++;
int k=i;
printf("\n");
for(i=0;i<k;i++)
{
n=strlen(string[i][j]);
for(j=0;j<=n;j++)
if(string[i]+j)==' ' || string[i]+j=='\0' || string[i]+j==',')
{if(inword==YES)
{
d=*(string[i]+j-1);
*(string[i]+j-1)=*(string[i]+beg);
*(string[i]+beg)=d;
}
inword=NO;
}
else
if(inword==NO)
{inword=YES;beg=j;}
}
for(i=0;i<k;i++)
puts(string[i]);
getch();
}
Поидеи он должен выпонять следующую функцию:Вводится текст не больше 10 строк и не более 80 символов в строке и меняет у каждого слова последнюю букву!Но он почемуто не хочет этого делать=( Кто подскажет в чем косяк в коде???
|
|
|

11.12.2008, 00:03
|
|
Участник форума
Регистрация: 03.01.2008
Сообщений: 156
Провел на форуме: 414311
Репутация:
110
|
|
Ну во первых код в корне неправильный )
Если мы в string[i][j] имеем массив строк то, чтото в этом роде [WARNINGZ : НЕ ТЕСТИРОВАЛОСЬ]
Код:
//должно менять первую и последнюю букву в каждом слове
//работать должно только со строчными буквами a-z
for(int i = 0; i < iNumOfRows - 1; i++)
{
for(int j = 0; j < iNumOfCols - 1; j++)
{
if(((string[i][j] == ' ') || (string[i][j] == '\0')) && (inWordFlag == 1))
{
inWordFlag = 0;
string[i][j-1] = cFirstChar;
}
else if((string[i][j] > 'a') && (string[i][j] < 'z') && (inWordFlag == 0))
{
inWordFlag = 1;
cFirstChar = string[i][j];
}
}
}
А с массивами ты работать не умеешь ...
|
|
|

11.12.2008, 22:56
|
|
Постоянный
Регистрация: 28.12.2007
Сообщений: 804
Провел на форуме: 4861890
Репутация:
1400
|
|
срочно нужно написать программу моделирования работы автобусного парка.
Сведения о каждом автобусе содержат:
1. Номер автобуса
2. Фамилию и инициалы водителя
3. Номер маршрута
Программа должна обеспечить выбор с помощью меню и выполнение одной из след. операций:
1. Начальное форматирование данных о всех автобусах в парке в виде списка (ввод с клавиатуры или из файла).
2. Имитация выезда автобуса из парка: вводится номер автобуса, программа удаляет данные об этом автобусе из списка автобусов, находящихся в парке и записывает эти данные в список автобусов, находящихся на маршруте.
это нужно написать на С++ с меня незаржавеет 
|
|
|

12.12.2008, 00:47
|
|
Познающий
Регистрация: 01.12.2008
Сообщений: 34
Провел на форуме: 238716
Репутация:
20
|
|
Ребят, нужна помощь. Надо написать программу на паскале, который я уже 3 года в глаза не видел... Нужно чтобы программа вычисляла и выводила на экран таблицу значений функции y = система: первое уравнение: sqrt(x^3+2x-1), при x<2; второе уравнение: sqrt^5((1)/(x^2+3x-5)), при x>=2. x принадлежит отрезку [-1;3], шаг изменения 0,05.
Если кто возьмется, icq:455422511
|
|
|

12.12.2008, 01:34
|
|
Постоянный
Регистрация: 15.07.2008
Сообщений: 444
Провел на форуме: 1417964
Репутация:
665
|
|
Сообщение от 5w17ch3r
Если кто возьмется, icq:455422511
утром напишу (с 9 по м.). поздновато уже......
|
|
|

12.12.2008, 01:56
|
|
Участник форума
Регистрация: 07.07.2008
Сообщений: 161
Провел на форуме: 1027635
Репутация:
234
|
|
Alexandr II
вот, набросал перед сном:
PHP код:
#include <iostream>
#include <vector>
#include <string>
using namespace std;
struct Bus
{
int BusNumber;
int RouteNumber;
string driver;
};
void ShowList(const vector<Bus> & buses)
{
for (int i = 0; i < buses.size(); i++)
{
cout << "Bus Number: " << buses[i].BusNumber
<< " Route Number: " << buses[i].RouteNumber
<< " Driver name: " << buses[i].driver << "\n";
}
}
int main()
{
vector<Bus> buses;//список автобусов стоящих в парке
char ch;
cout << "Type y for keyboard and n for file\n";
cin >> ch;
if(ch == 'y')
{
cout << "Enter a number of buses!\n";
int n;
cin >> n;
Bus temp;
for (int i = 0; i < n; i++)
{
cin >> temp.BusNumber >> temp.RouteNumber >> temp.driver;
buses.push_back(temp);
}
}
else
if (ch == 'n')
{
freopen("input.in", "r", stdin);
int n;
cin >> n;
Bus temp;
for (int i = 0; i < n; i++)
{
cin >> temp.BusNumber >> temp.RouteNumber >> temp.driver;
buses.push_back(temp);
}
}
else
{
cout << "Error!\n";
return 0;
}
ShowList(buses);
vector<Bus> inroute; // список автобусов отправившихся в далёкий путь
int num;
cout << "Enter a bus number:\n";
cin >> num;
for (int i = 0; i < buses.size(); i++)
{
if(buses[i].BusNumber == num)
{
inroute.push_back(buses[i]);
buses.erase(buses.begin()+i);
}
}
ShowList(inroute);
cin.get();
cin.get();
ShowList(buses);
cin.get();
cin.get();
return 0;
}
|
|
|

12.12.2008, 02:12
|
|
Banned
Регистрация: 04.06.2008
Сообщений: 402
Провел на форуме: 2267346
Репутация:
719
|
|
Нужно реализовать алгоритм Хаффмана на Pascal-е
Об алгоритме Хаффмана
вот что есть. знаю, что надо перекроить сильно =))
хэлп ми если кому не очень трудно
Код:
program haffman;
USES CRT;
Label link1;
Var S, R:array[1..7] of integer; {начальный массив и упорядоченный}
wordshifr:array[1..10] of string;
{шифрованное двоичным кодом слово}
stroka, st, word:string;
{stroka - то что вводим, st - путь, word - слово для шифрования}
f:file;
z, x, c, v, b, n, m, def:Char;
{символы алфавита, def - символ, который читается из заданной строки. для сравнения с символами данного алфавита}
n1, n2, n3, n4, n5, n6, n7, symbol: integer;
{количество символов, symbol - меняется в цикле для записи количества символов }
shag, min:integer;
{счетчик шагов цикла, min - минимальное число в начальном массиве}
z1, x1, c1, v1, b1 ,n1 ,m1:string;
{двоичные коды символов}
begin
ClrScr;
{объявляем переменные}
z:=z;
x:=x;
c:=c;
v:=v;
b:=b;
n:=n;
m:=m;
n1:=0;
n2:=0;
n3:=0;
n4:=0;
n5:=0;
n6:=0;
n7:=0;
{считаем строку для составления алгоритма Хаффмана}
write('vvedite stroku iz bukv z,x,c,v,b,n,m');
readln(stroka);
{укажем файл}
write('ukajite put k failu i ego imya -');
readln(st);
Assign(f, st);
rewrite(f);
write(f, stroka);
{посчитаем количество каждого из 7 символов}
while not eof(f) do
begin
read(f,def);
if def=z then n1:=n1 + 1;
if def=x then n1:=n2 + 1;
if def=c then n1:=n3 + 1;
if def=v then n1:=n4 + 1;
if def=b then n1:=n5 + 1;
if def=n then n1:=n6 + 1;
if def=m then n1:=n7 + 1;
end;
close(f);
{запишем в первый массив все полученные количества символов}
symbol:=n1;
{объявим symbol = n1 , чтобы записать количество символов Z в первую ячейку}
link1:
for shag:=1 to 7 do
begin
S[shag]:=symbol;
if symbol=n1 then symbol:=n2;
GOTO link1;
if symbol=n2 then symbol:=n3;
GOTO link1;
if symbol=n3 then symbol:=n4;
GOTO link1;
if symbol=n4 then symbol:=n5;
GOTO link1;
if symbol=n5 then symbol:=n6;
GOTO link1;
if symbol=n6 then symbol:=n7;
GOTO link1;
if symbol=n7 then symbol:=n7;
end;
{получили массив, заполненный целыми числами = количеству каждого символа в строке}
{перенесем элементы массива в порядке убывания}
for shag:=1 to 7 do begin
while (shag+1)<=7 do
begin
If S[shag]<S[shag+1] then min:=S[shag];
end;
R[8-shag]:=min;
end;
z1:="0";
x1:="10";
c1:="110";
v1:="1110";
b1:="11110";
n1:="111110";
m1:="1111111";
{получили коды символов}
write('napishite slovo, sostoyachee iz bukv alfavita, chtobi zashifrovat ego - ');
Readln(word);
Assign(f, 'C:\811\recent.txt');
rewrite(f);
write(f, word);
{шифруем слово}
shag:=1;
while not eof(f) do
begin
read(f,def);
if def=z then wordshifr[shag]:=z1;
if def=x then wordshifr[shag]:=x1;
if def=c then wordshifr[shag]:=c1;
if def=v then wordshifr[shag]:=v1;
if def=b then wordshifr[shag]:=b1;
if def=n then wordshifr[shag]:=n1;
if def=m then wordshifr[shag]:=m1;
shag:=shag+1;
end;
close(f);
write('slovo ',word,'zashifrovano! rezultat - ');
writeln(wordshifr);
end.
еще есть вот такое
Код:
program huffman;
const sb=256;
type obr=record
vl:longint;
len:byte
end;
var a:array[0..511]of longint;
b:array[byte]of word;
c:array[0..1,byte]of word;
st:array[byte]of byte;
j,obc:byte;
f,g:file;
obb,size:longint;
brp,brm,bwp:word;
bufr,bufw:array[0..sb-1]of byte;
reof:boolean;
o:array[byte]of obr;
procedure opget(var f:file;s:string);
begin
assign(f,s);
reset(f,1);
blockread(f,bufr,sb,brm)
end;
procedure init;
begin
brp:=0;
brm:=0;
bwp:=0;
obb:=0;
obc:=0;
reof:=false
end;
procedure putc(var f:file;b:byte);
begin
if bwp=sb then begin blockwrite(f,bufw,sb); bwp:=0 end;
bufw[bwp]:=b;
inc(bwp)
end;
procedure clput(var f:file);
begin
putc(f,obb shr 24);
blockwrite(f,bufw,bwp);
close(f)
end;
procedure out(var out:file;ch:byte);
var glk:byte;
begin
obb:=obb or o[ch].vl shl (32-o[ch].len-obc);
inc(obc,o[ch].len);
while obc>=8 do begin
glk:=obb shr 24;
putc(out,glk);
obb:=obb shl 8;
dec(obc,8)
end
end;
procedure sift(l,r:word);
var i,j,x:word;
begin
i:=l; j:=l+l+1; x:=b[l];
if (j<r)and(a[b[j]]>a[b[j+1]])then inc(j);
while (j<=r)and(a[x]>=a[b[j]])do begin
b[i]:=b[j]; i:=j; j:=j+j+1;
if (j<r)and(a[b[j]]>a[b[j+1]])then inc(j)
end;
b[i]:=x
end;
procedure obh(i:word;p:byte);
begin
if i<256 then begin
o[i].len:=p;
o[i].vl:=0;
for j:=0 to p-1 do o[i].vl:=o[i].vl shl 1+st[j]
end
else begin
st[p]:=0;
obh(c[0,i-256],p+1);
st[p]:=1;
obh(c[1,i-256],p+1)
end
end;
procedure build;
var i,p:word;
begin
for i:=0 to 255 do b[i]:=i;
for i:=127 downto 0 do sift(i,255);
p:=0;
for i:=255 downto 1 do begin
c[0,p]:=b[0];
b[0]:=b[i];
sift(0,i-1);
c[1,p]:=b[0];
b[0]:=p+256;
a[p+256]:=a[c[0,p]]+a[c[1,p]];
sift(0,i-1);
inc(p)
end;
obh(p+255,0)
end;
procedure getc(var f:file);
var ch:byte;
begin
ch:=bufr[brp];
out(g,ch);
inc(a[ch]);
inc(brp);
if brp=brm then begin
if eof(f) then reof:=true else build;
blockread(f,bufr,sb,brm); brp:=0
end
end;
begin
init;
opget(f,paramstr(1));
size:=filesize(f);
assign(g,'test.glk');
rewrite(g,1);
blockwrite(g,size,4);
for j:=0 to 255 do a[j]:=1;
build;
while not reof do getc(f);
clput(g)
end.
что нужно:
считать строку символов, состоящую из 5 букв (алфавит), посчитать вероятность каждой появления каждой буквы, создать динамическое дерево, которое присваивает двоичный код каждому символу.
не откажусь и от просто частичных фрагментов, думаю смогу разобраться. прост еще не прошли динамические указатели
кто поможет благодарность и небольшой денежный бонус ( щас не при деньгах  )
|
|
|

12.12.2008, 02:53
|
|
Постоянный
Регистрация: 28.12.2007
Сообщений: 804
Провел на форуме: 4861890
Репутация:
1400
|
|
Сообщение от jawbreaker
Alexandr II
вот, набросал перед сном:
спс большое  спас 
|
|
|

12.12.2008, 15:18
|
|
Постоянный
Регистрация: 15.07.2008
Сообщений: 444
Провел на форуме: 1417964
Репутация:
665
|
|
Сообщение от 5w17ch3r
Ребят, нужна помощь. Надо написать программу на паскале, который я уже 3 года в глаза не видел... Нужно чтобы программа вычисляла и выводила на экран таблицу значений функции y = система: первое уравнение: sqrt(x^3+2x-1), при x<2; второе уравнение: sqrt^5((1)/(x^2+3x-5)), при x>=2. x принадлежит отрезку [-1;3], шаг изменения 0,05.
Если кто возьмется, icq:455422511
Код:
program zad;
uses CRT;
var x,y: real;
begin
ClrScr;
writeln ('--------------------- Funcktion --------------');
x:=-1;
while x< 3 do begin
if x<2 then
begin
y:=sqr(exp(3*ln(abs(x)))+2*x-1);
end
else
begin
y:=x;
end;
x:=x+0.05;
writeln('y=',y);
end;
end.
мде...сколько спотыкалась. сама все забыла..
В общем, вторую функцию скорректируй. Замени на свою, мне не понравилась твоя запись.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|