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

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

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

Укажите на ошибку или исправте!!! - C++

09.01.2011, 23:09. Просмотров 309. Ответов 2
Метки нет (Все метки)

Здраствуйте!! написал консольную программу которая захватывает написанную строку, потом проверяет её на наличие Больших и маленьких букв!!! большие записывает в один массив, а маленькие в другой, в итоге в конце должно выводить количество больших букв и перечисление их, и количество маленьких и перечисление их!!!

значить вроде всё правильно написал!!! запустил ввёл строку нажал Энтер!! и всё!!! программа не риагирует!! выхожу из неё только с помощью ctrl+break !!!
подскажите где ошибка в коде??? или измените малость да так чтобы работало))))

вот код:

Код
#include <cctype>  // функции isupper и islower

using namespace std;

int main()
{
 char str [80], b[80], sm[80];
 int i,big,small;
 big=0;
 small=0;


 cout << "vvedi text -> : ";
 cin.getline(str,sizeof(str));   //захват строки и записывание её в массив str

 for (i=0; str[i]; i++) {           // запуск цыкла str
 for (i=0; b[i]; i++) {             //  запуск цыкла b
 for (i=0; sm[i]; i++) {           //  запуск цыкла sm

 if (isupper (str[i])){             // если большие
   b[i]=str[i];                       //большая буква записываеться в массив b
   big=big+1;}                     // подсчёт количества букв
 else if (islower (str[i])){       //если маленькие
    sm[i]=str[i];                   // маленькая буква записываеться в массив sm
   small=small+1;}               // подсчёт количества букв 

};};};

for (i=0; b[i]; i++) {
cout << "\n" <<"Bolshih " << big <<" shtuk, vot oni ->:" << b[i] << '\n';  
};

for (i=0; sm[i]; i++)  {
cout << "\n" <<"Malenkih " << small <<" shtuk, vot oni ->:" << sm[i] ;
};
 getch ();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.01.2011, 23:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Укажите на ошибку или исправте!!! (C++):

Исправте ошибку - C++
#include &lt;conio.h&gt; #include &lt;iostream.h&gt; long fact (int n) { if (n==0) return 1; else return fact(n-1)*n; ...

Исправте ошибку. - C++
Дана программа: но программа борланд С++ пишет что найдена ошибка в 46 рядке, и я хз как эту ошибку исправить(( #include&lt;iostream.h&gt; ...

Просто исправте ошибку - C++
//---------------------------------------------------------------------------- #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include...

Исправте пожалуйста ошибку - C++
Нжно в двовымерный массив добавить в начало К строк. Весь код: // regre.cpp : main project file. #include &quot;stdafx.h&quot; #include...

Исправте пожалуйста ошибку в работа по файлам. - C++
Вот условие и код.Не могу доделать до ума.... 1.Написать программу формирования ведомости об успеваемости студентов. Каждая запись этой...

Исправте ошибку программе с ++ в 6 версии визуал студио - C++
Незнаю как исправить для 6 версии, помогите! #include &lt;iostream.h&gt; #include &lt;conio.h&gt; using namespace std; int main() { ...

2
Kenwood2010
48 / 59 / 7
Регистрация: 26.11.2010
Сообщений: 192
09.01.2011, 23:22 #2
а зачем тройной цикл!
делай цикл только для str.

Добавлено через 3 минуты
в работе...

Добавлено через 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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <cctype>
 
 
using namespace System;
using namespace std;
 
 
 int main ()
{
char str [80] = "/0", b[80] = "/0", sm[80] = "/0";
 int i = 0, j = 0, k = 0; 
 int big = 0,small = 0;
 
 
 cout << "vvedi text -> : ";
 cin.get(str,79);   //захват строки и записывание её в массив str
 
 for (i=0; i < strlen (str); i++) 
 {           // запуск цыкла str
  if (isupper (str[i])){             // если большие
   b[j++]=str[i];                       //большая буква записываеться в массив b
   big++;
  }                     // подсчёт количества букв
 else if (islower (str[i])){       //если маленькие
    sm[k++] = str[i];                   // маленькая буква записываеться в массив sm
   small++;
 }               // подсчёт количества букв 
 
}
 
for (i=0; i < strlen(b); i++) 
{
cout << endl <<"Bolshih " << big <<" shtuk, vot oni ->:" << b[i];  
}
 
for (i=0; i < strlen(sm); i++)
{
cout << endl <<"Malenkih " << small <<" shtuk, vot oni ->:" << sm[i] ;
}   
 
getch();
return 0;
}
1
nuSan
0 / 0 / 0
Регистрация: 24.12.2010
Сообщений: 127
10.01.2011, 00:13  [ТС] #3
спасибо большое!!! программа работает!!!

я и ваще както про strlen() не подумал!!! ))) да и ваще у меня немного другой метод написания программы)))
но главное что работает)))
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.01.2011, 00:13
Привет! Вот еще темы с ответами:

Укажите на ошибку - C++
Проблема с enum. Пишет что, нужно что-то перед enum. Поясните пожалуйста #include &lt;iostream&gt; using namespace std; int main() ...

Укажите ошибку! - C++
В строке удвоить все символы ‘&amp;’. Под вставкой символа n в строку после к-го элемента понимается смещение всех элементов, начиная с...

Укажите на ошибку - C++
Привет, есть проект, в нем был только один файл core.cpp в нем было и объявления функций и их описания, короче говоря все было в одном...

Укажите на ошибку - C++
Подскажите ошибку пожалуйста #include &lt;iostream&gt; #include &lt;math.h&gt; using namespace std; void main() ...


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

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

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