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

Условные операторы, двумерные массивы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ последовательная обработка символов http://www.cyberforum.ru/cpp-beginners/thread186858.html
В тексте первый символ каждого слова - цифра, указывающая длину этого слова. Проверить правильность указания длины слов. На экран вывести заданные длины слов и вычисленные. вот пограмма ток незнаю как дописать помогите! #include <stdio.h> #include <math.h> void main() { char c,c1; int l,m; c=c1=’ ‘; m=0;
C++ Сформировать две строки - первая содержит только числа из исходной строки, а вторая – только слова 1.Дан текст, состоящий из предложений. Ввод текста осуществляется в несколько строк (не более 20). Признак завершения ввода – ввод пустой строки. Предложения в тексте могут начинаться на одной строке, а заканчиваться на другой (максимальная длина предложения – 70 символов). Записать текст так, чтобы каждое предложение начиналось с новой строки. Упорядочить предложения по их длине и вывести... http://www.cyberforum.ru/cpp-beginners/thread186848.html
C++ Засунуть в тернарный оператор
Помогите засунуть выражение if ( (i < 0 || j < 0) || (i >= ROW || j >= COL) || (i == oi && j == oj)) continue; else if (arr) ++cnt; в тернарный оператор, у меня что-то не выходит никак
сортировка массива по двум критериям(или что-то вроде того) C++
Дан массив int arr, нужно отсортировать первую строчку по возрастанию, если числа равны сравнивать соответственные значения во второй (гарантируется, что все числа во второй разные). И вся проблема в том, что n=100000, а отсортировать нужно меньше чем за 0.5 сек. Конечно, написал с быстрой сортировкой, но по второй срочке не всегда сортируется. Покажу, что есть, там ошибка в if-е, где...
C++ Создание массива по Указателю на массив http://www.cyberforum.ru/cpp-beginners/thread186840.html
(к сведенью. пользую C++, версия Dev C++ 4.9.9.2) Я создал указатель на массив: char (*e); Мне нужно создать по этому указателю массив с помощью new. Подскажите как это сделать. P.s. Знаю что имя массива это указатель на него, и что это изврат. Но этого требует лабораторная. Огромное спасибо за помощь.
C++ Масив строк на С Задача: есть массив из строк. нужно инвертировать его по строкам. например у нас есть строка1, строка2, строка3, строка4, а надо сделать: строка4, строка3, строка2, строка1. нужно сделать без библиотечных функций на языке С. помогите кто может. подробнее

Показать сообщение отдельно
patisson74
6 / 6 / 1
Регистрация: 26.11.2009
Сообщений: 19

Условные операторы, двумерные массивы - C++

06.11.2010, 00:07. Просмотров 492. Ответов 1
Метки (Все метки)

Вот задачи, решение сделано на Паскале, переделать нужно на Си...
1. Даны произвольные числа а, b, c. Определить, может ли быть построен треугольник со сторонами соответствующей длины, и указать, что это будет за треугольник (равносторонний, равнобедренный, какой-либо ли другой).
Pascal
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
program treugolnik;
uses crt;    {Подключаем модуль, содержащий функцию очистки экрана}
var a, b, c : real;  {Начальные данные}
 
BEGIN
clrscr;       {Очищаем экран}
writeln ('Введите стороны треугольника');  {Вводим стороны треугольника}
 
read (a, b, c);  {Проверяем соотношение сторон треугольника}
 
 if (((a + b) > c) and ((a + c) > b) and ((b + c) > a)) then
 
          begin
 
        writeln (' C этими данными можно построить треугольник ');  {Печатаем результат проверки}
 
  if ((a = b) and (a = c)) then writeln (' Треугольник равносторонний ');  {Печатаем результат проверки}
  if ((a = b) and (a <> c)) or ((b = c) and (b <> a)) or ((c = a) and ( a <> b)) then writeln(' Треугольник равнобедренный '); {Печатаем результат проверки}
          еnd
 
  else writeln ('Треугольник построить c этими данными нельзя ');  {Печатаем результат проверки}
 
  readln;   { Применяем функцию задержки экрана }
  readln;
 
END.
2. Дана матрица целых чисел размера m x n. Найти количество ее строк, все элементы которых разные.
листинг:
Pascal
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
program  matrix_M_x_N ;
uses crt;    { Подключаем модуль, содержащий функцию очистки экрана}
var  m,n,i,j,k,z: integer;    { Объявляем переменные – счетчики }
a: array[1..20, 1..20] of  integer;    { Объявляем  массив чисел строки  }
r: boolean;
BEGIN
   clrscr;           { Очищаем экран }
   writeln ('Введите  m, n');    { Вводим размер матрицы, где m – кол-во строк, n – кол-во столбцов }
   readln(m,n);
   writeln('Введите массив');    { Вводим массив чисел матрицы }
      for i:=1 to m do     { Задаем цикл перебора строк }   
      for j:=1 to n do      { Задаем цикл перебора столбцов }   
      read(a[i,j]);
    writeln;
    k:=0;
    for i:=1 to m do       { Задаем цикл перебора строк }   
  begin
       r:=true;
       for z:=1 to n do     { Задаем цикл перебора столбцов } 
           begin
       for j:=z to n do     { Задаем цикл перебора элементов от текущего элемента до конца строки }      
       if (a[i,z]<>a[i,j]) and (r<>false) then r:=true     
       else if z<>j then r:=false;       { Если в строке нет совпадающих символов, то флаг r устанавливаем в false }   
          end;
       if r=true then k:=k+1;      { Если флаг r=true, то счетчик k увеличиваем на 1 }   
  end;
    writeln ('Количество строк с различными элементами : ',k);
    readln;
    readln;
END.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru