нужны задания практические по С
-
bool
нужны задания практические по С
вспоминаю и изучаю дальше - С, самостоятельно. Дайте какие нибудь задания пожалуйста, а лучше несколько по возрастающей (по сложности) . Или посоветуйте где можно эти задания найти 8) Уровень начинающего.
-
ivank
Re: нужны задания практические по С
bool
Мне это тоже интересно.
Но у меня такое ощущение что все забыли про C. Про структурное программирование забыли. И непонятно, почему?
Ведь ОО языки предназначены для написания, больших по размеру программ (ну можно и средних). А писать на C++ (и др. ООЯ) маленькие проги это дибилизм. Уж не говоря о C# и Java. Эти мне кажется вобще предназначены только для прикладух и под сеть, а системные проги на них писать, по моему, изврат.
Или я не прав?
Мне это тоже интересно.
Но у меня такое ощущение что все забыли про C. Про структурное программирование забыли. И непонятно, почему?
Ведь ОО языки предназначены для написания, больших по размеру программ (ну можно и средних). А писать на C++ (и др. ООЯ) маленькие проги это дибилизм. Уж не говоря о C# и Java. Эти мне кажется вобще предназначены только для прикладух и под сеть, а системные проги на них писать, по моему, изврат.
Или я не прав?
-
bool
Re: нужны задания практические по С
Цитата:
4. изменяемый список (рекомендуется двухсвязный)
5. быстрая сортировка этого списка.
где почитать про изменяемые списки? поисковики меня отправляют на форумы по дельфи и паскалю.
4. изменяемый список (рекомендуется двухсвязный)
5. быстрая сортировка этого списка.
где почитать про изменяемые списки? поисковики меня отправляют на форумы по дельфи и паскалю.
-
bool
Re: нужны задания практические по С
класс:
Код:
определяем конструктор:
Код:
и функцию:
Код:
почему ";" в
Код:
и ")" в
Код:
внутри кавычек?
Код:
Код: Выделить всё
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
Re: нужны задания практические по С
простенькая программка, меняет местами значения переменных. Передаю адреса переменных в функцию которая меняет(должна
) местами.
Код:
в результате все равно:
Код:
в чем я опять облажался? =(
) местами. Код:
Код: Выделить всё
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
int change(int* i,int* j);
int a = 6;
int b = 7;
change(&a,&b);
cout << "a =" << a << "\n";
cout << "b =" << b << "\n";
return 0;
}
int change(int* i,int* j)
{
int q = *i;
*i = *j;
*j = q;
}в результате все равно:
Код:
Код: Выделить всё
a = 6
b = 7в чем я опять облажался? =(
-
bezumes
Re: нужны задания практические по С
Цитата:
когда подключаю , компилятор ругается на его отсутствие вообще у себя.
Хм.Значит придется обходится без CharToOem. Попробуйте тогда вот так.Хоть что-нибудь должно же работать
Код:
Код:
Вот кстати и windows.h
когда подключаю , компилятор ругается на его отсутствие вообще у себя.
Хм.Значит придется обходится без CharToOem. Попробуйте тогда вот так.Хоть что-нибудь должно же работать

Код:
Код: Выделить всё
#include <locale>
std::wcout.imbue(std::locale(".866"));
wchar_t str[] = L"Привет!!!";
wcout << str << endl;Код:
Код: Выделить всё
#include <locale>
std::wcout.imbue(std::locale(".866"));
std::wstring string(L"Привет");
wcout << string << endl;
wcout << L"Привет !!!" << endl;
unsigned char ch;
ch='Ж';
cout<<ch<<"\t"<<hex<<(int)ch<<endl;
ch='\x86';
cout<<ch<<"\t"<<hex<<(int)ch<<endl;Вот кстати и windows.h
- Вложения
-
Diseased Head
Re: нужны задания практические по С
bool
Мне это тоже интересно.
Но у меня такое ощущение что все забыли про C. Про структурное программирование забыли. И непонятно, почему?
Ведь ОО языки предназначены для написания, больших по размеру программ (ну можно и средних). А писать на C++ (и др. ООЯ) маленькие проги это дибилизм. Уж не говоря о C# и Java. Эти мне кажется вобще предназначены только для прикладух и под сеть, а системные проги на них писать, по моему, изврат.
Или я не прав?
Мне это тоже интересно.
Но у меня такое ощущение что все забыли про C. Про структурное программирование забыли. И непонятно, почему?
Ведь ОО языки предназначены для написания, больших по размеру программ (ну можно и средних). А писать на C++ (и др. ООЯ) маленькие проги это дибилизм. Уж не говоря о C# и Java. Эти мне кажется вобще предназначены только для прикладух и под сеть, а системные проги на них писать, по моему, изврат.
Или я не прав?
-
CyraxZ
Re: нужны задания практические по С
Цитата:
вспоминаю и изучаю дальше - С, самостоятельно
Чистый C сейчас практически нигде не используется, посему советую (лично моё мнение) взяться за C++... Даже фирмы, которые писали на чистом C, скажем, драйвера или программы прошивки для всяких устройст (т.е. системное низкоуровневое программирование), сейчас переходят на C++. Потому что сейчас уже разницы практически нет, что мы напишем прогу с использованием классов и конструкторов на C++, что с использованием переменных и инициализирующих функций (вместо конструкторов) на чистом C. А вернее, машинный код после компиляции C-программы ничуть не быстрее и не короче, чем после компиляции аналогичной C++-программы (а эти параметры - скорость и размер кода - в системном программировании играют ведущую роль). Раньше то, возможно, и была. Но сейчас компиляторы и оптимизаторы сделали своё дело.
Это о скорости выполнения кода и о его размере. Что касается простоты, удобства и эффективности, то верх берёт, однозначно, C++...
Цитата:
Но у меня такое ощущение что все забыли про C. Про структурное программирование забыли. И непонятно, почему?
С++ - не чисто объектно-ориентированный язык (в отличие, например, от C#). C++ проектировался как язык общего назначения с уклоном в сторону системного программирования и поддерживающий несколько парадигм программирования, куда наряду с парадигмой ООП входит и парадигма процедурного программирования. Никакой стиль программирования язык не навязывает, он всего лишь предоставляет удобные средства для использования какой-либо парадигмы. Т.е. С++ не заменяет C, а всего лишь добавляет поддержку абстракции данных, объектно-ориентированного и обобщённого программирования (его главные преимущества перед традиционным C).
Т.е. на C++ запросто можно написать структурную программу без использования классов и конструкторов/деструкторов (если нравится). На C же ООП-программа пишется довольно сложно (поддержки ООП то нет)...
Таким образом, системные программы на C++ пишутся так же легко, как и на чистом C. Чего не скажешь, например, о C#. На C# тоже можно писать системные программы, но это неоправданно сложно и неэффективно, поскольку C# - полностью объектно-ориентированный язык (там даже функция main принадлежит классу) и заточенный именно на ООП. Другие парадигмы он не поддерживает...
вспоминаю и изучаю дальше - С, самостоятельно
Чистый C сейчас практически нигде не используется, посему советую (лично моё мнение) взяться за C++... Даже фирмы, которые писали на чистом C, скажем, драйвера или программы прошивки для всяких устройст (т.е. системное низкоуровневое программирование), сейчас переходят на C++. Потому что сейчас уже разницы практически нет, что мы напишем прогу с использованием классов и конструкторов на C++, что с использованием переменных и инициализирующих функций (вместо конструкторов) на чистом C. А вернее, машинный код после компиляции C-программы ничуть не быстрее и не короче, чем после компиляции аналогичной C++-программы (а эти параметры - скорость и размер кода - в системном программировании играют ведущую роль). Раньше то, возможно, и была. Но сейчас компиляторы и оптимизаторы сделали своё дело.
Это о скорости выполнения кода и о его размере. Что касается простоты, удобства и эффективности, то верх берёт, однозначно, C++...
Цитата:
Но у меня такое ощущение что все забыли про C. Про структурное программирование забыли. И непонятно, почему?
С++ - не чисто объектно-ориентированный язык (в отличие, например, от C#). C++ проектировался как язык общего назначения с уклоном в сторону системного программирования и поддерживающий несколько парадигм программирования, куда наряду с парадигмой ООП входит и парадигма процедурного программирования. Никакой стиль программирования язык не навязывает, он всего лишь предоставляет удобные средства для использования какой-либо парадигмы. Т.е. С++ не заменяет C, а всего лишь добавляет поддержку абстракции данных, объектно-ориентированного и обобщённого программирования (его главные преимущества перед традиционным C).
Т.е. на C++ запросто можно написать структурную программу без использования классов и конструкторов/деструкторов (если нравится). На C же ООП-программа пишется довольно сложно (поддержки ООП то нет)...
Таким образом, системные программы на C++ пишутся так же легко, как и на чистом C. Чего не скажешь, например, о C#. На C# тоже можно писать системные программы, но это неоправданно сложно и неэффективно, поскольку C# - полностью объектно-ориентированный язык (там даже функция main принадлежит классу) и заточенный именно на ООП. Другие парадигмы он не поддерживает...
-
Coutty
Re: нужны задания практические по С
CyraxZ, а почему на C# неэффективно писать системные программы? Тот же Visual Studio 2005 всё равно сначала переводит программу с поддерживаемых языков (C++, C#, Basic - всё равно) в свой IL-код, а уж потом выходит бинарник. Так по сути - какая разница на каком языке, если есть ещё общий для всех IL?
Или моя логика неверна? Было бы интересно знать.
bool, посмотри курс по C/C++ на intuit.ru. Там вроде не особо сложно.
Или моя логика неверна? Было бы интересно знать.
bool, посмотри курс по C/C++ на intuit.ru. Там вроде не особо сложно.
-
ivank
Re: нужны задания практические по С
Coutty
Студия умеет генерить для C++ как нэйтив код, так и IL. Драйверы всё ещё в нэйтив делают. К тому же в плюсах работа с указателями много прозрачней, чем в C# (в котором указатели тоже есть, но более ограниченные. Основное назначение - связка с ансэйф кодом; непосредственно при программировании ими никто не пользуется).
Студия умеет генерить для C++ как нэйтив код, так и IL. Драйверы всё ещё в нэйтив делают. К тому же в плюсах работа с указателями много прозрачней, чем в C# (в котором указатели тоже есть, но более ограниченные. Основное назначение - связка с ансэйф кодом; непосредственно при программировании ими никто не пользуется).