|  | | Страници по тази тема: 1 | 2 | (покажи всички)
 
| 
           
             | 
                 
                   | Тема |  Каква е разликата?   |  |  | Автор | БM21 (непознат
) |  | Публикувано | 22.11.10 20:41 |  |  | 
           
 Моят син се учи да пише програмки.
 Каква е разликата между тези две:
 
 #include<iostream>
 #include<string.h>
 using namespace std;
 int main ()
 {
 char niz[100];
 int i;
 char a[100];
 strcpy(a,"");
 char n[1];
 strcpy(n," ");
 cin.getline(niz,100);
 for(i=0;i<strlen(niz);i++)
 {
 if(niz!=' ')
 {n[0]=niz;
 strcat(a,n);
 }
 else {cout<<a<<endl; strcpy(a,"");}
 
 }
 cout<<a<<endl;
 
 
 system("pause");
 return 0;
 }
 
 и тази:
 
 #include<iostream>
 #include<string.h>
 using namespace std;
 int main ()
 {
 char niz[100];
 int i;
 char a[100];
 strcpy(a,"");
 char n[2];
 strcpy(n," ");
 cin.getline(niz,100);
 for(i=0;i<strlen(niz);i++)
 {
 if(niz!=' ')
 {n[0]=niz;
 strcat(a,n);
 }
 else {cout<<a<<endl; strcpy(a,"");}
 
 }
 cout<<a<<endl;
 
 
 system("pause");
 return 0;
 }
 
 Разликата е, че първата работи, а втората - не.
 Някой може ли да ми обясни защо?
 Използван е Dev C++
 
 <P ID="edit"><FONT class="small"><EM>Редактирано от БM21 на 22.11.10 22:15.</EM></FONT></P><P ID="edit"><FONT class="small"><EM>Редактирано от БM21 на 22.11.10 22:16.</EM></FONT></P><P ID="edit"><FONT class="small"><EM>Редактирано от БM21 на 22.11.10 23:26.</EM></FONT></P><P ID="edit"><FONT class="small"><EM>Редактирано от БM21 на 22.11.10 23:28.</EM></FONT></P><P ID="edit"><FONT class="small"><EM>Редактирано от БM21 на 22.11.10 23:31.</EM></FONT></P>
 Редактирано от БM21 на 22.11.10 23:32. 
 
 |  |  |  
             | 
                 
                   | Тема |  Re: Каква е разликата?  [re: БM21] |  |  | Автор | Om_ (eyeful) |  | Публикувано | 22.11.10 20:57 |  |  | 
           
 Странна работа!
 
 
 
 
 |  |  |  
             | 
                 
                   | Тема |  Re: Каква е разликата?  [re: БM21] |  |  | Автор | БM21 (непознат
) |  | Публикувано | 22.11.10 21:56 |  |  | 
           
 Черна магия!
 Не знам защо не се вижда .
 Оригиналният текст е if (niz!=' ') и n[0]=niz
 В поста обаче липсва
 Най-интересното е, че като го отворя за редактиране се вижда нормално
 
 М-да, пак не се вижда
 
 <P ID="edit"><FONT class="small"><EM>Редактирано от БM21 на 22.11.10 21:57.</EM></FONT></P>
 След niz и на двете места трябва да има средна скоба, след това i и затваряща скоба.
 Редактирано от БM21 на 22.11.10 21:59. 
 
 |  |  |  
             | 
                 
                   | Тема |  Re: Каква е разликата?  [re: БM21] |  |  | Автор | naki (Company PC Guy) |  | Публикувано | 22.11.10 22:11 |  |  | 
           
 Пробвай със pre тагове, {pre} преди кода и {/pre} след кода - смени {} със [].
 Пример (запазва празните места):
 
 
3 места
 2 места...
 
 Без Пре тагове:
 3 места
 2 места...
 
 
 
 
 Редактирано от naki на 22.11.10 22:22. 
 
 |  |  |  
             | 
                 
                   | Тема |  Re: Каква е разликата?  [re: БM21] |  |  | Автор | naki (Company PC Guy) |  | Публикувано | 22.11.10 22:20 |  |  | 
           
 На кои редове е това? Я качи файловете в Tranz.it и дай линк, тука или на лична бележка.
 
 
 
 
 
 |  |  |  
             | 
                 
                   | Тема |  Re: Каква е разликата?  [re: naki] |  |  | Автор | БM21 (непознат
) |  | Публикувано | 22.11.10 22:38 |  |  | 
           
 Ето линк с текста : http://tranz.it/load.php?id=pxyJflQ23tKJXe45681962
 
 
 
 
 |  |  |  
             | 
                 
                   | Тема |  Re: Каква е разликата?
[re: БM21] |  |  | Автор | zaphod (мракобес) |  | Публикувано | 22.11.10 23:20 |  |  | 
           
 подсказка - натисни бутона италик дето е под текстовото поле за съобщение
 
 
 
 
 NE SUTOR ULTRA CREPIDAM
 
 
 |  |  |  
             | 
                 
                   | Тема |  Re: Каква е разликата?  [re: zaphod] |  |  | Автор | БM21 (непознат
) |  | Публикувано | 22.11.10 23:37 |  |  | 
           
 Хубаво де. Опитах форматиране с {pre} и {/pre}, считай [] вместо {}, ама се тоя - нищо не се получава. Я да пробам тука
    
 Е го - на. Вместо индекса - италик, няма нищо че съм сложил pre
 
 По ми е интересно защо с низ с дължина 1 се дъни, а когато е с по-голяма дължина работи нормално.
 
 
 Редактирано от БM21 на 22.11.10 23:40. 
 
 |  |  |  
             | 
                 
                   | Тема |  Re: Каква е разликата?  [re: БM21] |  |  | Автор | | (>[2] /dev/null) |  | Публикувано | 23.11.10 00:18 |  |  | 
           
 Защото единствения низ, който можеш да запишеш в 1 байт е празния низ.
 
 The last good thing written in C was Franz Schubert's Symphony No. 9.
 
 
 |  |  |  
             | 
                 
                   | Тема |  Re: Каква е разликата?  [re: |] |  |  | Автор | БM21 (непознат
) |  | Публикувано | 23.11.10 00:31 |  |  | 
           
 Благодаря!
 Ама и аз съм една Червена шапчица
 Вярно, че тези тъпи декларации на низове показват не реалния размер , а едно по-малко, а някакви настройки на средата са махнали range check и вместо да гърми - върши глупости при 1.
 
 
 
 
 |  |  |  |  
 
Страници по тази тема: 1 | 2 | (покажи всички) |   | 
 |