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

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

Войти
Регистрация
Восстановить пароль
 
Akbash
0 / 0 / 0
Регистрация: 30.07.2012
Сообщений: 38
#1

C++ почему прога вылетает, не успеваю посмотреть действие - C++

04.12.2012, 13:22. Просмотров 461. Ответов 1
Метки нет (Все метки)

дан массив строк, если какая либо строка заканчивается буквой k, то удалить эту строку, вод что я написал:
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
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <math.h>
#include <string>
#define n 100
 
int main()
{
int i,t;
string s[n],s1;
 
cout<<"vvedite n ";
cin>>t;
cout<<endl;
for (i=0;i<=t-1; i++) {
  cout<<"vedite "<<i<<"-oe slovo  ";
  cin>>s[i];           }
cout<<endl<<"ishodnaya posled-st slov = ";
for (i=0;i<=t-1; i++)
  cout<<s[i]<<" ";
cout<<endl;
 
for (i=0;i<=t-1; i++){
s1=s[i];
if (s1[s1.length()]!='k')
    cout<<s1<<" "; } 
    
  getch();
}
но не успеваю посмотреть
если убрать код:
C++
1
2
3
4
for (i=0;i<=t-1; i++){
s1=s[i];
if (s1[s1.length()]!='k')
    cout<<s1<<" "; }
то вывод осуществляется нормально

код который я написал:

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.h>
#include <conio.h>
#include <stdio.h>
#include <math.h>
#include <string>
#define n 100
 
int main()
{
int i,t,j=0,s2;
string s[n],k[n],s1;
 
cout<<"vvedite n ";
cin>>t;
cout<<endl;
for (i=0;i<=t-1; i++) {
  cout<<"vedite "<<i<<"-oe slovo  ";
  cin>>s[i];           }
cout<<endl<<"ishodnaya posled-st slov = ";
for (i=0;i<=t-1; i++)
  cout<<s[i]<<" ";
cout<<endl;
 
while (j<=n) {                                                            
              s1=s[j];
              s2=s1.length();
              if (s1[s2]!='k')
              cout<<s1;
              j++;
             }
 
 
  getch();
}
по моим рассуждениям он должен работать, часть программы которая отвечает за вывод работает нормально, но при подключении вот этой части:
C++
1
2
3
4
5
6
7
while (j<=n) {                                                            
              s1=s[j];
              s2=s1.length();
              if (s1[s2]!='k')
              cout<<s1;
              j++;
             }
программа вылетает, видимо мой алгоритм не верный. Пожалуйста напишите правильный код, 2 день изучаю С++, не понимаю в чем ошибка!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.12.2012, 13:22
Я подобрал для вас темы с готовыми решениями и ответами на вопрос C++ почему прога вылетает, не успеваю посмотреть действие (C++):

Вылетает программа, не успеваю даже посмотреть что написано - C++
Собственно программа просто вылетает с ошибкой 0. Я не успеваю даже посмотреть что написано. Подскажите пожалуйста. #include...

Вылетает прога - C++
Час понять не могу в чем ошибка #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; int main() { int a, b, n, m, i, j; scanf(&quot;%d...

Где посмотреть, сколько прога занимает по времени, байтам и еще мож чего интересного? - C++
где или как поглядеть все вышесказанное :) может сайт какой -нибудь чтоб проверка была, или даже в ВС написано где нибудь.

почему не работает прога? - C++
#include &lt;iostream&gt; #include &lt;iomanip&gt; using namespace std; void mean (const int, int); void median (const int, int); void...

не роботает прога,почему? - C++
#include &lt;iostream&gt; using namespace std; const int n=3, m=3; void main (){ int a; int N; int i,j; cout&lt;&lt;&quot;vvedit matrytsu&quot;;...

почему прога не пашет? - C++
/*Цель программы: Вычислить минимум F(x)=k*(a*x+b)*P(x) на отрезке с точностью eps P(x) - интерполяционный многочлен от f(x) ...

1
MrGluck
Модератор
Эксперт CЭксперт С++
7801 / 4845 / 754
Регистрация: 29.11.2010
Сообщений: 13,215
04.12.2012, 17:18 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <string>
#include <vector>
#include <sstream>
#include <algorithm>
#include <iterator>
 
int main()
{
    const std::size_t N = 5;
    std::vector<std::string> v(N);
    std::string tmp;
    for (std::size_t i=0; i < N && std::getline(std::cin, tmp); i++)
        v.push_back(tmp);
    auto it = std::remove_if(v.begin(), v.end(), [](const std::string s)
        { return *s.rbegin() == 'k'; } );
    std::cout << "After:\n";
    std::copy(v.begin(), it, std::ostream_iterator<std::string> (std::cout, "\n") );
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.12.2012, 17:18
Привет! Вот еще темы с ответами:

Почему вылетает - C++
Почему вылетает после того как вводишь position??? #include &lt;iostream.h&gt; enum Etype {laborer, secretary, manager, accountant,...

Почему прога не выходит из цикла? - C++
#include &lt;stdio.h&gt; int main () {unsigned int s,a,k,n,min,max,kol; min=0; a=0; s=0; kol=0; max=0; ...

вот прога почему то не работает - C++
#include &lt;iostream&gt; #include &lt;string&gt; using namespace std; int main (){ string str,slovo; int s=0; char m=0; ...

Почему программа вылетает - C++
Здраствуйте, почему, когда пишу: unsigned char* p = new unsigned char; программа НЕ вылетает, а когда пишу: unsigned char p; ...


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

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

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