Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 18.10.2011
Сообщений: 4
1

Найти номера строк, элементы каждой из которых образуют монотонную последовательность

20.10.2011, 18:19. Показов 1947. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
II. Даны натуральное число n и целочисленный квадратный массив размера n*n. Найти номера строк, элементы каждой из которых образуют монотонную последо-вательность (монотонно убывающую или монотонно возрастающую). Сформировать из этих строк новый массив.

III. Дан строковый массив из n элементов, где n – натуральное число. Найти в этом массиве самую длинную подстроку, не содержащую цифры. Если эта подстрока не является палиндромом, повернуть ее на 180°.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.10.2011, 18:19
Ответы с готовыми решениями:

Найти номера строк, элементы каждой из которых образуют монотонную последовательность
Дан целочисленный квадратный массив nxn(n<10). Найти номера строк , элементы каждой из которых...

Найти номера строк матрицы, элементы каждой из которых образуют монотонную последовательность
Дана целочисленная квадратная матрица порядка n. Найти номера строк:элементы каждой из которых...

Найти номера строк матрицы, элементы которых образуют монотонную последовательность
Вот ,что у меня вышло,но программа работает неверно Помогите подредактировать пожалуйста...

Найти номера строк, элементы каждой из которых образуют упорядоченную последовательность
посмотрите, задача такая: дана целочисленная квадратная матрица порядка n. Найти номера строк,...

5
Эксперт С++
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
20.10.2011, 19:24 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Цитата Сообщение от Prestidijitator Посмотреть сообщение
III. Дан строковый массив из n элементов, где n – натуральное число. Найти в этом массиве самую длинную подстроку, не содержащую цифры. Если эта подстрока не является палиндромом, повернуть ее на 180°.
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<stdio.h>
#include<conio.h>
#include<ctype.h>
#include<string.h>
#include<stdlib.h>
#define N 1024
 
int Palyndrom(char *s)
{
   int i, j;
   i = 0;
   j = strlen(s) - 1;
   while(i < j && s[i] == s[j])
   {
       i++;
       j--;
   }
   return i >= j;
}
 
void Inverse(char *s)
{
   char buf;
   int i, j;
   i = 0;
   j = strlen(s) - 1;
   while(i < j)
   {
       buf = s[i]; s[i] = s[j]; s[j] = buf;
       i++; j--;
   }
}
 
int main()
{
    char s[N], *t = NULL, *st;
    int i = 0, j, len = 0;
    fgets(s, N, stdin);
    while(s[i])
    {
        while(s[i] && isdigit(s[i]))
            i++;
        j = i;
        while(s[i] && !isdigit(s[i]))
            i++;
        if (i - j > len)
        {
            t = s + j;
            len = i - j;
        }
    }
    if (*(t + len - 1) == '\n')
        len--;
    st = (char *)malloc((len + 1) * sizeof(char));
    strncpy(st, t, len);
    st[len] = '\0';
    if (Palyndrom(st))
        puts(st);
    else
    {
        Inverse(st);
        puts(st);
    }
    free(st);
    getch();
    return 0;
}
1
0 / 0 / 0
Регистрация: 18.10.2011
Сообщений: 4
23.10.2011, 23:39  [ТС] 3
Ух намудрил... А главное, что не работает(((
0
0 / 0 / 0
Регистрация: 01.05.2011
Сообщений: 3
24.10.2011, 00:01 4
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
/*
III. Дан строковый массив из n элементов, где n – натуральное число. Найти в этом массиве самую длинную подстроку, не содержащую цифры. Если эта подстрока не является палиндромом, повернуть ее на 180°.
*/
#include <stdio.h>
#include <string.h>
#include <cctype>
#include <string>
#include <iostream>
using namespace std;
 
char a[111111];
string s, r;
 
bool ispal()
{
    int l = 0, r = strlen(a) - 1;
    while(l < r)
        if(a[l++] != a[r--]) return false;
    return true;
}
 
int main()
{
    int i;
    gets(a);
    if(!ispal()) strrev(a);
    for(i = 0; i < strlen(a); i++) {
        if(isdigit(a[i]) && r.size() < s.size()) r = s, s.clear();
        else if(isdigit(a[i])) s.clear();
        else s += a[i];
    }
    if(s.size() > r.size()) r = s;
    cout << r << endl;
    return 0;
}
0
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
24.10.2011, 02:44 5
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

...Люблю, грешник, STL... Первое задание.
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
#include <stdio.h>
#include <stdlib.h>
#include <vector>
#define razmer 6
#include <algorithm>
 
using namespace std;
 
 
int main()
{
 
 int matrix [razmer][razmer];
 
 //ПОехали матрицу заполнять рандомно от 0 до 99 -ти допустим числами
 for (int i= 0; i< razmer; i++) 
  for (int j= 0; j< razmer; j++) 
   matrix [i][j]= rand()%10;
 
 //Заполним вторую и четвёртую строчку как надо:
  for (int i= 0; i< razmer; i++) { 
   matrix [2][i]= i+ 3;
   matrix [4][i]= i- 5;
  }           
 
 //Выведем матрицу:           
 for (int i= 0; i< razmer; i++){ 
  for (int j= 0; j< razmer; j++) 
   printf ("%4d ", matrix[i][j]);
  printf ("\n");
 } 
 printf ("\n");
 
 //ПОехали строчки искать:
 vector <int> vec;
 
 for (int i= 0; i< razmer; i++) {
 
  //Скропаем временный вектор
  vector <int> set_ (&matrix [i][0], &matrix [i][razmer]);
  //сортирнём
  sort (set_.begin(), set_.end());
 
  
  if (abs(set_ [0]- set_ [razmer- 1])== (razmer- 1)) 
   if (unique (set_.begin(), set_.end())== set_.end()) 
    vec.insert (vec.end(), set_.begin(), set_.end());
   
 }
 
 //Смотрим, чё получилось:
 
 for (int i= 0; i< vec.size(); i++)
  printf ("%4d ", vec[i]);
 
  getchar ();  
  return 0;
}
1
0 / 0 / 0
Регистрация: 18.10.2011
Сообщений: 4
22.12.2011, 17:23  [ТС] 6
Мне нужно не рандомно заполнять массив, а с клавитуры. И размер необходимо тоже ввести с клавиатуры
0
22.12.2011, 17:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.12.2011, 17:23
Помогаю со студенческими работами здесь

Массив. Найти номера строк, элементы каждой из которых образуют упорядоченную последовательность
дана целочисленная квадратная матрица порядка n. Найти номера строк, элементы каждой из которых...

Найти номера строк матрицы, элементы каждой из которых образуют упорядоченную последовательность
Дана целочисленная квадратная матрица порядка n. Найти номера строк, элементы каждой из которых...

Подсчитать количество строк матрицы элементы которых образуют монотонную последовательность
Подсчитать количество строк матрицы A(n*n), элементы которых образуют монотонную последовательность.

Найти строки матрицы элементы которых образуют монотонную возрастающую последовательность
Дана целочисленная квадратная матрица порядка n. Найти строки, в которых элементы образуют...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru