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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Евгений256
0 / 0 / 0
Регистрация: 21.07.2013
Сообщений: 4
#1

char[] - C++

21.07.2013, 11:32. Просмотров 337. Ответов 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
25
26
27
28
29
30
31
32
33
34
#include <iostream>
 
using namespace std;
#define N 4
#define S 2
 
int main()
{
    int rate;
    int s=0;
 int massiv[N][S];
 char *massiv2[N+2]{"\0","\0","двоек\0","троек\0","четвёрок\0","пятёрок\0"};
 
 for(int i=0;i<N;i++)
 {
  cin>>massiv[i][0];
  cin>>massiv[i][S-1];
 }
 
 for(int i=0;i<N;i++)
 s+=massiv[i][S-1];
 
 cout<<"Rezultati ekzamena:\n";
 cout<<"---------------------\n";
 for(int i=0;i<N;i++)
 {
 rate=((float)massiv[i][S-1]/s)*100;
  cout<<massiv2[massiv[i][0]]<<"\t";
 cout<<massiv[i][S-1]<<"\t";
 cout<<rate<<"%"<<endl;;
 }
 
    return 0;
}


Решал очередную задачку и обнаружил, что при инициализации массива char[6] шестью элементами у меня вылетает ошибка: too many initializers for char [6]. Но если инициализировать массив указателей, то всё отлично работает.
Почему так?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.07.2013, 11:32
Здравствуйте! Я подобрал для вас темы с ответами на вопрос char[] (C++):

(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const& - C++
astxx::manager::connection::connection(std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, unsigned short); ...

Ошибка в cannot convert char * to char вроде поправил теперь выводит ересь( - C++
Всем доброго дня! У меня такая проблемка.... написал программу, но сначала она ругалась на Cannot convert char* to char теперь вроде...

Error C2664: sprintf: невозможно преобразовать параметр 1 из 'const char *' в 'char *' - C++
error C2664: sprintf: невозможно преобразовать параметр 1 из 'const char *' в 'char *' void crpost(const statep &amp;struc1) { ...

Ошибка: call of overloaded 'strchr(char&, char)' is ambiguous - C++
Здравствуйте, прога почему-то ругается на функцию strchr, вот кусок кода: #include &lt;stdio.h&gt; #include &lt;iostream&gt; #include...

Ошибка: initializing argument 2 of `char* fgets(char*, int, FILE*) - C++
Написать программу, которая считывает текст из файла и выводит на экран только строки, содержащие двузначные числа Помогите...

Различное поведение функции которая копирует строки с char* t и char t[] - C++
столкнулся с ситуацией которую не могу объяснить пишем функцию которая копирует одну строку в другую: void strstr(char* t,...

3
OhMyGodSoLong
~ Эврика! ~
1244 / 993 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
21.07.2013, 11:41 #2
Ну, да... char[6] — массив из шести символов, (char*)[6] — массив из шести указателей на символ (читай: строк). 'x' — символ. "foo" — строка.

Влезет ли строка "строка" в массив из шести семи char — зависит от реализации.
1
castaway
Эксперт С++
4885 / 3020 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
21.07.2013, 11:50 #3
Проблема в том что ты = в 12-й строке забыл.
OhMyGodSoLong, он объявил массив указателей на char, т.ч. все правильно. Осталось только const в начале добавить.
0
alsav22
5425 / 4820 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
21.07.2013, 11:52 #4
lazybiz, ТС не про то спросил. Как он это делал:
Цитата Сообщение от Евгений256 Посмотреть сообщение
при инициализации массива char[6] шестью элементами у меня вылетает ошибка:
в коде нет.
А вот это в коде есть:
Цитата Сообщение от Евгений256 Посмотреть сообщение
Но если инициализировать массив указателей, то всё отлично работает.
0
21.07.2013, 11:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.07.2013, 11:52
Привет! Вот еще темы с ответами:

array char* to char* (значения массива указателей в один указатель) - C++
Как сложить(или вывести в формате char*) все значения массива указателей(char *) воедино, то есть сложить строки и назначить результату...

Сделать преобразование unsigned char в char, а затем типу int - C++
Здраствуйте, есть вопрос: Число представлено двумя полями: типа long для рублей и unsigned char - для копеек. Собственно что мне...

функция возвращает массив слов, содержащихся в текстовом сообщении char* Words(char *s) - C++
Стоит такая задача: функция должна возвратить массив слов, содержащихся в текстовом сообщении char* Words(char *s) Как это можно...

Ошибка в работе с файлами: error: incompatible types in assignment of ‘char*’ to ‘char* [255]’ - C++
Суть задания Есть файл допустим 1.txt нужно выполнить обработку этого файла а результат вывести в этот же файл с другим расширением ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru