0
como harían este programa (solo explicaciones no intento que me lo hagan)
Escribir un programa en lenguaje C que ordene las líneas de un texto leído, rodeado por un borde desde la entrada estándar, donde cada línea de texto tiene diferentes longitudes, tomando en cuenta que: Debe guardar todas las líneas en un arreglo de tipo char grande. Observando que \n marca el fin de cada línea. Guarde los apuntadores en un arreglo diferentes donde cada apuntador apunta al primer carácter de cada línea. Comparar dos líneas usando la función de la biblioteca estándar strcmp(). Si dos líneas tienen diferentes longitudes rellene con blancos para que tengan el mismo tamaño o longitud.
5 Réponses
+ 1
hasta el momento tengo esto
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
#include <windows.h>
#define MAX 1000
void gotoxy (int x,int y){
HANDLE hcon;
hcon=GetStdHandle(STD_OUTPUT_HANDLE);
COORD dwPos;
dwPos.X=x;
dwPos.Y=y;
SetConsoleCursorPosition(hcon,dwPos);
}
void texto ();
int linea (char*);
char arreglo [MAX];
int main(){
int i, j;
char arreglo[MAX];
// Lo usamos para dibujar los bordes.
for(i=2; i<78; i++){
//horizontal superior
gotoxy (i,2); printf("%c",205);
gotoxy(i,23); printf("%c",205);
}
for(j=3;j<23;j++){
//horizontal inferios
gotoxy (2,j); printf("%c",186);
gotoxy (77,j); printf("%c",186);
}
// bordes del marco
gotoxy (2,2); printf("%c",201);
gotoxy (2,23); printf("%c",200);
gotoxy (77,2); printf("%c",187);
gotoxy (77,23); printf("%c",188);
gotoxy (35,5); printf ("Mensaje");
gotoxy(3,8); printf(" ");
scanf("%c",arreglo);
getch();
return 0;
}
+ 1
Su programa tiene comandos de Windows, no funciona en SoloLearn. Funciona solo en entornos Windows ... Publico un ejemplo de muestra de cómo leer cadenas en una matriz de caracteres y el uso del puntero para esas matrices, función strcmp ... Espero que puedas postularte a tu programa.
#include <stdio.h>
#include <string.h>
int main ()
{
char str1 [20], str2 [20];
fgets (str1,20, stdin); // leyendo una línea de string1
fgets (str2,20, stdin); // leyendo una línea si string2
char * p1 = str1; // asignando a fisrt char a un puntero si str1
char * p2 = str2; // asignando al primer carácter de str2 al puntero p2
printf ("% d", strcmp (str1, str2)); // función de comparación de cadenas usando ..
printf ("% c% c", * p1, * p2); // imprimiendo los primeros caracteres de las cadenas por puntero
return 0;
}
Esto es traducido por Google
Copiar pegado, si no funciona en el patio de juegos de código, utilice el siguiente código original
+ 1
Your program has Windows commands, not works in SoloLearn. Works only on Windows environments...
I posting a sample example of how to read strings into charecter array, and pointer use for those array, strcmp function..
Hope you can apply to your program..
#include <stdio.h>
#include<string.h>
int main() {
char str1[20],str2[20];
fgets(str1,20,stdin); //reading a line of string1
fgets(str2,20,stdin); //reading a line if string2
char *p1=str1; //assigning to fisrt char to a pointer if str1
char *p2=str2; //assigning to first char of str2 to pointer p2
printf("%d ", strcmp(str1,str2)); //string compare function using..
printf("%c %c", *p1,*p2); //printing first charecters of strings by pointer
return 0;
}
0
Declarar matriz de caracteres.
Utilice el método fgets (char_array, max_size, source) para leer la línea completa de cadena en char_array.
Use la función strcmp en aquellos que usan bloques in if para mostrar la información necesaria ...
Solo conozca fgets, strcmp, (matriz de caracteres del puntero que desee, luego también asigne memoria para el puntero)
0
Si tiene comando de Windows por el borde si no agregaba la esa librería me aparece múltiple errores en el programa y gracias ya tengo mas de como hacerlo.