Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 05.01.2011
Сообщений: 3

Многомерные массивы и строки.

05.01.2011, 11:04. Показов 1243. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Извиняюсь, что просто с нуля, но очень надо. Будьте добры)
Программирование на языках С
1)Дана целочисленная квадратная матрица. Определить:
а)сумму элементов в тех столбцах, которые не содержат отрицательных эле¬ментов;
б)упорядочить строки по убыванию произведений их элементов.
2)Дано предложение. Вывести его на экран, заменив каждую первую букву слов, начинающихся с гласной на прописную.
Желательно как нибудь попроще
Заранее огромное спасибо!!!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.01.2011, 11:04
Ответы с готовыми решениями:

Многомерные массивы . Дана вещественная матрица размером 10х10. Упорядочить её строки по не убыванию суммы их элементов.
Многомерные массивы Дана вещественная матрица размером 10х10. Упорядочить её строки по не убыванию суммы их элементов.

Многомерные массивы, как перебирать внутренние массивы
Здравствуйте. Такой учебный код и плохо понимаю как перебираются внутренние массивы, может кто пояснит подоходчивее. Именно внутренний...

Многомерные массивы
Здравствуйте, уважаемые форумчане! Давненько я не задавал здесь своих глупых вопросов по плюсам. Надо бы исправить ситуацию: В общем, я...

4
 Аватар для x1Mike7x
222 / 135 / 19
Регистрация: 06.11.2010
Сообщений: 234
05.01.2011, 11:56
2)
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 <stdlib.h>
#include <stdio.h>
#include <string.h>
 
// Задаем количество элементов в строке
#define N 100
 
void capitalize(char *s); //Объявляем прототип функции, которая сделает прописными первые буквы в каждом слове
 
int main ()
{
    char str[N];  //Объявляем строку на N элементов
    printf("Input string: "); //Запрос на ввод строки
    gets(str); // Считываем строку
    capitalize(str); //Вызываем нашу мегафункцию
    printf("Output string: "); //Подготавливаем пользователя к тому,что сейчас мы выведем обработанную строку, вывев определённое сообщение
    puts(str); //Выводим обработанную строку
    system ("pause"); //Пауза - ждем нажатия на любую клавишу (кроме шивта, ктрл и альта)
    return 0;
}
 
void capitalize(char *s) //Наша функция
{
    int i; //Объявляем счётчик для цикла
    if (isalpha(s[0])) //Если первый символ является буквой...
        s[0]=toupper(s[0]); //... то делаем его прописным
    for (i=1; s[i]; i++) //Дальше пускаем цикл со второго символа (і=1), в котором будем перебирать каждый символ строки
        if ( (isalpha(s[i])) && !(isalpha(s[i-1])) ) //Проверяем или является нынешний символ буквой (isalpha(s[i])), а предыдущей - не буквой !(isalpha(s[i-1]))
            s[i]=toupper(s[i]); //Если условие исполняется, то делаем букву прописной
};
2
Freelance
Эксперт С++
 Аватар для asics
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
05.01.2011, 12:32
Цитата Сообщение от matveyandreich Посмотреть сообщение
2)Дано предложение. Вывести его на экран, заменив каждую первую букву слов, начинающихся с гласной на прописную.
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
#include <iostream>
#include <string>
#include <sstream>
#include <cctype>
 
int main()
{
    std::string str;
    std::cout << "\n\nString -> ";
    getline(std::cin, str);
 
    const std::string glas("EYUIOA");
    std::istringstream ist(str);
 
    std::cout << "\n\nResult string -> ";
    while(ist >> str)
    {
        if(glas.find(str[0]) != std::string::npos)
            str[0] = tolower(str[0]);
 
        std::cout << str << ' ';
    }
 
    return 0;
}
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
05.01.2011, 14:22
ыы.. да. я люблю сложности.

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
#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
#include <sstream>
#include <iterator>
 
int main()
{
    typedef std::string T_str;
    typedef std::vector<std::string> T_vec_str;
 
    T_str str;
    std::cout<<"Enter string\n";
    std::getline(std::cin, str);
    std::istringstream ist(str);
    std::string tmp;
    T_vec_str vec;
    while(ist >> tmp)
        vec.push_back(tmp);
    const std::string vowels="AEYUOI";
    int i=0;
    std::transform(vec.begin(), vec.end(), vec.begin(), [vowels](std::string tmp) -> std::string
    {
        if(vowels.find(*tmp.begin()) != std::string::npos)
            *tmp.begin()+=32;
        return tmp;
    });
    std::cout<<"Transformed string\n";
    std::copy(vec.begin(), vec.end(), std::ostream_iterator<std::string>(std::cout, " "));
    return 0;
}
0
 Аватар для x1Mike7x
222 / 135 / 19
Регистрация: 06.11.2010
Сообщений: 234
05.01.2011, 21:33
2) Завтыкал, что еще должна быть проверка на гласность =/
Вот правильный код:
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
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <stdbool.h>
 
// Задаем количество элементов в строке
#define N 100
 
void capitalize(char *s); //Объявляем прототип функции, которая сделает прописными первые буквы в каждом слове
bool isvowel(char ch); //Объявляем прототип функции, которая определяет, является ли символ гласной буквой
 
int main ()
{
    char str[N];  //Объявляем строку на N элементов
    printf("Input string: "); //Запрос на ввод строки
    gets(str); // Считываем строку
    capitalize(str); //Вызываем нашу мегафункцию
    printf("Output string: "); //Подготавливаем пользователя к тому,что сейчас мы выведем обработанную строку, вывев определённое сообщение
    puts(str); //Выводим обработанную строку
    system ("pause"); //Пауза - ждем нажатия на любую клавишу (кроме шивта, ктрл и альта)
    return 0;
}
 
bool isvowel(char ch) //Проверка символа на гласность
{
    char t[]="AaEeUuIiOoYy"; // массив гласных букв
    int i; // счётчик
    for (i=0; t[i]; i++) //сравниваем в цикле...
        if (ch==t[i]) //является ли наш символ одним из элементов массива гласных
            return true; //если да, то возвращаем труЪ
    return false; //если ж не нашли - возвращаем неОК
};
 
void capitalize(char *s) //Наша функция
{
    int i; //Объявляем счётчик для цикла
    if (isalpha(s[0])) //Если первое число является буквой...
        s[0]=toupper(s[0]); //... то делаем его прописным
    for (i=1; s[i]; i++) //Дальше пускаем цикл со второго символа (і=1), в котором будем перебирать каждый символ строки
        if ( (isvowel(s[i])) && (isalpha(s[i])) && !(isalpha(s[i-1])) ) //Проверяем или является нынешний символ буквой (isalpha(s[i])), а предыдущей - не буквой !(isalpha(s[i-1])) и плюс проверка на гласность
            s[i]=toupper(s[i]); //Если условие исполняется, то делаем букву прописной
};
Добавлено через 1 час 22 минуты
На 1е такое накидал:
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
68
69
70
71
72
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <stdbool.h>
 
#define N 5
 
int main ()
{
    int arr[N][N], t[N];
    int i, j, S, k, x;
    bool OK;
    
    srand(time(NULL));
    for (i=0; i<N; i++)
        for (j=0; j<N; j++)
            arr[i][j]=rand()%115-15; //диапазон значений от -15 до 99
            
    for (i=0; i<N; printf("\n"), i++)
        for (j=0; j<N; j++)
            printf("%3.2i ", arr[i][j]);
    
//а)
    for (j=0; j<N; j++)
    {
        S=0;
        OK=true;
        for (i=0; i<N; i++)
            if (arr[i][j]>=0)
                S+=arr[i][j];
            else
            {
                OK=false;
                break;
            };
        if (OK)
            printf("S[x][%i] = %i\n", j, S);
    };
 
//б)   
    for (i=0; i<N; i++)
    {
        t[i]=1;
        for (j=0; j<N; j++)
            t[i]*=arr[i][j];
    };
    for (k=0; k<N; k++)  //Сортировка пузырьком
    {  
        for (i=N-1; i>k; i--) 
        {    
            if (t[i-1]<t[i]) 
            {
                x=t[i-1]; 
                t[i-1]=t[i]; 
                t[i]=x;
                for (j=0; j<N; j++)
                {
                    x=arr[i-1][j]; 
                    arr[i-1][j]=arr[i][j]; 
                    arr[i][j]=x;
                };
            };
        };
    };
    
    for (i=0; i<N; printf("\n"), i++)
        for (j=0; j<N; j++)
            printf("%3.2i ", arr[i][j]);
    
    system ("pause");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.01.2011, 21:33
Помогаю со студенческими работами здесь

Многомерные массивы
#include &lt;iostream&gt; #include &lt;random&gt; using namespace std; //тип_данных название(параметры) {} //void - неопределенный тип...

Многомерные динамические массивы
Написать программу, которая дает пользователю ввести 5 фамилий студентов, а затем сортирует их по возрастанию длины фамилии.

Многомерные массивы. Матрица.
Всем привет. Прошу помочь с заданием по программированию, не до конца понимаю кое-что… Задание: Дана матрица целых чисел N x M....

Многомерные массивы (матрицы)
Не могу понять как написать код. Если не сложно напишите подробнее цикл. Вот начало. srand(time(NULL)); const int SIZE =...

Многомерные и одномерные массивы
Добрый вечер, пожалуйста, помогите написать программы для следующих действий: для всех действий, задать свой массив* 1) Из массива...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru