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

Массив и строка. - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
Bloodykeeper
This party getting crazy!
 Аватар для Bloodykeeper
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
24.01.2010, 09:34     Массив и строка. #1
Есть 2 задачи, помогите решить:
1. Написать программу, которая проверяет, находится ли число в массиве. Массив динамический, одномерный (его я сам введу, помогите с остальным)

2. Написать программу, которая из введенной строки формирует новую строку из цифр первой строки.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.01.2010, 09:34     Массив и строка.
Посмотрите здесь:

C++ 2 простых вопроса(строка и массив структур)
C++ сформировать двумерный массив в котором каждая строка содержит элементы массива равные номеру строки +2(увеличивается на два)
C++ Составить новый массив, изменяя значения элементов в зависимости от того, отсортирована ли текущая строка
C++ Дана матрица. получить массив b, присвоив его k-му элементу значение 1, если строка упорядочена..
Двумерный массив. Определение таких номеров k, при которых k-строка совпадает с k-столбцом C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
24.01.2010, 10:31     Массив и строка. #2
Добавлено через 4 минуты
Ладно:
C++
1
2
3
4
5
6
int num;
scanf("%d",&num);
count=0;
for(int i=0;i<size;i++)if(mas[i]==num)count++;
 
if(count!=0)printf("chislo v massive\n");
Добавлено через 2 минуты
Сейчас 2 что-нидудь сообразим.

Добавлено через 13 минут
2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
#include <conio.h>
void main(){
char str[4] = {'1','2','a'};
char str2[4] = {0};
 
for(int j=0;j<4;j++){
//из определение из таблицы  ASCII
//цифра это не число
if((str[j]>=48)&&(str[j]<=57))str2[j]=str[j];
if(str[j]=='\0')str2[j]=str[j]; //дописываем ноль сомвол
}
 
for(int i=0;i<4;i++){
printf("%c",str2[i]);
}
printf("\n");
getch();
 
 
}
Добавлено через 13 минут
Bloodykeeper:
Если что-то не понятно задавай вопросы

Добавлено через 3 минуты
C++
1
if(str[j]=='\0')str2[j]=str[j]; //дописываем ноль сомвол
Здесь конечно не супер, но не заметно в консоли, просто строка будет иметь вид
1 2 0 '\0'

Добавлено через 1 минуту
Если тебя препод - это заметил сейчас переделаю.
Bloodykeeper
This party getting crazy!
 Аватар для Bloodykeeper
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
24.01.2010, 10:33  [ТС]     Массив и строка. #3
Нужно, чтобы строка вводилась с клавиатуры, то есть решить задачу в общем виде а не для конкретных чисел. Заранее спасибо.
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
24.01.2010, 10:38     Массив и строка. #4
А первое прокатило?, надеюсь free сделать не забыл

Если про puts и gets тогда сейчас попробую.
Bloodykeeper
This party getting crazy!
 Аватар для Bloodykeeper
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
24.01.2010, 10:43  [ТС]     Массив и строка. #5
Первое я сдал, теорию тоже. Осталась эта задача и потом, если эту сдам, то надо еще на 5 баллов будет решить одну.
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
24.01.2010, 10:56     Массив и строка. #6
Вроде как-то пыхтит
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
#include <conio.h>
#include <string.h>
 
#define SIZE 10
void main(){
char putstr[SIZE];
char formstr[SIZE] = {0};
puts("Input string menee 10 symvols\n");
 
char *pb = gets(putstr);
for(unsigned int i = 0;i<strlen(pb);i++){
if((putstr[i]>=48)&&(putstr[i]<=57))formstr[i]=putstr[i];
if(putstr[i]=='\0')formstr[i]=putstr[i]; //äîïèñûâГ*ГҐГ¬ Г*îëü ñîìâîë
}
 
for(unsigned g =0;g<strlen(formstr);g++)printf("%c",formstr[g]);
 
 
 
}
Добавлено через 8 минут
по поводу '\0' - символа, надеюсь препод не заметит.
Bloodykeeper
This party getting crazy!
 Аватар для Bloodykeeper
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
24.01.2010, 11:08  [ТС]     Массив и строка. #7
Заметила. Сказала что в другом массиве должна быть другая индексация. Ошибка где-то в 14-18 строке. Помогите исправить.
Radjuk
 Аватар для Radjuk
134 / 68 / 12
Регистрация: 10.10.2009
Сообщений: 187
24.01.2010, 11:12     Массив и строка. #8
что то вроде такогО?

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int j = -1;
for(unsigned int i = 0;i<strlen(pb);i++)
{
if((putstr[i]>=48)&&(putstr[i]<=57))
{
j++;
formstr[j]=putstr[i];
}
if(putstr[i]=='\0')
{
j++;
formstr[j]=putstr[i];
} //дописываем ноль сомвол
}
Bloodykeeper
This party getting crazy!
 Аватар для Bloodykeeper
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
24.01.2010, 11:24  [ТС]     Массив и строка. #9
Спасибо! Сработало! Теперь помогите еще одну на пятерку решить.
Дана матрица размера М х N (создать динамическим массивом). Упорядочить её столбцы так, чтобы их максимальные элементы образовывали возрастающую последовательность.
Заранее спасибо.
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
24.01.2010, 11:29     Массив и строка. #10
Ого!

Добавлено через 46 секунд
Действительно на пятерку.
Radjuk
 Аватар для Radjuk
134 / 68 / 12
Регистрация: 10.10.2009
Сообщений: 187
24.01.2010, 11:29     Массив и строка. #11
как не люблю сортировки в двухмерных масивах....

C
1
2
3
4
5
6
7
8
9
10
11
12
13
int **a;
int n,m;
cout<<"Vvedite N&M :";cin>>n>>m;
for(int i=;i<n;i++)
{
for(int j=0;j<m;j++)
{
a[i][j] = random(20);
}
}
//
//
free(a);
а вот покажи пример как оно хотя бы должно выглядить
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
24.01.2010, 11:35     Массив и строка. #12
Radjuk:
А где выделение памяти
Bloodykeeper
This party getting crazy!
 Аватар для Bloodykeeper
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
24.01.2010, 11:36  [ТС]     Массив и строка. #13
Массив я сам уже ввел, я тож не знаю как оно выглядит, надеюсь кто-то поможет.
Radjuk
 Аватар для Radjuk
134 / 68 / 12
Регистрация: 10.10.2009
Сообщений: 187
24.01.2010, 11:40     Массив и строка. #14
нету памяти .... скушал

я не могу понять где должна быть ета последовательность возрастания
Bloodykeeper
This party getting crazy!
 Аватар для Bloodykeeper
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
24.01.2010, 11:44  [ТС]     Массив и строка. #15
Я думаю, что нужно найти максимальные элементы и сделать что-то типа пузырьковой выборки. Помогите! Оч надо.
В столбцах последовательность.
Radjuk
 Аватар для Radjuk
134 / 68 / 12
Регистрация: 10.10.2009
Сообщений: 187
24.01.2010, 11:51     Массив и строка. #16
можна сделать сортировку в столбцах
типа:
Код
1 2 3 
4 1 6
8 7 3
потом
Код
8 7 6
4 2 3
1 1 3
а потом
Код
6 7 8 // просто отсортировать 1 строку
4 2 3
1 1 3
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
24.01.2010, 11:57     Массив и строка. #17
Сколько у тебя ещё времени, сейчас попытаюсь сделать
Bloodykeeper
This party getting crazy!
 Аватар для Bloodykeeper
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
24.01.2010, 11:58  [ТС]     Массив и строка. #18
Нужен код после ввода массива.
Помогите.
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
24.01.2010, 12:00     Массив и строка. #19
проверь это:
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
#include <stdio.h>
 
#define H 3
#define W 3
int main ()
{
 
 
    int mat[H][W] =  {
        {7,2,3},    
                {5,7,4},
        {9,2,5}
 
    };
 
 
for(int i=0;i<W;i++){
    for(int j=0;j<H-1;j++){
        for(int h = j+1;h<H;h++)
        if(mat[h][i]>mat[j][i]){
        int tmp = mat[j][i];     
        mat[j][i] = mat[h][i];
        mat[h][i] = tmp;
        }
 
    }
}
for(int k = 0;k<H;k++)
{   for(int j=0;j<W;j++){
    printf("\t");printf("%d",mat[k][j]);
 
}
printf("\n");
}
return 0;
 
}
Скажи это то, тогда я тебе в динамику переделаю

Добавлено через 56 секунд
Это сортировка выбором в столбцах
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.01.2010, 12:00     Массив и строка.
Еще ссылки по теме:

C++ Строка двумерного массива как одномерный массив
C++ Двумерный массив: строка, в которой находится самая длинная серия одинаковых элементов
C++ Строка как массив символов. Stack around the variable 'qu' was corrupted

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

Или воспользуйтесь поиском по форуму:
Bloodykeeper
This party getting crazy!
 Аватар для Bloodykeeper
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
24.01.2010, 12:00  [ТС]     Массив и строка. #20
10-1о мин
Yandex
Объявления
24.01.2010, 12:00     Массив и строка.
Ответ Создать тему
Опции темы

Текущее время: 14:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru