Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
5 / 5 / 5
Регистрация: 20.11.2010
Сообщений: 173
1

Поиск в массиве

07.05.2011, 23:10. Показов 536. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
нашел код

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>
 
using namespace std;
 
int main( void ) {
 
int index= -1, key, i;
 
cout <<"Enter key:";
cin >>key;
 
const int N= 10;
int a[N]= { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
 
for ( i= 0; i<N; i++ ) {
        if ( key == a[i] ) { index= i; break; }
}
 
if ( index>=0 ) {
        cout <<"Found index: " <<index <<"\n";
} else {
        cout <<"Not found index\n";
}
return 0;
 
}
переделал в

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
#include <iostream>
 
using namespace std;
 
int main( void ) {
 
int index= -1, i;
char key;
 
cout <<"Enter key:";
cin >>key;
 
const int N= 10;
char a[N]= { "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX", "X" };
 
for ( i= 0; i<N; i++ ) {
        if ( key == a[i] ) { index= i; break; }
}
 
if ( index>=0 ) {
        cout <<"Found index: " <<index <<"\n";
} else {
        cout <<"Not found index\n";
}
return 0;
 
}
не компилируется
в чем моя ошибка
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.05.2011, 23:10
Ответы с готовыми решениями:

Поиск в одном массиве элементов, которых нет в другом массиве
Помогите, пожалуйста, не могу догадаться как исправить код, чтоб вывел решение следующей задачи: ...

Элементы, которые присутствуют в массиве А, но отсутствуют в массиве В (сортировка - выбором, поиск - двоичный)
элементы, которые присутствуют в массиве А, но отсутствуют в массиве В алгоритм сортировки:Выбором...

В одномерном массиве состоящем из n вещественных элементов сделать бинарный поиск числа А в упорядоченном массиве
Всем привет помогите решить задачи 1) В одномерном массиве состоящем из n вещественных элементов:...

Поиск заданного элемента в упорядоченном массиве (бинарный поиск)
Заполнить одномерный массив из n элементов согласно таблицы. Размерность массива задать в виде...

4
108 / 108 / 23
Регистрация: 21.03.2010
Сообщений: 445
08.05.2011, 00:29 2
C++
1
char a[N]= { "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX", "X" };
так нельзя. можно так:
C++
1
char a[][5]= { "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX", "X" };
Добавлено через 5 минут
Так будет норм, вроде-бы
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
#include<iostream>
#include<cstring>
using namespace std;
 
int main( void ) {
 
    int index= -1, i;
    char key[5];
 
    cout <<"Enter key:";
    cin >>key;
 
    const int N= 10;
    char a[][5]= { "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX", "X" };
 
    for ( i= 0; i<N; i++ )
        if ( strstr(key, a[i])) { index= i; break; }
 
    if ( index>=0 )
        cout <<"Found index: " << index + 1 <<"\n";
    else
        cout <<"Not found index\n";
    return 0;
 
}
1
5 / 5 / 5
Регистрация: 20.11.2010
Сообщений: 173
08.05.2011, 15:46  [ТС] 3
Цитата Сообщение от CEBEP Посмотреть сообщение
C++
1
char a[N]= { "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX", "X" };
так нельзя. можно так:
C++
1
char a[][5]= { "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX", "X" };
Добавлено через 5 минут
Так будет норм, вроде-бы
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include<iostream>
#include<cstring>
using namespace std;
 
int main( void ) {
 
    int index= -1, i;
    char key[5];
 
    cout <<"Enter key:";
    cin >>key;
 
    const int N= 10;
    char a[][5]= { "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX", "X" };
 
    for ( i= 0; i<N; i++ )
        if ( strstr(key, a[i])) { index= i; break; }
 
    if ( index>=0 )
        cout <<"Found index: " << index + 1 <<"\n";
    else
        cout <<"Not found index\n";
    return 0;

спасибо, а почему именно так

C++
1
char a[][5]= { "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX", "X" };
это типа 10 элементов, каждый из которых в свою очередь состоит из 5?

Добавлено через 1 час 19 минут
з.ы. работает не совсем корректно
0
108 / 108 / 23
Регистрация: 21.03.2010
Сообщений: 445
08.05.2011, 15:57 4
Достаточно тут поменять местами...
C++
1
strstr(a[i],key)
а char a[][5] получается следующим образом:
вы создаёте массив символьных массивов. Самый длинный из них - VIII, это 4 символа + нулевой, таким образом мы получаем длину массива символов. а первые [] оставлены пустыми потому, что количество строковых массивов компилятор может взять из их количества в инициализирующей строке. если режет глаз - можно вставить туда N
1
5 / 5 / 5
Регистрация: 20.11.2010
Сообщений: 173
08.05.2011, 16:02  [ТС] 5
Цитата Сообщение от CEBEP Посмотреть сообщение
Достаточно тут поменять местами...
C++
1
strstr(a[i],key)
а char a[][5] получается следующим образом:
вы создаёте массив символьных массивов. Самый длинный из них - VIII, это 4 символа + нулевой, таким образом мы получаем длину массива символов. а первые [] оставлены пустыми потому, что количество строковых массивов компилятор может взять из их количества в инициализирующей строке. если режет глаз - можно вставить туда N
Все отлично, очень благодарен Вам
0
08.05.2011, 16:02
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.05.2011, 16:02
Помогаю со студенческими работами здесь

Поиск заданного элемента в упорядоченном массиве(бинарный поиск)
Заполнить одномерный массив из n элементов по формуле приведенной в картинке. Размерность массива...

Поиск числа в двумерном массиве (бинарный поиск)
Произвожу поиск элемента в массиве двумя способами: линейным(последовательным) поиском и...

Поиск в массиве. Время, затраченное на поиск.
Вот код: import java.io.*; public class mas { /** * @param args */

Поиск подмассива в массиве. Поиск значения
Помогите исправить программу. вот условие и текст Даны два целочисленных массива X(n) и Y(m)...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru