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

Выдаёт ошибку на компиляции - C++

Восстановить пароль Регистрация
 
sergey.shuvalov
-2 / 1 / 0
Регистрация: 06.11.2011
Сообщений: 259
10.11.2011, 18:49     Выдаёт ошибку на компиляции #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
/Создание цикла преобразования
  const int rowe = 9, columne = 4;//Размер преобразованного массива
  float arraye[rowe][columne] //Дробный двумерный массив
 { 
        for(int i = 0; i < rowe; i++)//строка массива
          { 
             for(int j = 0; j < columne; j++)//столбец массива
 
      if(char array[rowe][columne] == '1')
 
            {float arraye[rowe][columne] = float arra[0][columne]}
 
      else if(char array[rowe][columne] == 'X')
            
            {float arraye[rowe][columne] = float arra[1][columne]}
 
      else if(char array[rowe][columne] == '2')
 
            {float arraye[rowe][columne] = float arra[2][columne]}
 
      else
 
            {cout <<"Nepravilno vvedeny dannye" <<endl;}
 }
Почему ?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,131
10.11.2011, 18:54     Выдаёт ошибку на компиляции #2
Цитата Сообщение от sergey.shuvalov Посмотреть сообщение
/Создание цикла преобразования
На этом месте.
Nameless One
Эксперт С++
 Аватар для Nameless One
5753 / 3402 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
10.11.2011, 18:55     Выдаёт ошибку на компиляции #3
  1. пропущена точка с запятой после объявления массива
  2. непонятно, к чему тут блок "{}" после объявления массива
  3. в строках 11,15,19 пропущена ";"
  4. лишние аннотации типов
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,131
10.11.2011, 18:55     Выдаёт ошибку на компиляции #4
Цитата Сообщение от sergey.shuvalov Посмотреть сообщение
float arraye[rowe][columne]
Нет точки с запятой.
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
10.11.2011, 18:56     Выдаёт ошибку на компиляции #5
array[ i ][ j ] == 'X'
и т.д.
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,131
10.11.2011, 18:56     Выдаёт ошибку на компиляции #6
Цитата Сообщение от sergey.shuvalov Посмотреть сообщение
if(char array[rowe][columne] == '1')
Зачем тут тип? Да и выход за границы массива тут.
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
10.11.2011, 18:58     Выдаёт ошибку на компиляции #7
Цитата Сообщение от sergey.shuvalov Посмотреть сообщение
float arra[0][columne]
выход за пределы массива

Добавлено через 33 секунды
Цитата Сообщение от Chelioss Посмотреть сообщение
Зачем тут тип?
это другой массив, смотри внимательней названия, они похожи
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,131
10.11.2011, 19:00     Выдаёт ошибку на компиляции #8
Да у вас почти в каждой строке ошибки. Срочно читать книжки, а не учится методом тыка.
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
10.11.2011, 19:00     Выдаёт ошибку на компиляции #9
короче тут легче сосчитать правильные лексемы, чем неправильные
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,131
10.11.2011, 19:00     Выдаёт ошибку на компиляции #10
Цитата Сообщение от alkagolik Посмотреть сообщение
это другой массив, смотри внимательней названия, они похожи
Т.е. вас конструкция
C++
1
if(char array[rowe][columne] == '1')
устраивает?
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
10.11.2011, 19:07     Выдаёт ошибку на компиляции #11
Цитата Сообщение от Chelioss Посмотреть сообщение
устраивает?
нет

Добавлено через 5 минут
sergey.shuvalov, ликбез
C
1
2
3
4
5
6
7
char array[ row ] [ collumn ]; // объявили массив ТОЛЬКО ОДНАЖДЫ
 
for (int i = 0; i < row; ++i)
     for (int j = 0; j < collumn; ++j)
          array [ i ] [ j ] = .... ; // используем массив, !!!ТИП ПИСАТЬ НЕ НАДО
 
array [ row ] [ collumn ] = 0; //обращение к несуществующей ячейке массива
в добавок - не пишите похожие имена переменным, а то всех запутали
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.11.2011, 20:09     Выдаёт ошибку на компиляции
Еще ссылки по теме:

C++ Выдаёт ошибку
Выдаёт ошибку C++
C++ Выдаёт ошибку при компиляции

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

Или воспользуйтесь поиском по форуму:
sergey.shuvalov
-2 / 1 / 0
Регистрация: 06.11.2011
Сообщений: 259
10.11.2011, 20:09  [ТС]     Выдаёт ошибку на компиляции #12
Нужно ввести символьный массив с внешнего файла ввожу, нужно ввести дробный массив с клавиатуры ввожу. всё получается. Но когда начинаю преобразовывать символный файл в дробный на основе замены символов в дробные числа, ничего не получается. Вот программа целиком:

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
//Как заполнить двумерный массив из файла
 
#include <iostream>
#include <fstream>
#include <iomanip>
 
using namespace std;
 
//функция выводит массив на экран
void printArray(char array[][4], const int row, const int column)
{
    cout << "Poluchennyj massiv\n";
 
    for(int i = 0; i < row; i++)
    {
        for(int j = 0; j < column; j++)
            cout << setw(4) << array[i][j];
 
        cout << endl;
    }
}
//функция выводит дробный массив на экран
void printArra(float arra[][4], const int row, const int column)
{
    cout << "\n\nPoluchennyj massiv\n";
 
    for(int i = 0; i < row; i++)
    {
        for(int j = 0; j < column; j++)
        cout << setw(4) << arra[i][j];
 
        cout << endl;
    }
}
//Инициализация преобразованного двумерного массива
 void printArraye(float arraye[][4], const int rowe, const int columne)
 {
   cout << "Preobrazovanye massiv\n";
   for(int i=0; i<rowe; i++)
    {
      for(int j = 0; j < columne; j++)
         cout << setw(4) << arraye[i][j];
         cout << endl;
    }
 }
 
int main()
{
    const int row = 9, column = 4;
    char array[row][column];
 
    //создаем объект класса ifstream
    //и сразу указываем файл, с которого будем читать
    ifstream f("array.txt");
 
    //читаем файл и прочитанное запоминаем в массив
    for(int i = 0; i < row; i++)
        for(int j = 0; j < column; j++)
            f >> array[i][j];
 
    //печатаем полученный заполненный массив
    printArray(array, row, column);
    const int ro = 3, colum = 4; //размеры массива
    float arra[ro][colum];        //двумерный массив
 
    for(int i = 0; i < ro; i++)   //строки массива
    {
        cout << "Vvodim " << i + 1 << " stroku\n"; //подсказка
 
        for(int j = 0; j < colum; j++)   //столбцы массива
        {
            cout << "Vvedite koefficient: ";  //выводим подсказку
            cin >> arra[i][j];                //запоминаем введенное значение
        }
    }
 
    printArra(arra, ro, colum);   //печатаем полученный массив
 
//Создание цикла преобразования
  const int rowe = 9, columne = 4;//Размер преобразованного массива
  float arraye[rowe][columne]; //Дробный двумерный массив
 {
        for(int i = 0; i < rowe; i++)//строка массива
          {
             for(int j = 0; j < columne; j++)//столбец массива
 
      if(array[i][j] == '1')
 
            arraye[i][j] = arra[0][j]
 
      else if(array[i][j] == 'X')
 
             arraye[i][j] = arra[1][j]}
 
      else if(array[i][j] == '2')
 
            {arraye[i][j] = arra[2][j]}
 
      else
 
            {cout <<"Nepravilno vvedeny dannye" <<endl;}
 }
 
 
 
    return 0;
}
Где ошибки ?

Добавлено через 31 минуту
УУУУУУУУУУУУРРРРРРРРРРРРРАААААААААААА!!!!!!!!!!!!!!!!!!!!!!!!!!
Получилось !!!!!!!!!!!!!!!
Yandex
Объявления
10.11.2011, 20:09     Выдаёт ошибку на компиляции
Ответ Создать тему
Опции темы

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