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

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

Войти
Регистрация
Восстановить пароль
 
anonimmm1
Сообщений: n/a
#1

Индекс первой точки в массиве - C++

19.02.2011, 20:19. Просмотров 317. Ответов 3
Метки нет (Все метки)

условие проги:"Ввести символьный массив из 15-ти или меньшего количества элементов и найти индекс первой точки в этом массиве"
программа работает. в принципе со всем я разобрался. но одно условие не работает. необходимо найти индекс ПЕРВОЙ точки , а по умолчанию выдает индекс ПОСЛЕДНЕЙ точки. Как изменить?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
{
const int N=15;
char massiv[N];
int inddot=0, t=Edit1->GetTextLen();
if (t>N) t=N;
Edit2->Clear();
for(int i=0;i<t;i++)
 {
 massiv[i]=Edit1->Text[i+1];
 if (massiv[i]=='.') inddot=i;
 }
Edit2->Text=IntToStr(inddot);
}
пробовал ставить условие на поиск минималного индекса элемента с точкой. но ничего не получается(.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
{
const int N=15;
char massiv[N];
int inddot=0, fi=0, t=Edit1->GetTextLen();
if (t>N) t=N;
Edit2->Clear();
for(int i=0;i<t;i++)
 {
 massiv[i]=Edit1->Text[i+1];
 if (massiv[i]=='.') inddot=i;
 }
if(inddot>fi) fi=inddot;
Edit2->Text=IntToStr(fi);
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.02.2011, 20:19     Индекс первой точки в массиве
Посмотрите здесь:

C++ Рекурсия: вывести последовательность символов до первой точки
C++ Определить индекс наибольшего элемента в одномерном массиве
C++ функция увеличивающая и уменьшающая индекс элемента в массиве
Вывести содержимое до первой точки C++
Найти первый отрицательный элемент и его индекс в массиве C++
C++ Как по указателю на символ найти его индекс в массиве?
Индекс второго отрицательного элемента в массиве C++
C++ Найти индекс элемента, равного 3, в одномерном массиве
Индекс максимального элемента в массиве C++
C++ В массиве найти индекс первого нулевого элемента
C++ Алгоритм. В массиве, поменять местами индекс со значением
C++ Индекс первого числа в массиве

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
besstiaa
 Аватар для besstiaa
93 / 93 / 7
Регистрация: 04.06.2010
Сообщений: 223
19.02.2011, 21:17     Индекс первой точки в массиве #2
Наверно проще всего сделать 2 отдельных цикла.

C++
1
2
3
4
5
6
7
8
9
for(int i=0;i<t;i++)
    massiv[i]=Edit1->Text[i+1];
 
for(int i=0;i<t;i++)
     if (massiv[i]=='.') 
     {
           inddot=i;
           break;
     }
anonimmm1
Сообщений: n/a
19.02.2011, 22:00     Индекс первой точки в массиве #3
Цитата Сообщение от besstiaa Посмотреть сообщение
Наверно проще всего сделать 2 отдельных цикла.

C++
1
2
3
4
5
6
7
8
9
for(int i=0;i<t;i++)
    massiv[i]=Edit1->Text[i+1];
 
for(int i=0;i<t;i++)
     if (massiv[i]=='.') 
     {
           inddot=i;
           break;
     }
спасибо все пошло благодаря оператору break
C++
1
break;
Добавлено через 8 минут
Решено.
Окончательный код программы:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
const int N=15;
int k=0,
massiv[N],
t=Edit1->GetTextLen();
if (t>N) t=N;
Edit2->Clear();
for(int i=0;i<t;i++)
massiv[i]=Edit1->Text[i+1];
for(int i=0;i<t;i++)
if(massiv[i]=='.')
   {
    k=i; break;
   }
Edit2->Text=IntToStr(k);
}
easybudda
Эксперт С++
 Аватар для easybudda
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
19.02.2011, 22:10     Индекс первой точки в массиве #4
C
1
2
3
#include <string.h>
...
printf("%d", strchr(str, '.') - str);
это, если не задаваться вопросом, есть ли в строке точка...
Yandex
Объявления
19.02.2011, 22:10     Индекс первой точки в массиве
Ответ Создать тему
Опции темы

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