Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C (СИ) Не правильный подсчет элементов матрицы https://www.cyberforum.ru/ c-beginners/ thread1821253.html
Задание:построить последовательность чисел по правилу: проверить знак элемента на главной диагонали, если элемент отрицательный, то число равно 0, если элемент положительный число равно сумме всех элементов строки, в которой он находится. У меня оно всегда подсчитывает все эелементы матрицы, подскажите в чем проблема. Заранее спасибо. #include <stdio.h> #include <stdlib.h> int main() { ...
C (СИ) Не сохраняет структуры в массив
Возникала проблема с сохранением структур в C. #include <stdbool.h> #include <stdlib.h> #include <stdio.h> struct ocenki { int Russ; int Matan;
C (СИ) Переменную внутри подблока - дурной стиль программирования Читаю одну статью по Си, столкнулся с таким утверждением(речь об auto): Мы всегда должны описывать наши переменные в начале тела функции (блока). Областью действия их является вся функция. Можно описать переменную внутри подблока. Тогда переменная будет известна только в этой части функции, однако этого лучше не делать. Это дурной стиль программирования! Что имеется ввиду?: 1) main() { ... https://www.cyberforum.ru/ c-beginners/ thread1821152.html C (СИ) Консоль: изменить цвет определенного предложения или слова в тексте https://www.cyberforum.ru/ c-beginners/ thread1821119.html
как можно изменить цвет определенного предложения или слова в тексте в консоли? Помогите пожалуйста ¤:]
Замена пустых строк, состоящих из пробелов, строками, содержащими минимальное число табуляций C (СИ)
Напишите программу, которая бы заменяла пустые строки, состоящие из одних пробелов, строками, содержащими минимальное количество табуляций и дополнительных пробелов,-так чтобы заполнить то же пространство (1 табуляция = 4 пробелам) на СИ
C (СИ) Получить самую длинную строку файла Дан текстовый файл f. Получите самую длинную строку файла. Если в файле имеется несколько строк с наибольшей длиной, то получить первую из них. Нужно на СИ https://www.cyberforum.ru/ c-beginners/ thread1821104.html
C (СИ) Массивы. Сумма элементов, начиная с равного пяти Задача такая: дан массив, размерность -- пятнадцать элементов; найти сумму элементов массива, начиная с равного пяти (не с пятого). Так как тема у нас -- цикл for, то предполагается, что надо его использовать. Я написала эту программу так: #include <stdio.h> #include <math.h> #include <locale.h> const int N = 15; main() { setlocale(LC_ALL,"Rus"); int A, i, sum=0, k=0; printf("Введите... https://www.cyberforum.ru/ c-beginners/ thread1821064.html C (СИ) При вводе цифр и букв вместе, программа должна выдавать ошибку
Проблема в следующем... Мне нужно, чтобы программа выдавала ошибку, если я введу что-то подобное 85dfqo. А она считывает 85, а вот эти вещи "dfqo" отбрасывает. Как это реализовать? Пробовал с типами данных баловаться, но мне нужно чтобы переменная "forever" была дробная (чтобы мог вводить н-р 6.7, 5.1 и тд) #include <stdio.h> int main(void) { float forever= 0; float cyberforum = 5;...
C (СИ) Ошибка С2146: отсутствует ")" перед идентификатором https://www.cyberforum.ru/ c-beginners/ thread1820865.html
Ошибка C2146 синтаксическая ошибка: отсутствие ")" перед идентификатором "" #include<stdio.h> #include<math.h> #include<conio.h> using namespace std; int main() { float a, x, z; printf("x>>");
C (СИ) Хеширование массива данных для создания электронной подписи по методу Эль-Гамаля Подскажите пожалуйста где можно найти фунцию для хеширования массива данных? https://www.cyberforum.ru/ c-beginners/ thread1820848.html
C (СИ) Не могу устранить ошибку в коде
#include <stdio.h> #include <stdlib.h> #include <string.h> #define N 5 int main() { double arr; double a; int i, j;
C (СИ) Упрощение цикла https://www.cyberforum.ru/ c-beginners/ thread1820769.html
Требуется упростить содержимое цикла while до цикла if, а также заменить функцию strtok на fprintf: i = 0; while (fgets(str, MAX_SIZE, file_matrix)) { char *current_number = strtok(str, " "); int j = 0; while (current_number != NULL) { matrix = atof(current_number); current_number = strtok(NULL, " "); j++;
3176 / 1935 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
09.10.2016, 01:03 0

Тип char* без ограничения на длину строки для хранения любых символов - C (СИ) - Ответ 9623645

09.10.2016, 01:03. Показов 9918. Ответов 26
Метки (Все метки)

Лучший ответ Сообщение было отмечено Undisputed как решение

Решение

Еще раз, медленно.

Байт - это 8 бит (прочую экзотику не рассматриваем). 2^8 = 256 - всего возможно 256 кодовых комбинаций (символов алфавита, кодов ASCII) с номерами от 0 до 255.

Таблица ASCII ставит в соответствие этим 256 номерам определенные картинки, отображаемые устройством вывода (дисплей, принтер etc) как символы ASCII (первые 128 стандартизованы, следующие 128 зависят от локали).

Выбор таблицы (кодировки, кодовой страницы - EBCDIC, например, итд) определяет, какие "картинки" соответствуют данному номеру кода (0..255), но никаких "более других" кодов, разумеется, не существует.

И, да: любые данные - это набор байт. Просто набор байт. Ничего, кроме набора байт. Все остальное - это вопрос интерпретации (предварительной договоренности).

Например, договариваются рассматривать какие-то байты как разделители строк, другие - как символы алфавита и прочие - не использовать вовсе. Такие (неполноценные) файлы называются текстовыми, а прочие файлы, в которых встречаются все возможные символы именуют бинарными.

Кодировка - это вопрос предварительного соглашения между передатчиком и приемником. Например, можно договориться, что одному символу в данной кодировке будет соответствовать фиксированное число байт (обычно, 1-2-4). Более эффективная схема кодирования может использовать переменное число байт на символ (от 1 до 4).

С точки зрения канала передачи, это не имеет никакого значения: передается поток байт заданного размера, а их интерпретация (как символов алфавита, например) - проблема корреспондентов.

Точно также, язык C ничего не знает о кодировках и не работает с ними (исключая несколько макросов, типа isascii). Стандартная библиотека поддерживает работу с массивами байт. Если вам нужна какая-либо обработка за пределами стандартной библиотеки - ищите готовые или пишите собственные функции. Если ваш алфавит содержит больше символов, чем может вместиться в байт (8 бит) - либо используйте следуюший по размеру интегральный тип (16, 32 или 64 бит), либо используйте неравномерное кодирование (некоторые OS предлагают встроенную поддержку того и/или другого).

Вернуться к обсуждению:
Тип char* без ограничения на длину строки для хранения любых символов C (СИ)
3
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.10.2016, 01:03
Готовые ответы и решения:

Создать тип данных для хранения строки символов. С перегрузкой оператора
Полностью задание: &quot;Создать тип данных для хранения строки символов. Перегрузить оператор унарный...

Создать класс Mystring, предназначенный для хранения строки из символов типа char. Класс имеет метод для определения дли
Создать класс Mystring, предназначенный для хранения строки из символов типа char. Класс имеет...

Тип char для хранения байтов
Записываю в переменную типа char &quot;78 DA F3 CD 4C 2E 02 00 03 AB 01 8C&quot;, в итоге в ней оказывается...

Если строка имеет нечетную длину и не содержит символов к, то вывести на экран длину строки символов
3.Дана строка символов, состоящая из строчных английских букв и не содержащая пробелов. Если она...

26
09.10.2016, 01:03
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.10.2016, 01:03
Помогаю со студенческими работами здесь

Массив типа char без ограничения
Помогите создать массив именно типа char без четкого ограничения. Мне говорили, что это можно...

Написать класс, для хранения строки символов
Написать класс, для хранения строки символов. Перегрузить операторы «+» и «+=» для соединения двух...

СМО без ограничения на длину очереди, но с ограничением на время ожидания
Рассматривается 3-х канальная система массового обслуживания(СМО) без ограничения на длину очереди,...

Написать программу, которая определяет длину строки - strlen (число символов без завершающего нуль-символа)
Написать программу с помощью символьных строк и функции обработки строк. Библиотечные функции...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru