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

Ввод строк на с++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Работа со списками http://www.cyberforum.ru/cpp-beginners/thread1016885.html
Помогите решить задание. Описати функцію, яка друкує у зворотному порядку значення елементів списку. Тип даних - double
C++ Двухмерный массив, среднее значение столбцов, сортировка по возрастанию этих значений Дано матрицу i = 6 j = 6. Найти среднее значение элементов столбцов (Ei / ni) и переставить эти значения столбцов по возрастанию определителей. Есть код начала, но я незнаю как переставить эти... http://www.cyberforum.ru/cpp-beginners/thread1016883.html
Формирование массива из другого C++
Найти произведение элементов массива A = {1, 3.5, 4, -0.8, 1.9, 5, 13}, удовлетворяющих условию , если С = 2, D = 10. Сформировать из этих элементов массив Z. Помогите.... Вообще не могу...
Двухмерний масив, среднее значение столбцов, сортировка по возрастанию этих значений C++
Дано матрицу i = 6 j = 6. Найти среднее значение элементов столбцов (Ei / ni) и переставить эти значения столбцов по возрастанию определителей.
C++ Где ошибка? http://www.cyberforum.ru/cpp-beginners/thread1016853.html
Программа должна считать массивы с клавиатуры и выполнять над ими действия, пока мы не поставим знак равенства. В результате должна вывести результат на экран. За код строго не судите(я только...
C++ Потоки и процессы Вопрос общего плана. Использую программу, выполняющую большой объем вычислений и рисование в файл. Делаю распараллеливание в виде одновременно работающих нескольких процессов. Если вместо нескольких... подробнее

Показать сообщение отдельно
forut
0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 7

Ввод строк на с++ - C++

24.11.2013, 02:45. Просмотров 277. Ответов 0
Метки (Все метки)

Есть задание.
Вводить с клавиатуры строки, пока не будет введено 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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#include <iostream.h>
#include <conio.h>
#include <ctype.h> //обработка символов
#include <string.h> //обработка строк и массива
#include <stdio.h>
 
char **OPR;
int main()
{
 clrscr();
 int k=0;
 OPR=new char *[5];
 int np=0;
 char str[256];
 cout<<endl<<"Введите 5 строк с шестнадцатеричными числами"<<endl;
 while (np<5)
 {
  OPR[np]=new char[256]; //динамический массив
    cin.getline(OPR[np],30);
    if (isxdigit(str[0]))
k++;
np++;
}
}
  cout<<endl<<"5 строк введено"<<endl;
 
for (int i=0; i < 5; i++) {
   cout.write(OPR[i],strlen(OPR[i]))<<endl;
}
 cout<<endl<<"Сортировка"<<endl;
 
  for (  i = 0; i < 5; i++)
        for ( int j = i + 1; j < 5; j++)
        {
            if(strcmp(OPR[i], OPR[j]) > 0)
        {
                char* temp = new char[256];
                strcpy(temp, OPR[i]);
                strcpy(OPR[i], OPR[j]);
                strcpy(OPR[j], temp);
        }
        }
for ( i=0; i < 5; i++)
{
   cout.write(OPR[i],strlen(OPR[i]))<<endl;
}
 
int max=0;
max=strlen(OPR[0]);
for ( i=1; i < 5; i++)
{
if (strlen(OPR[i])>max)
  {
    max=strlen(OPR[i]);
   }
 }
cout<<"Длинные рядки"<<endl;
for ( i=0; i < 5; i++)
{
if (strlen(OPR[i])==max)  {
   cout.write(OPR[i],strlen(OPR[i]))<<endl;
   }
 
 }
 getchar();
 return 0;
 }
Проблема.
isxdigit не работает, а именно - Вводить с клавиатуры строки, пока не будет введено 5 строк, заканчивающихся любыми шестнадцатеричных цифр.
Помогите в решение проблемы. Буду благодарен.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru