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

Другой алгоритм(более простой) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Heap corruption detected: after normal block (#153) at 0x00345730 http://www.cyberforum.ru/cpp-beginners/thread237144.html
#ifndef COW_H__ #define COW_H__ class Cow { char name; char *hobby; double weight; static int num;// chislo obektov
C++ 5 м/с и 5 км/ч. Что больше? 5 м/с и 5 км/ч. что больше? Нужно составить программу С++. Именуйте темы осмысленно. Название темы должно максимально полно отражать ее содержание. http://www.cyberforum.ru/cpp-beginners/thread237127.html
В чем ошибка? C++
Здраствуйте читаю книгу Джесса Либерти С++ за 21 день, там вот такая функция: функция которая принимает два целочисленных параметра и возвращает целочисленное значение. #include <iostream> using namespace std; int Add (int x, int y) { cout <<"In Add(),received "<<x << "and "<< y <<"\n"; } int main() {
Почему массив не переполняется? C++
Вот в одной книге есть задание создать вектор и скопировать элементы в массив. Почему массив не переполняется в следующем коде, какая-то загадка для меня. Вроде бы после введения 2-3 элементов он не должен больше принимать, а он принимает, и только после введения 6 элементов программа завершается с ошибкой, а 5 спокойно запоминает, ладно бы вектор, а тут массив, вроде бы с определенным размером:...
C++ Чётные слова в строке http://www.cyberforum.ru/cpp-beginners/thread237062.html
Ввести строку. На экран вывести все чётные слова. #include "StdAfx.h" #include<conio.h> #include <ctime> #include <iostream> #include <math.h> #include <string> using namespace std;
C++ Программа перевода систем счисления Не могу написать программу по переводу числа из 10-ой в 2-ую. Смотрел другие темы не понял да и программы там не понятные были. Если поможете, то не могли бы написать комментарии чтобы мне было понятно (я только учусь) подробнее

Показать сообщение отдельно
Дмитрий Але
0 / 0 / 0
Регистрация: 16.01.2011
Сообщений: 14
02.02.2011, 11:09     Другой алгоритм(более простой)
Призываю к помощи истинных знатоков для решения более простым способом(как я понял без массива и с помощью подпрограмм) данных задач:

1.Дан текст произвольной длины, оканчивающийся точкой с запятой. Подсчитать количество цифр в тексте.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream.h>
#include <string.h>
 
int main(){
int chislo=0;                                             //считает количество цифр
int strl;                                                    //содержит длину строки
char stroka[512];                                      //хранит введенную строку
cin.getline(stroka,sizeof(stroka),' ;');           //сохраняет введенную строку в переменную strl
strl=strlen(stroka);                                   //определяем длину строки
for (int i=0;i<strl;i++){                             //запускаем цикл и пробегаем каждый символ строки
switch(stroka[i]){                                     //если символ строки совпадает с одной из цифр, то
case'0':case'1':case'2':case'3':case'4':case'5':case'6':case'7':case'8 ':case'9': chislo++;break;    //увеличиваем chislo на единицу
default:break;                                         //если не совпало - увеличиваем i на единицу и переходим к след символу в строке
}
}                                                          //и так до последнего символа
 
cout<<"schislo= "<<chislo;                     //выводим кол-во цифр в строке
return 0;                                               //конец программы
}


2. Даны две строки длиной до 80 символов.
а) Определить, в какой строке больше цифр: в первой или во второй (вывести соответствующее сообщение).

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/* proga4 */
#include <iostream.h>
 
int main(){
char str1[80]="",str2[80]="";  // хранит введеные строки
int ch1=0,ch2=0;
cin.getline(str1,80,'\n');   // сохраняет введеные строки в переменную str1
cin.getline(str2,80,'\n');  );   // сохраняет введеные строки в переменную str2
for (int i=0;i<80;i++){       // запускает цикл и пробегает каждый символ строки
  switch(str1[i]){              //если  совпадает с условием,то
   case'0':case'1':case'2':case'3':case'4':case'5':case'6':case'7':case'8':case'9':ch1++;break;                         //увеличиваем число на единицу
   default:break;             //переходим на другой символ
 }
}
for (int i=0;i<80;i++){
 switch(str2[i]){
   case'0':case'1':case'2':case'3':case'4':case'5':case'6':case'7':case'8':case'9':ch2++;break;
   default:break;
 }
}
return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 18:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru