BugTraq.Ru
Русский BugTraq
https://bugtraq.ru/lj/archive/2006/2912.2129.html

студенческо-программистское
29.12.06 21:29 // оригинал
Всякий раз, принимая лабы/зачеты/экзамены, я узнаю массу нового о программировании вообще и о С++ в частности. Казалось бы, все возможные извращения с кодом, характерные для начинающих, за эти годы должны быть посчитаны и надоесть, но всякий раз находится что-нибудь новенькое. Этот семестр принес два новых перла, тщательно воспроизведенных в паре десятков слизанных друг у друга лаб.

Номер раз, частотный анализ.
На входе некий буфер, нужно посчитать расклад по символам. Первый шаг нормальный, заводится массив из 256 элементов, в котором будут лежать счетчики- скажем, int charcount[256]. И на что я натыкаюсь, предполагая увидеть нечто вроде charcount[pBuff[i]]++, где pBuff[i] - очередной символ?
Барабанная дробь:

for(int j = 0; j<256; j++)
{
if(j == pBuff[i])
charcount[j]++;
}


Номер два, доступ к i-му элементу vector'а, скажем, vector<data*> a.
Банальное a[i]? Щас, правильный ответ:

vector<data*>::iterator ii = a.begin();
for(int j = 0; j<a.size(); j++)
{
if(j == i)
break;
ii++;
}
data* pData = *ii;

 
теги: студень  |  обсудить  |  все отзывы (0)  |  обсудить в LJ [1774]
назад «  » вперед

аналогичные материалы
неестественноинтеллектуальное // 29.09.23 16:50
викиисключительное // 20.05.20 21:20
закопать стюардессу // 19.11.15 18:53
роботокурсовое // 18.06.15 03:18
турнирнокурсовое // 10.02.15 17:11
преподавательское // 15.03.13 21:46
шарпоплюсноучебное // 31.10.12 18:24
лабораторное // 14.10.12 00:01
третьекурсное // 21.08.12 17:08
координатное // 20.06.12 15:22
 
последние записи
отпускное // 08.07.24 23:02
синхронное // 13.06.24 18:07
автоматизаторское // 16.05.24 18:12
песчаное // 13.03.24 18:05
макоудаленное // 29.01.24 23:10
разнонедельное // 07.12.23 15:09
qtменюшное // 29.09.23 23:47
неестественноинтеллектуальное // 29.09.23 16:50
основательное // 18.09.23 00:15
отпускное // 06.08.23 00:26





  Copyright © 2001-2024 Dmitry Leonov Design: Vadim Derkach