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

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

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

Обработка строк и работа с массивами - C++

28.05.2011, 17:10. Просмотров 382. Ответов 7
Метки нет (Все метки)

Программисты, очень нужна ваша помощь!В понедельник сдавать работы а я в программировании не сильна...Очень буду благодарна за решение задач 2-х задач...

№1.Ограничить значение всех элементов, абсолютные значения которых превышают средние для положительных и отрицательных элементов. Размер массива 100, диапазон значений,от -100 до 100.

№2.Программа находит первое вхождение в строку заданной подстроки
Мальчишки,заранее большое спасибо тому кто напишет*
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.05.2011, 17:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Обработка строк и работа с массивами (C++):

Работа с массивами строк - C++
Необходимо создать массив строк на 100 элементов: char* szArray. Можно ли к этой записи добавить параметр размера строк, чтобы не объявлять...

Работа со строками и с массивами строк - C++
Решил сделать программу , но не знаю как реализовать очень важную часть. Надо считывать координаты с файла(в текстовом файле есть к...

Работа с файлами и массивами строк - C++
Помогите пожалуйста :(:wall: Нужно написать программу, которая считывает текст из файла и записывает каждое слово в отдельный элемент...

Строки, работа с файлами и массивами строк - C++
Требуются срочная помощь :swoon: зачет через 2 часа... Не хватает 2х лаб... помогите люди добрые кто чем может :sorry: Лаба...

Обработка строк и работа с файлами... - C++
Работа с обработкой строк и работу с файлами средствами языка Си. Исходный текст должен содержаться в одном файле, результат — во втором...

Пользователькие функции, работа с указателями и обработка строк - C++
Помогите решить задачи в С++ (я в этом начиющий): 1)Вывести на экран таблицу степеней двойки: 2, где n изменяется от -к до 10. Операцию...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
asics
Freelance
Эксперт С++
2847 / 1784 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
28.05.2011, 17:14 #2
marishe4ka, Что конкретно не понятно ? Какие вопросы ?
0
marishe4ka
0 / 0 / 0
Регистрация: 28.05.2011
Сообщений: 3
28.05.2011, 17:22  [ТС] #3
Просто написать программу я не могу,но смогу объяснить по командам,то есть теорию знаю нормально а вот на практике хуже...
0
asics
Freelance
Эксперт С++
2847 / 1784 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
28.05.2011, 17:26 #4
Ладно, может найдуться добрые люди, которые напишут вам программы, а если надоест ждать - обратитесь сюда.
0
MrGluck
Модератор
Эксперт CЭксперт С++
7239 / 4407 / 642
Регистрация: 29.11.2010
Сообщений: 11,927
28.05.2011, 17:34 #5
Цитата Сообщение от marishe4ka Посмотреть сообщение

№1.Ограничить значение всех элементов, абсолютные значения которых превышают средние для положительных и отрицательных элементов. Размер массива 100, диапазон значений,от -100 до 100.
Всмысле ограничить? До чего?

Цитата Сообщение от marishe4ka Посмотреть сообщение
№2.Программа находит первое вхождение в строку заданной подстроки
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<iostream>
#include<conio.h>
#include<clocale>
#include<string>
using namespace std;
 
int main()
{
    setlocale(LC_ALL,"Russian");
    char string1[256], string2[128];
    cout<<"Ââåäèòå ñòðîêó : ";
    cin.getline(string1,256); 
    cout<<"Ââåäèòå ïîäñòðîêó : ";
    cin.getline(string2,128); 
    char* x=strstr(string1,string2);
    cout<<x-string1;
    getch();
    return 0;
}
0
marishe4ka
0 / 0 / 0
Регистрация: 28.05.2011
Сообщений: 3
28.05.2011, 17:39  [ТС] #6
MrGluck, большое спасибо!!!
Ограничить?не знаю...может быть не выводить на экран...
0
easybudda
Модератор
Эксперт CЭксперт С++
9624 / 5572 / 946
Регистрация: 25.07.2009
Сообщений: 10,699
28.05.2011, 17:56 #7
Цитата Сообщение от marishe4ka Посмотреть сообщение
Программа находит первое вхождение в строку заданной подстроки
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
#include <stdio.h>
 
char * my_strstr(const char * haystack, const char * needle){
    const char * pH, * pN;
    
    if ( ! haystack || ! *haystack || ! needle || ! *needle )
        return NULL;
    
    while ( *haystack ){
        for ( pH = haystack, pN = needle; *pN && *pH == *pN; ++pH, ++pN )
            ;
        if ( ! *pN )
            return (char*) haystack;
        ++haystack;
    }
    
    return NULL;
}
 
#define MAX_LEN 256
#define INPUT_MASK "%255[^\n]%*c"
 
int main(void){
    char str[MAX_LEN], sub[MAX_LEN], * p;
    
    while ( printf("String: ") && scanf(INPUT_MASK, str) == 1 && printf("Substring: ") && scanf(INPUT_MASK, sub) == 1 ){
        if ( p = my_strstr(str, sub) )
            printf("Found at: %s\n", p);
        else
            printf("Not found.\n");
    }
    
    return 0;
}
А вот с первым немного не понял: нужно, чтобы в массиве все положительные числа стали не больше среднего арифметического положительных чисел, а отрицательные не меньше среднего арифметического отрицательных исходного массива?
0
MrGluck
Модератор
Эксперт CЭксперт С++
7239 / 4407 / 642
Регистрация: 29.11.2010
Сообщений: 11,927
28.05.2011, 18:00 #8
Я понял задание так: если число из массива по модулю не превышает и ср. значение положительных и модуль ср. значения отрицательных чисел, то мы выводим его на экран
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
#include <iostream>
#include <conio.h>
#include <clocale>
#include <ctime>
#include <cmath>
using namespace std;
 
int main()
{
    srand (time(NULL));
    int M[100], sum1=0, sum2=0, n1=0, n2=0;
    // Г§Г*ïîëГ*ГїГҐГ¬ Г°Г*Г*äîìГ*ûìè Г§Г*Г*Г·ГҐГ*èÿìè Г¬Г*Г±Г±ГЁГў Гў Г§Г*Г¤Г*Г*Г*îì äèГ*ГЇГ*çîГ*ГҐ ( -100; 100)
    for (int i=0; i<100; i++)
        M[i]=rand()%200-100;
    for (int j=0; j<100; j++)
    {
        if (M[j]>=0)
        {
            sum1+=M[j];
            n1++;
        }
        else
        {
            sum2+=M[j];
            n2++;
        }
    }
    int srzn1=sum1/n1; // äëÿ ïîëîæèòåëüГ*ûõ Г·ГЁГ±ГҐГ«
    int srzn2=abs(sum2/n2); // äëÿ îòðèöГ*òåëüГ*ûõ Г·ГЁГ±ГҐГ« (ГЇГ® ìîäóëþ)
    for (int k=0; k<100; k++)
        if (abs(M[k]) <= srzn1 && abs(M[k]) <= srzn2)
            cout<< M[k]<< " ";    
    getch();
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.05.2011, 18:00
Привет! Вот еще темы с ответами:

Обработка отдельных строк (столбцов) матрицы и работа с диагоналями. Двумерные массивы - C++
Ввести целочисленный двумерный массив ANxM, вывести его. Найти сумму положительных угловых элементов. Найденной суммой заменить строку...

Работа с массивами - C++
Дан массив A размера N. Сформировать новый массив B того же размера по следующему правилу: элемент BK равен среднему арифметическому...

Работа с массивами - C++
Подскажите пожалуйста, что значит &quot;**&quot; в данной строке? void Array(int ** array, int size); Спасибо!

Работа с массивами - C++
Я ввожу переменную, например 456. Программа розбивает её и записьІвает в массив. int Array Array = 4; Array = 5; Array = 6;


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
28.05.2011, 18:00
Ответ Создать тему
Опции темы

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