Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
Bloodykeeper
This party getting crazy!
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
1

Массив и строка.

24.01.2010, 09:34. Просмотров 1194. Ответов 22
Метки нет (Все метки)

Есть 2 задачи, помогите решить:
1. Написать программу, которая проверяет, находится ли число в массиве. Массив динамический, одномерный (его я сам введу, помогите с остальным)

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

Строка в массив с через макрос
Есть строка: CHAR s = "string"; Как её можно привести к виду: CHAR *a =...

двумерный массив строка столбец
Помогите люди добрый где строка, а где столбец в двумерном массиве сначала...

Строка == массив элементов char?
Есть следующий код: int main() { char* s = "HELLO\n"; s = 'X'; return 0;...

2 простых вопроса(строка и массив структур)
Доброе! Только начал изучать С и появилось 2 небольших вопроса. Надеюсь вам не...

Строка: создать string массив из 20 фамилии.
Подскажите, как работает string? Мне нужно создать string массив из 20 фамилии....

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

Если про puts и gets тогда сейчас попробую.
1
Bloodykeeper
This party getting crazy!
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
24.01.2010, 10:43  [ТС] 5
Первое я сдал, теорию тоже. Осталась эта задача и потом, если эту сдам, то надо еще на 5 баллов будет решить одну.
1
Genius Ignat
1241 / 779 / 108
Регистрация: 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' - символа, надеюсь препод не заметит.
1
Bloodykeeper
This party getting crazy!
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
24.01.2010, 11:08  [ТС] 7
Заметила. Сказала что в другом массиве должна быть другая индексация. Ошибка где-то в 14-18 строке. Помогите исправить.
1
Radjuk
135 / 69 / 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];
} //дописываем ноль сомвол
}
2
Bloodykeeper
This party getting crazy!
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
24.01.2010, 11:24  [ТС] 9
Спасибо! Сработало! Теперь помогите еще одну на пятерку решить.
Дана матрица размера М х N (создать динамическим массивом). Упорядочить её столбцы так, чтобы их максимальные элементы образовывали возрастающую последовательность.
Заранее спасибо.
1
Genius Ignat
1241 / 779 / 108
Регистрация: 16.09.2009
Сообщений: 2,014
24.01.2010, 11:29 10
Ого!

Добавлено через 46 секунд
Действительно на пятерку.
1
Radjuk
135 / 69 / 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);
а вот покажи пример как оно хотя бы должно выглядить
0
Genius Ignat
1241 / 779 / 108
Регистрация: 16.09.2009
Сообщений: 2,014
24.01.2010, 11:35 12
Radjuk:
А где выделение памяти
1
Bloodykeeper
This party getting crazy!
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
24.01.2010, 11:36  [ТС] 13
Массив я сам уже ввел, я тож не знаю как оно выглядит, надеюсь кто-то поможет.
1
Radjuk
135 / 69 / 12
Регистрация: 10.10.2009
Сообщений: 187
24.01.2010, 11:40 14
нету памяти .... скушал

я не могу понять где должна быть ета последовательность возрастания
1
Bloodykeeper
This party getting crazy!
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
24.01.2010, 11:44  [ТС] 15
Я думаю, что нужно найти максимальные элементы и сделать что-то типа пузырьковой выборки. Помогите! Оч надо.
В столбцах последовательность.
1
Radjuk
135 / 69 / 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
1
Genius Ignat
1241 / 779 / 108
Регистрация: 16.09.2009
Сообщений: 2,014
24.01.2010, 11:57 17
Сколько у тебя ещё времени, сейчас попытаюсь сделать
1
Bloodykeeper
This party getting crazy!
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
24.01.2010, 11:58  [ТС] 18
Нужен код после ввода массива.
Помогите.
1
Genius Ignat
1241 / 779 / 108
Регистрация: 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 секунд
Это сортировка выбором в столбцах
1
Bloodykeeper
This party getting crazy!
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
24.01.2010, 12:00  [ТС] 20
10-1о мин
1
24.01.2010, 12:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.01.2010, 12:00

Строка двумерного массива как одномерный массив
как занести строку двумерного массива в одномерный?

Строка как массив символов. Stack around the variable 'qu' was corrupted
Всем привет! Есть простейшая задача: использовать вместо строки массив...

Двумерный массив: строка, в которой находится самая длинная серия одинаковых элементов
Дана целочисленная прямоугольная матрица. Определить: 1) Количество...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

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