|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.05.2010, 22:22 | #1 |
Пользователь
Регистрация: 12.05.2010
Сообщений: 61
|
Проблема с созданием или выводом строк
#pragma hdrstop
#include <stdio.h> #include <string.h> #include <stdlib.h> #include <math.h> //--------------------------------------------------------------------------- char*** Funct_Tab(int n, int k, int x, int s); //получение таблицы смежных классов void free_Funct_Tab(char ***A2, int x, int s); void write_Tab(char ***A2, int x, int s); char* rus (char* str) ; // преобразует ANSI-строку в строку ASCII #pragma argsused int main(int argc, char* argv[]) { int n, k, x, s; //зарезевированы!!! int i, j; char str[25]=""; char ***A2; //массив таблицы смежных классов M1: printf(rus("Для получения кодового слова, закодированного кодом с повторениями нажмите '1'.\n")); printf(rus("Для декодирования вектора нажмите '2'.\n")); printf(rus("Для декодирования вектора, с использованием таблицы смежных классов нажмите '3'.\n")); printf(rus("Для декодирования векторов ошибок нажмите '4'.\n")); printf(rus("Для декодирования векторов ошибок с использованием таблицы смежных классов нажмите '5'.\n")); printf(rus("Для выхода из программы нажмите '6'.\n")); printf(rus("Введите команду: ")); scanf("%d", &i); switch(i) { case 3: { M4: printf(rus("Введите закодированное сообщение (кодовое слово), состоящее из '1' и '0': \n")); scanf("%s", str); n=strlen(str); for (i=0;i<n;i++) if ((str[i]!='0')&(str[i]!='1')) { printf(rus("Введён некорректный символ:%c\n"),str[i]); putchar('\n'); goto M4; } printf(rus("Введите длинну сообщения, т.е. k : ")); scanf("%d", &k); if ((n%k)!=0) { printf(rus("Введено некорректное значение длинны сообщения или кодовое слово некорректной длины.\n")); putchar('\n'); goto M4; } x=pow(2,k); s=(pow(2,n))/x; A2=Funct_Tab(n, k, x, s); printf(rus("Создана следующая таблица смежных классов:\n")); write_Tab(A2, x, s); free_Funct_Tab(A2, x, s); putchar('\n'); goto M1; } case 6: return 1; default: { printf(rus("Введена некорректная программа.\n")); goto M1; } } } char*** Funct_Tab(int n, int k, int x, int s) { char ***A2; int i, j, y, r, m, z; A2=(char ***)malloc(s*sizeof(char**)); for (i=0; i<s; i++) { A2[i]=(char**)malloc(x*sizeof(char*)); for (j=0; j<x; j++) A2[i][j]=(char*)malloc(n*sizeof(char)); } for (i=0; i<s; i++) //инициализируем нулями for (j=0; j<x; j++) for (y=0; y<n; y++) A2[i][j][y]='0'; return A2; } char* Funct3(char *str, char ***A2, int x, int s) { int i, j; char str1[25]=""; for(i=0; i<s; i++) for(j=0; j<x; j++) if(strcmp(str,A2[i][j])==0) strcpy(str1, A2[0][j]); strcpy(str,str1); return str; } void free_Funct_Tab(char ***A2, int x, int s) { int i, j; for(i=0; i<s; i++) for(j=0; j<x; j++) free(A2[i][j]); for(i=0; i<s; i++) free(A2[i]); free(A2); } void write_Tab(char ***A2, int x, int s) { int i, j; for (i=0; i<s; i++) { for(j=0; j<x; j++) { printf(A2[i][j]); putchar(' '); } putchar('\n'); } } char* rus(char* str) { unsigned char *p=NULL; char *str2=""; strcpy(str2,str); p=str2; /* при объявлении символов как char русские буквы кодируются отрицательными числами */ while (*p) { if (*p>=192) // здесь русская буква if ((*p)<=239) // А, Б, ... Я, а, б, ... п (*p)=(*p)-64; else // p ... я (*p)=(*p)-16; p++; } return str2; } |
12.05.2010, 22:30 | #2 |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
Код:
А код оформите в тег CODE (значок #)
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
13.05.2010, 10:55 | #3 |
Пользователь
Регистрация: 12.05.2010
Сообщений: 61
|
Проблема с созданием или выводом строк.
Программмa (а точнее этот кусок) создаёт массив А[][][] типа char, инициализирует их нулями и выводит на экран.
Код:
|
13.05.2010, 15:42 | #4 |
Пользователь
Регистрация: 12.05.2010
Сообщений: 61
|
Всё ещё нужна помощь!!!
|
13.05.2010, 18:17 | #5 |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
Все еще непонятно, в чем именно проблема. Хотя бы как она проявляется? Вслепую копаться в таком довольно объемистом коде нет как-то никакого желания.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема с созданием или выводом строк | ТриСемёрки | Помощь студентам | 2 | 13.05.2010 15:41 |
проблема с выводом на экран | Sined121 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 0 | 08.05.2010 16:48 |
Структура, содержащая массивы и матрицу данных - проблема с записью и/или выводом | flexin | Общие вопросы C/C++ | 6 | 09.01.2010 19:42 |
проблема с выводом информацыи | Betman | Общие вопросы Delphi | 2 | 29.10.2009 17:09 |
проблема с выводом результата | Nyutka | PHP | 2 | 16.04.2009 11:58 |