Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
1 / 1 / 0
Регистрация: 15.08.2013
Сообщений: 132
1

Не считает произведение разных типов данных

15.04.2014, 08:31. Показов 1854. Ответов 25
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Никак не могу разобраться, почему программа не хочет считать произведение.
Вот часть кода:
C++ (Qt)
1
2
3
4
for (i=0;i<N;i++) 
 {
  p[i]=1.0*ws[i]/N;
 }
где p[i]-динамический массив типа double
ws[i] массив типа long
N -переменная типа long.
Я уже и так и этак переписывала этот код, и дополнительные переменные добавляла, но после i=2 p[i]=0.0 и хоть бейся головой об стенку . Хотя массив ws{1,1,1,1,1,1,1,1,1,2,2,2}, N=12.

В целом рабочий код я приведу ниже, комментарии на русском, в компиляторе читаемы, а при переносе в блокнот и в ворд нечитаемы, поэтому прошу не ругаться, все комментарии переписывать, это с ума сойти, прошу лишь загрузить в компилятор, чтобы проверить, что код реально рабочий, и то может и не понадобится код вовсе, а знающим людям итак будет понятно в чем причина. Пробовала воспользоваться командами xxx_cast<type_to>, но в учебном компиляторе почему то отказывается подключаться библиотека iostream .
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
 
#define n 69 //Є®«ЁзҐбвў® бЁ¬ў®«®ў ў **Ј«Ё©бЄ®¬ *«д*ўЁвҐ ЎҐ§ гзҐв* ॣЁбва* c 32 Ї® 127 Є®¤ бЁ¬ў®«*  в*Ў«Ёжл ASCII
 
void swap (long *w, char *CHAR, long i, long j) //®Ў¬Ґ* н«Ґ¬Ґ*в®ў ¬*ббЁў*
 {
  long t; char T;
  t=w[i];
  w[i]=w[j];
  w[j]=t;
  T=CHAR[i];
  CHAR[i]=CHAR[j];
  CHAR[j]=T;
 }
 
void shake (long *x, char *CHAR) //¤«п гЇ®а冷зҐ*Ёп ¬*ббЁў* ўҐа®пв*®б⥩ Ї® ў®§а*бв**Ёо ЁбЇ®«м§гҐ¬ 襩ЄҐа*го б®авЁа®ўЄг
  {
   long L,R,N,S,j,i;
   L=0;  //«Ґў*п Ја**Ёж* ¬*ббЁў*
   R=n-1;  //Їа*ў*п Ја**Ёж* ¬*ббЁў*
   N=n-1;    //Є®«ЁзҐбвў® н«Ґ¬Ґ*в®ў ¬*ббЁў* (*㬥а*жЁп б 0)
   while (L<R)
   {
    for(j=R; j>L; --j)  //Їа®е®¤ бЇа*ў* **«Ґў®
    {
     if (x[j]<x[j-1])
     {
      swap(x,CHAR,j,j-1);
      N=j;
     }
    }
    L=N;
     for (j=L; j<R; ++j)  //Їа®е®¤ б«Ґў* **Їа*ў®
     {
      if (x[j]>x[j+1])
      {
       swap(x,CHAR,j,j+1);
       N=j;
      }
     }
     R=N;
   }
   for (i=0,S=1;i<n-2;++i)
   {
   if (x[i]>x[i+1])
     S++;
   }
  if (S>1)
   {
    printf("\n ЋиЁЎЄ*, ¬*ббЁў *Ґ ®вб®авЁа®ў**, Є®«ЁзҐбвў® бҐаЁ© Ў®«миҐ 1 \n");
    getch();
   }
  }
 
 
 
 
void main()
{
 FILE  *f;
 char  key, ch,
    fname[50], //¬*ббЁў ¤«п еа**Ґ*Ёп Ё¬Ґ*Ё д*©«*
    CHAR[n],  //¬*ббЁў ўбҐе бЁ¬ў®«®ў **Ј«Ё©бЄ®Ј® *«д*ўЁв*
    **C,//¬*ваЁж* ¤«п еа**Ґ*Ёп н«Ґ¬Ґ*в*а*ле Є®¤®ў
    *CHAR_S; //¬*ббЁў ¤«п еа**Ґ*Ёп бЁ¬ў®«®ў ўбваҐз*ойЁебп ў д*©«Ґ
 long  i,j,m,N, //ЇҐаҐ¬Ґ**лҐ бзҐвзЁЄЁ
    w[n], //з*бв®вл Ї®пў«Ґ*Ёп бЁ¬ў®«®ў ў ⥪бвҐ
    *ws,//®вб®авЁа®ў***л© ¬*ббЁў з*бв®в
    *L; //¬*ббЁў ¤«Ё** Є®¤®ўле б«®ў
 double *p,//¬*ббЁў ўҐа®пв*®б⥩ Ї®пў«Ґ*Ёп бЁ¬ў®«* ў ¤***®¬ ⥪бвҐ
    Hmax=0.0, //¬*ЄбЁ¬*«м**п н*ва®ЇЁп ⥪бв*
    H=0.0,//н*ва®ЇЁп ?Ґ**®**
    s;//Є®*ва®«м Їа*ўЁ«м*®бвЁ а*бзҐв* ¬*ббЁў* ўҐа®пв*®б⥩
 memset(CHAR,0 ,sizeof(CHAR));
 for(i=0;i<=32;i++)//§*Ї®«*Ґ*ЁҐ ¬*ббЁў* Є®¤*¬Ё бЁ¬ў®«®ў б®Ј«*б*® в*Ў«ЁжҐ ASCII ЎҐ§ гзҐв* ॣЁбва*
 {
  CHAR[i]=32+i;
 }
 for(i=33;i<n;i++)
 {
  CHAR[i]=58+i;
 }
 
 do
 {
  clrscr();
  m=0;  //§**зҐ*Ёп ®Ў*г«повбп ¤«п ЁбЄ«озҐ*Ёп ®иЁЎ®Є ЇаЁ ®вЄалвЁЁ ¤агЈ®Ј® д*©«*
  N=0; //Є®«ЁзҐбвў® бЁ¬ў®«®ў ў ⥪бвҐ
  memset(w,0.0,sizeof(w));
  memset(fname,0,sizeof(fname));
  printf ("\n ‚ўҐ¤ЁвҐ **Ё¬Ґ*®ў**ЁҐ д*©«* Ё Їгвм Є *Ґ¬г. \n");
  fgets(fname,sizeof(fname),stdin);
  m=strlen(fname);
  fname[m-1]=0;
  f=fopen(fname,"rt") ;
  if (f==NULL)
  {
   printf("\n ЋиЁЎЄ* ®вЄалвЁп д*©«*! \n");
   getch();
   exit(0);
  }
  while(!feof(f))
  {
   ch=getc(f);    //бзЁвлў**ЁҐ бЁ¬ў®«®ў
   if((ch>=65)&&(ch<=90)) //Ґб«Ё §*Ј«*ў**п ЎгЄў* в® ЁЈ*®аЁа㥬 ॣЁбва
    i=ch-26;
   else
   {
    for (j=0;j<n;j++)
     if (ch==CHAR[j])
     {
      i=j;
      break;
     }
   }
   w[i]+=1;
 }
 
 shake(w,CHAR);//б®авЁа®ўЄ* ¬*ббЁў* з*бв®в
 
 for (i=0; i<n; i++)
 {
  if (w[i]!=0)
   N++;
 }
 
 ws=(long *)malloc(N*sizeof(long));
 if (ws==NULL)
 {
  puts("Њ*ббЁў ws *Ґ ᮧ¤**!");
  getch();
  return;
 }
 
 CHAR_S=(char *)malloc(N*sizeof(char));
 if (CHAR_S==NULL)
 {
  puts("Њ*ббЁў CHAR_S *Ґ ᮧ¤**!");
  getch();
  return;
 }
 j=0;
 for (i=n-N; i<n; i++)//Є®ЇЁа®ў**ЁҐ бЁ¬ў®«®ў б з*бв®в®© Ї®п«ўҐ*Ёп >0 ў ¤Ё**¬ЁзҐбЄЁ© ¬*ббЁў
 {
   ws[j]=w[i];
   CHAR_S[j]=CHAR[i];
   j++;
 }
 
 p=(double *)malloc(N*sizeof(double)) ;
 if (p==NULL)
 {
  puts("Њ*ббЁў p *Ґ ᮧ¤**!");
  getch();
  return;
 }
 
 for (i=0;i<N;i++) //а*ббзҐв н*ва®ЇЁЁ д*©«*
 {
  p[i]=1.0*ws[i]/N;//§*Ї®«*Ґ*ЁҐ ¬*ббЁў* ўҐа®пв*®б⥩ Ї®пў«Ґ*Ёп бЁ¬ў®«®ў/
 }
 
 //®бў®Ў®¦¤Ґ*ЁҐ Ї*¬пвЁ ®в ᮧ¤***ле ¤Ё**¬ЁзҐбЄЁе ¬*ббЁў®ў
 for (i=0;i<N;i++)
 
 free(p);
 free(ws);
 
 getch();
 fclose(f);
 puts ("\n ЋвЄалвм ¤агЈ®© д*©«? (ЌҐв=Esc)");
 key=getch();
 }
 while (key!=27);//ESC
}
Текстовый файл приложен
Вложения
Тип файла: txt NEW.TXT (14 байт, 11 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.04.2014, 08:31
Ответы с готовыми решениями:

Запрос считает итоговую сумму по договору выполненных разных услуг, но повторяющиеся не считает
Есть запрос procedure TForm7.Button2Click(Sender: TObject); var i:integer; begin...

Запись данных разных типов
Здравствуйте! Столкнулся вот с такой дилеммой, не принципиально, но все же: есть форма ввода...

переножение разных типов данных
Можно ли в запросе с помощью построителя задать формулу и перемножить разные типы данных. например...

Передача разных типов данных
Комрады, прошу совета, в ближайшее время предстоит сделать одно приложение, суть вот в чем......

25
654 / 575 / 164
Регистрация: 13.12.2012
Сообщений: 2,124
15.04.2014, 08:42 2
C++
1
2
3
4
for (i=0;i<N;i++) 
 {
  p[i]=1.0*(double)ws[i]/N;
 }
Добавлено через 10 секунд
если проблема реально в этом
0
1 / 1 / 0
Регистрация: 15.08.2013
Сообщений: 132
15.04.2014, 08:46  [ТС] 3
Исправила, но все равно не считает после i=2
0
654 / 575 / 164
Регистрация: 13.12.2012
Сообщений: 2,124
15.04.2014, 09:27 4
Цитата Сообщение от Ульяниус Посмотреть сообщение
Хотя массив ws{1,1,1,1,1,1,1,1,1,2,2,2}
Вы уверены в этом?
Цитата Сообщение от Ульяниус Посмотреть сообщение
N=12.
и в этом тоже?, вывод делали?

а как проверяли содержание массива p[] ?
0
1 / 1 / 0
Регистрация: 15.08.2013
Сообщений: 132
15.04.2014, 09:46  [ТС] 5
да уверена, смотрела под отладчиком все данные смотрела под отладчиком при i=4 счет расчет прекращается (в ws лишнюю 1 нарисовала - там считается программно).
0
654 / 575 / 164
Регистрация: 13.12.2012
Сообщений: 2,124
15.04.2014, 10:00 6
перед этим кодом N = 12, создаем массив ws на 12 long и CHAR_S на 12 символов
C++
1
2
3
4
5
6
7
j=0;
 for (i=n-N; i<n; i++)//тут бежим по циклу, с i = 69 - 12 = 57 до i < 69 обращемся к ws и CHAR_S по индексу i - таких индексов нет - неопределенное поведение, дальше смотреть не стал
 {
   ws[j]=w[i];
   CHAR_S[j]=CHAR[i];
   j++;
 }
Добавлено через 2 минуты
C++
1
2
3
4
for (i=0;i<N;i++)
 
 free(p);
 free(ws);
надеюсь то Вы тут удалил какую то строчку, иначе получается инструкция free(p) буде выполняться в цикле - снова падение
0
1 / 1 / 0
Регистрация: 15.08.2013
Сообщений: 132
15.04.2014, 10:16  [ТС] 7
Цитата Сообщение от aLarman Посмотреть сообщение
перед этим кодом N = 12, создаем массив ws на 12 long и CHAR_S на 12 символов
Код C++
j=0;
*for (i=n-N; i<n; i++)//тут бежим по циклу, с i = 69 - 12 = 57 до i < 69 обращемся к ws и CHAR_S по индексу i - таких индексов нет - неопределенное поведение, дальше смотреть не стал
*{
* *ws[j]=w[i];
* *CHAR_S[j]=CHAR[i];
* *j++;
*}
Здесь все правильно, копирую 12 последних символов. Я обращаюсь к ws[j] и CHAR_S[j], а в конце цикла увеличиваю j++

Добавлено через 1 минуту
Цитата Сообщение от aLarman Посмотреть сообщение
Код C++

for (i=0;i<N;i++)
free(p);
*free(ws);
надеюсь то Вы тут удалил какую то строчку, иначе получается инструкция free(p) буде выполняться в цикле - снова падение
Да, вы правы, строка
C++ (Qt)
1
for (i=0;i<N;i++)
должна быть удалена, но это не влияет на расчет p[i].
0
654 / 575 / 164
Регистрация: 13.12.2012
Сообщений: 2,124
15.04.2014, 10:19 8
C++
1
2
3
4
5
6
7
8
for (i=0;i<N;i++) //а*ббзҐв н*ва®ЇЁЁ д*©«*
        {
            p[i]=1.0*ws[i]/N;//§*Ї®«*Ґ*ЁҐ ¬*ббЁў* ўҐа®пв*®б⥩ Ї®пў«Ґ*Ёп бЁ¬ў®«®ў/
        }
        for (i=0;i<N;i++) //а*ббзҐв н*ва®ЇЁЁ д*©«*
        {
            cout<<p[i]<<endl;//§*Ї®«*Ґ*ЁҐ ¬*ббЁў* ўҐа®пв*®б⥩ Ї®пў«Ґ*Ёп бЁ¬ў®«®ў/
        }
у меня почему все работает...
Миниатюры
Не считает произведение разных типов данных  
0
654 / 575 / 164
Регистрация: 13.12.2012
Сообщений: 2,124
15.04.2014, 10:22 9
Цитата Сообщение от Ульяниус Посмотреть сообщение
смотрела под отладчиком все данные смотрела под отладчиком
может стоит сделать Вывод массива p

Добавлено через 1 минуту
Цитата Сообщение от Ульяниус Посмотреть сообщение
Здесь все правильно, копирую 12 последних символов. Я обращаюсь к ws[j] и CHAR_S[j], а в конце цикла увеличиваю j++
да мой косяк, что то я перестарался
0
1 / 1 / 0
Регистрация: 15.08.2013
Сообщений: 132
15.04.2014, 10:39  [ТС] 10
Может у меня компилятор кривой . Потому что потом я считаю энтропию файла и на самом деле p[i] равно нулю и ругается что не может посчитать логарифм нуля . Я использую Си++Builder. Под отладчиком смотрю двенадцать раз, потому как не выводит динамический массив как статический одной строкой

Добавлено через 2 минуты
Цитата Сообщение от aLarman Посмотреть сообщение
да мой косяк, что то я перестарался
спасибо что пытаетесь помочь

Добавлено через 13 минут
Цитата Сообщение от Ульяниус Посмотреть сообщение
Я использую Си++Builder.
Что попало написала, использую C++ Borland запущенный из DOSBox
0
18840 / 9839 / 2408
Регистрация: 30.01.2014
Сообщений: 17,280
15.04.2014, 10:53 11
Цитата Сообщение от Ульяниус Посмотреть сообщение
использую C++ Borland запущенный из DOSBox

Не по теме:

Позвольте один совет. Если есть хоть малейшая возможность сменить компилятор при написаннии заданий - сделайте это.
Для большей понятности почему: вот пришли вы сдавать на права, а вам вместо автомобиля предлагают управлять конной повозкой. Может быть где-то это и пригодится, но ездить на атомобиле вы точно не научитесь. Для справки: компилятор этот 1992 года выпуска, первый международный стандарт С++ вышел только в 1998. Первый нормальный компилятор, который его поддерживал, появился только в начале 2000х.

0
1 / 1 / 0
Регистрация: 15.08.2013
Сообщений: 132
15.04.2014, 10:56  [ТС] 12
Цитата Сообщение от DrOffset Посмотреть сообщение
Позвольте один совет.
посоветуйте программу, если можно бесплатную...
0
18840 / 9839 / 2408
Регистрация: 30.01.2014
Сообщений: 17,280
15.04.2014, 11:01 13
Цитата Сообщение от Ульяниус Посмотреть сообщение
посоветуйте программу, если можно бесплатную...
Например, CodeBlocks качать mingw-setup.
0
aLarman
15.04.2014, 11:49
  #14

Не по теме:

вижа - Microsoft Visual Studio :)

Добавлено через 20 секунд
gсс:)

0
1 / 1 / 0
Регистрация: 15.08.2013
Сообщений: 132
29.04.2014, 10:14  [ТС] 15
Что-то у меня там не скомпилировалось, не нашел какую то стандартную библиотеку. Пришлось Билдер Си++ запустить под ХР без эмулятора и все пошло . А ща столкнулась с проблемой, что ДОСбокс под мою 8.1 не хочет идти, система умирает ((.
0
18840 / 9839 / 2408
Регистрация: 30.01.2014
Сообщений: 17,280
29.04.2014, 18:04 16
Цитата Сообщение от Ульяниус Посмотреть сообщение
Что-то у меня там не скомпилировалось
Нельзя так быстро отступать
Всего-то нужно было немного к стандартному виду привести. Ошибки не исправлял (они там есть), только код сделал компилируемым.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
#include <locale.h>
 
#define n 69 //количество символов в английском алфавите без учета регистра c 32 по 127 код символа  таблицы ASCII
 
void swap (long *w, char *CHAR, long i, long j) //обмен элементов массива
{
    long t;
    char T;
    t=w[i];
    w[i]=w[j];
    w[j]=t;
    T=CHAR[i];
    CHAR[i]=CHAR[j];
    CHAR[j]=T;
}
 
void shake (long *x, char *CHAR) //для упорядочения массива вероятностей по возрастанию используем шейкерную сортировку
{
    long L,R,N,S,j,i;
    L=0;  //левая граница массива
    R=n-1;  //правая граница массива
    N=n-1;    //количество элементов массива (нумереция с 0)
    while (L<R)
    {
        for(j=R; j>L; --j)  //проход справа налево
        {
            if (x[j]<x[j-1])
            {
                swap(x,CHAR,j,j-1);
                N=j;
            }
        }
        L=N;
        for (j=L; j<R; ++j)  //проход слева направо
        {
            if (x[j]>x[j+1])
            {
                swap(x,CHAR,j,j+1);
                N=j;
            }
        }
        R=N;
    }
    for (i=0,S=1; i<n-2; ++i)
    {
        if (x[i]>x[i+1])
            S++;
    }
    if (S>1)
    {
        printf("\n Ошибка, массив не отсортирован, количество серий больше 1 \n");
        getch();
    }
}
 
int main()
{
    FILE  *f;
    char  key, ch,
          fname[50], //массив для хранения имени файла
          CHAR[n],  //массив всех символов английского алфавита
          **C,//матрица для хранения элементарных кодов
          *CHAR_S; //массив для хранения символов встречающихся в файле
    long  i,j,m,N, //переменные счетчики
          w[n], //частоты появления символов в тексте
          *ws,//отсортированный массив частот
          *L; //массив длин кодовых слов
    double *p,//массив вероятностей появления символа в данном тексте
           Hmax=0.0, //максимальная энтропия текста
           H=0.0,//энтропия Шеннона
           s;//контроль правильности расчета массива вероятностей
 
    setlocale(LC_ALL, "Russian");
 
    memset(CHAR,0 ,sizeof(CHAR));
    for(i=0; i<=32; i++) //заполнение массива кодами символов согласно таблице ASCII без учета регистра
    {
        CHAR[i]=32+i;
    }
    for(i=33; i<n; i++)
    {
        CHAR[i]=58+i;
    }
 
    do
    {
        system("cls");//clrscr();
        m=0;  //значения обнуляются для исключения ошибок при открытии другого файла
        N=0; //количество символов в тексте
        memset(w,0.0,sizeof(w));
        memset(fname,0,sizeof(fname));
        printf ("\n Введите наименование файла и путь к нему. \n");
        fgets(fname, sizeof(fname), stdin);
        m=strlen(fname);
        fname[m-1]=0;
        f=fopen(fname,"rt") ;
        if (f==NULL)
        {
            printf("\n Ошибка открытия файла! \n");
            getch();
            exit(0);
        }
        while(!feof(f))
        {
            ch=getc(f);    //считывание символов
            if((ch>=65)&&(ch<=90)) //если заглавная буква то игнорируем регистр
                i=ch-26;
            else
            {
                for (j=0; j<n; j++)
                    if (ch==CHAR[j])
                    {
                        i=j;
                        break;
                    }
            }
            w[i]+=1;
        }
 
        shake(w,CHAR);//сортировка массива частот
 
        for (i=0; i<n; i++)
        {
            if (w[i]!=0)
                N++;
        }
 
        ws=(long *)malloc(N*sizeof(long));
        if (ws==NULL)
        {
            puts("Массив ws не создан!");
            getch();
            return 1;
        }
 
        CHAR_S=(char *)malloc(N*sizeof(char));
        if (CHAR_S==NULL)
        {
            puts("Массив CHAR_S не создан!");
            getch();
            return 1;
        }
        j=0;
        for (i=n-N; i<n; i++)//копирование символов с частотой появления >0 в динамическом массиве
        {
            ws[j]=w[i];
            CHAR_S[j]=CHAR[i];
            j++;
        }
 
        p=(double *)malloc(N*sizeof(double)) ;
        if (p==NULL)
        {
            puts("Массив p не создан!");
            getch();
            return 1;
        }
 
        for (i=0; i<N; i++) //рассчет энтропии файла
        {
            p[i]=1.0*ws[i]/N;//заполнение массива вероятностей появления символов/
        }
 
//освобождение памяти от созданных динамических массивов
        for (i=0; i<N; i++)
            free(p);
        free(ws);
 
        getch();
        fclose(f);
        puts ("\n Открыть другой файл? (Нет=Esc)");
        key=getch();
    }
    while (key!=27);//ESC
}
0
1 / 1 / 0
Регистрация: 15.08.2013
Сообщений: 132
29.04.2014, 20:21  [ТС] 17
Получилось все, (спасибо, многое узнала) кроме русского языка, функция
Цитата Сообщение от DrOffset Посмотреть сообщение
setlocale(LC_ALL, "Russian");
не помогла , везде кракозябры почему то...
0
18840 / 9839 / 2408
Регистрация: 30.01.2014
Сообщений: 17,280
29.04.2014, 20:25 18
Цитата Сообщение от Ульяниус Посмотреть сообщение
не помогла
Шрифт в консольке надо поменять.
0
1 / 1 / 0
Регистрация: 15.08.2013
Сообщений: 132
29.04.2014, 20:36  [ТС] 19
Цитата Сообщение от DrOffset Посмотреть сообщение
Шрифт в консольке надо поменять.
нашла что надо сделать так:
В настройках Code Blocks: Settings - Editor, поставьте Windows-1251
но у меня так и было ...у меня вин 8.1, какой шрифт надо выбрать?

Добавлено через 3 минуты
и даже выбор Lucida consol не помог
0
18840 / 9839 / 2408
Регистрация: 30.01.2014
Сообщений: 17,280
29.04.2014, 21:00 20
Цитата Сообщение от Ульяниус Посмотреть сообщение
Lucida consol не помог
Вот проект. Должно работать с Lucida Console.
Вложения
Тип файла: rar encoding.rar (130.8 Кб, 5 просмотров)
0
29.04.2014, 21:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.04.2014, 21:00
Помогаю со студенческими работами здесь

Хранение данных разных типов
Уважаемые программисты помогите мне понять тему хранение типов данных. 1)например тип int...

Массив из разных типов данных
Всем привет ! Помогите с таким вопросом: Возникла необходимость создать массив из записей с...

Получение разных типов данных
Суть задачи такова: в функцию передаётся неизвестное кол-во переменных разного типа(а именно:...

Считывание из Edit разных типов данных
Подскажите пожалуйста, как из edit считать запись в разных типах данных, допустим в edit введено...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru