Форум программистов, компьютерный форум CyberForum.ru

подскажите в чём ошибка? - C++

Восстановить пароль Регистрация
 
ijonhson
 Аватар для ijonhson
47 / 47 / 1
Регистрация: 09.03.2011
Сообщений: 584
12.03.2011, 16:18     подскажите в чём ошибка? #1
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
#include <iostream>
using namespace std;
void func(char ar[],int nar)
{
     int i=0;
     for(;i<nar;i++);
     cout <<"ЭВведи имя:";
     cin >>ar[i];
     }
     void func2(char ar1[],int nar1)
     {
          int l=0;
          for(;l<nar1;l++);
          cout << ar1[l];
          }
int main()
    {
    int z=10;
    char kol[z];
    
    func(kol[],z);
    func2(kol[],z);
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
12.03.2011, 16:21     подскажите в чём ошибка? #2
ijonhson,
C++
1
2
func(kol,z);
func2(kol,z);
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
12.03.2011, 16:21     подскажите в чём ошибка? #3
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
#include <iostream>
using namespace std;
void func(char ar[],int nar)
{
int i=0;
for(;i<nar;i++);
cout <<"ЭВведи имя:";
cin >>ar[i];
}
void func2(char ar1[],int nar1)
{
int l=0;
for(;l<nar1;l++);
cout << ar1[l];
}
int main()
{
const int z=10;
char kol[z];
 
func(kol,z);
func2(kol,z);
return 0;
}
talis
 Аватар для talis
789 / 541 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
12.03.2011, 16:31     подскажите в чём ошибка? #4
ijohnson, если бы вы оформляли код понятно, вам бы многое бросилось в глаза. Вот ваш код:

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
#include <iostream>
 
using namespace std;
 
void func(char ar[],int nar)
{
   int i = 0;
   
   for(; i < nar; i++)
      ;
      
   cout << "ЭВведи имя:";
   cin >> ar[i];
}
 
void func2(char ar1[],int nar1)
{
   int l = 0;
   
   for(; l < nar1 ; l++)
      ;
      
   cout << ar1[l];
}
 
int main()
{
   int z=10;
   char kol[z];
 
   func(kol[],z);
   func2(kol[],z);
   
   return 0;
}
Бросается в глаза:

1) точка с запятой после for'ов - зачем?
2) передача массивов не через указатель
3) собственно, вызовы func и func2 - а именно синтаксис первого параметра.

Чтобы вам помогли, попробуйте таки объяснить, чего вы пытались этим добиться?

Добавлено через 2 минуты
А так же указание размера статически создаваемого массива через переменную, а не константу, и объявление счётчиков for'ов до for'ов. И использование этих счётчиков вне for'ов.

Добавлено через 2 минуты
Если вы хотите ввод-вывод, это делается так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
 
using namespace std;
 
int main()
{
   char buff[ 256 ];
   
   cout << "> ";
   cin.getline( buff, 256 );
   cout << "You typed: " << buff << endl;
   
   system( "pause > nul" ); //Г*Г* windows
   
   return 0;
}
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
12.03.2011, 16:31     подскажите в чём ошибка? #5
ijonhson,
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
#include <iostream>
#include <cstdlib>
 
using namespace std;
void func(char ar[],int nar)
{
int i=0;
for(;i<nar;i++);
cout <<"ЭВведи имя:";
cin>>ar;
}
void func2(char ar1[],int nar1)
{
int l=0;
for(;l<nar1;l++)
cout << ar1[l];
}
int main()
{
int z=10;
char kol[z];
func(kol,z);
func2(kol,z);
system("pause");
return 0;
}
IrineK
Заблокирован
12.03.2011, 19:13     подскажите в чём ошибка? #6
ijonhson
у вас план - обработать имя одного kol (назовем его колхозником).
Или же задумка была создать массив из нескольких имен?

Добавлено через 2 часа 41 минуту
Такое впечатление, что все-таки планировался массив строк.
Если это так, тогда:
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
#include <iostream>
#include <string>
using namespace std;
 
void func(string ar[],int nar)
{
int i=0;
for(;i<nar;i++)
    {   cout <<"Введите имя:\t";
        cin>>ar[i];
    }
}
 
void func2(string* name, int num)
{
    cout << "\t"<<num+1<<". "<<*name<<endl;
}
 
int main()
{
setlocale(LC_ALL, "");
const int z=5;
string* kol = new string[z];
 
func(kol,z);
 
cout<<"\n\nКолхозники:\n";
for(int i=0;i<z;i++)
    func2(&kol[i],i);
cout<<"должны обеспечить повышение рождаемости скота всеми доступными средствами.\n";
 
delete []kol;
return 0;
}
Yandex
Объявления
12.03.2011, 19:13     подскажите в чём ошибка?
Ответ Создать тему
Опции темы

Текущее время: 04:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru