Показать полную графическую версию : нужны задания практические по С
4. изменяемый список (рекомендуется двухсвязный)
5. быстрая сортировка этого списка.
где почитать про изменяемые списки? поисковики меня отправляют на форумы по дельфи и паскалю.
перед началом почитайте C Увлекаться не советую, ибо хороший программист на С - плохой на С++. Если не работают typedef - надо заменить их на #define. Книжку советую одну: Страуструп, "программирование на С++". Здесь, на сайте можно закачать. Древняя, но такая хорошая! Про двухсвязный список там целая глава. С быстрой сортировкой можно разобраться, посмотрев алгоритмы std::sort, std::stable_sort. А можно сильно мозги не забивать, а просто пользоваться ими. Они самооптимизируются и под вектора и под списки. Работают медленней, чем сортировка по хешу, но если надо, в новейших версиях библиотек поставщиков компиляторов, как правило, такие вещи есть. А вообще, если данных много, то лучше воспользоваться специализированным для них хранилищем - SQL-сервером, которое и выберет и отсортирует с максимальной возможной скоростью.
какой компилятор посоветуете использовать для изучения С++ ? работаю на вин2003, если такие существуют , то лучше бесплатный )
билдер С++ или MS Visual C++ ? правда оба не бесплатных 0=)
устанавливаю visual C++ express, http://msdn.microsoft.com/vstudio/express/downloads/default.aspx кто нибудь работал в нем? чего о нем можно сказать хорошего и плохого?)
для обучения вроде самое то, и бесплатно и все вроде есть(для начинающего), только вот почему то у меня без namespace отказывается он работать, т.е. программировать только по новому стандарту? а у Страуструпа в книге описание идет по старому 8( так что параллельно держу открытой литературу Герберта Шилдта по С++.
а у Страуструпа в книге описание идет по старому 8(
Какое издание? С третьего (которому уже почти 8 лет!) идет по "новому" стандарту. Если внимательно читать, то почти в самом начале книги (как раз после введения понятия namespace) он пишет, что для экономии места std:: или using namestpace std; он в примерах будет опускать.
у меня видимо самое первое издание))) вот оно http://dump.ru/files/2/2434794630/ , можно ссылку на последнее издание? 8)
http://cclib.nsu.ru/projects/gnudocs/texts/cpptut.html - вот ещё, но там тоже ничего нет про новый стандарт, или нового издания нет в электронном виде?
про namespace - это мелочи, на которые вы зря обращаете внимание. Один раздогадался - и на всю жизнь. Почитайте про двусвязные списки.
возможно не в тот раздел пишу, и это связано с ОС , но исправить не знаю где. Среда MS Visual C++ Express, пишу консольный проект, при запуске кирилица отображаеца "кракозябрами", где и как это можно исправить?
класс:
class vector {
int* v;
int sz;
public:
vector(int); // конструктор
~vector(); // деструктор
int size() { return sz; }
void set_size(int);
int& operator[](int);
int& elem(int i) { return v[i]; }
};
определяем конструктор:
vector::vector(int s)
{
if (s<=0) error("плохой размер вектора"); sz="s;" v="new" int[s]; }
и функцию:
int& vector::operator[](int i)
{
if(i<0 || sz<="i)" error("индекс выходит за границы"); return v[i]; }
почему ";" в sz="s;" и ")" в if(i<0 || sz<="i)" внутри кавычек?
bool
возможно не в тот раздел пишу, и это связано с ОС , но исправить не знаю где. Среда MS Visual C++ Express, пишу консольный проект, при запуске кирилица отображаеца "кракозябрами", где и как это можно исправить?По форуму поищите. Неоднократно поднимавшаяся тема.
По поводу кавычек. Вы вообще свой пример скомпилировать пытались? И не получится. Не пользуйтесь тем источником, из которого пример. Ибо бяка.
Diseased Head
28-03-2007, 23:24
bool
при запуске кирилица отображаеца "кракозябрами", где и как это можно исправить?При компиляции что-ли?
А про кавычки, может так:
sz="s";и
if(i<0 || sz<=i)эт по логике, а так ivank верно сказал --- БЯКА!
trinarry code GO? ........................ GO!!! => not bool
эт по логике, а так ivank верно сказал --- БЯКА!
по логике я тоже догадался как нужно ставить)))))))))) дело в том, что во всех учебниках которые я нашел, Бьерна Страустрапа такая бяка. Не знаю, мб перенабирали текст так криво. Компилировал я так, как по логике =) просто интересно почему весь учебник так перелопачен, ведь так хвалили литератур эту.
Я пользуюсь вот вариантом книжки Страуструпа, который прикрепил во вложении. Вот честно, никаких упомянутых глюков не нашёл. Посмотрите, не пожалеете ;)
Спасибо =) , действительно все исправлено, да ещё и примеры есть к каждой главе в архиве
просто интересно почему весь учебник так перелопачен, ведь так хвалили литератур эту.
Потому что хвалили литературу, а не результат труда криворуких наборщиков.
у меня вопрос по компиляторам снова 8)
вот код:
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
char alpha[] = "abcdefghijklmnopqrstuvwxyz";
int sz = strlen(alpha);
for(int i=0;i<sz;i++){
char ch = alpha[i];
cout << '\'' << ch << '\''
<< " = " << int(ch) <<
" = " << oct(ch) << "\n";
}
return 0;
}
ошибка в преобразовании символьного типа в шестнадцатиричную запись:
c:\documents and settings\администратор.comp\мои документы\visual studio 2005\projects\5.1\5.1\5.1.cpp(17) : error C2664: 'std::oct' : cannot convert parameter 1 from 'char' to 'std::ios_base &'
все остальное работает, вопрос: дело в компиляторе или ошибка в коде?
компилятор visual C++ express
Надо так:
cout << '\'' << ch << '\''
<< " = " << int(ch) <<
" = " << oct << ch << dec << "\n";
пардон, в восьмиричную
ivank
спасибо)
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.