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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.63
sergey.shuvalov
-6 / 1 / 0
Регистрация: 06.11.2011
Сообщений: 266
#1

Сравнение элементов символьного массива - C++

24.11.2011, 18:32. Просмотров 2505. Ответов 2
Метки нет (Все метки)

Есть символьный массив А, состоящий из 729 строк и 15 столбцов, который скачивается из файла. Есть символьный массив В, состоящий из одной строки и 15 столбцов, который задаётся в самом начале. Нужно найти в массиве А строки, совпадающими со строкой массива В на 8 символов и вывести на экран. Но при компиляции показывает одну ошибку в 34 строке. Почему ?



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
#include <iostream>
#include <fstream>
#include <iomanip>
 
using namespace std;
 
 
int main()
  {
const int row = 729, column = 15;
    char A[row][column];
    char B[] = {'2','1','1','1','1','1','1','1','1','1','1','1','2','1','2'};
    int counter;
    //создаем объект класса ifstream
    //и сразу указываем файл, с которого будем читать
    ifstream f("array.txt");
 
    //читаем файл и прочитанное запоминаем в массив
    for(int i = 0; i < row; i++)
        for(int j = 0; j < column; j++)
            f >> A[i][j];
 
    for(int i = 0; i < row; i++)
      counter = 0;
 
     {
 
               for(int j = 0; j < column; j++)
         {
 
 
 
                      if(A[i][j] == B[j])
                     counter = counter + 1;
         }
 
                      if(counter == 8)
                     {
                       for(int j = 0; j < column; j++)
 
                       cout << A[i][j];
                     }
 
                       cout << endl;
 
      }
 
         return 0;
  }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.11.2011, 18:32     Сравнение элементов символьного массива
Посмотрите здесь:

C++ Найти сумму кодов всех элементов символьного массива
Сравнение элементов массива C++
C++ Сравнение числа и 10 элементов массива
C++ Сравнение элементов массива
Сравнение элементов двумерного динамического массива C++
C++ Определение чисел среди элементов символьного массива
C++ Сравнение элементов двумерного массива
C++ Сравнение элементов двумерного массива
За счёт адресной арифметики посчитать сумму элементов последовательности из 15 элементов символьного типа C++
Сравнение элементов двумерного массива C++
Сравнение элементов массива C++
Ввести символьный массив; найти адрес всех парных его элементов символьного массива C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Сыроежка
Заблокирован
24.11.2011, 18:39     Сравнение элементов символьного массива #2
sergey.shuvalov,

Потому что в этой строке

C++
1
                      if(A[i][j] == B[j])
компилятор не знает, что эта за переменная i, так как это предложение не входит в тело вашего цикла

C++
1
    for(int i = 0; i < row; i++)
как вы наверное думаете. Так как тело этого вашего цикла состоит всего лишь из одного предложения, на котором и заканчивается


C++
1
2
   for(int i = 0; i < row; i++)
      counter = 0;
Все, что ниже идет, к этому циклу отноешения не имеет.
sergey.shuvalov
-6 / 1 / 0
Регистрация: 06.11.2011
Сообщений: 266
24.11.2011, 18:55  [ТС]     Сравнение элементов символьного массива #3
Всё исправил. Всё работает. Огромнейшее спасибо !
Yandex
Объявления
24.11.2011, 18:55     Сравнение элементов символьного массива
Ответ Создать тему
Опции темы

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